| // This file is part of Eigen, a lightweight C++ template library |
| // for linear algebra. |
| // |
| // This Source Code Form is subject to the terms of the Mozilla |
| // Public License v. 2.0. If a copy of the MPL was not distributed |
| // with this file, You can obtain one at http://mozilla.org/MPL/2.0/. |
| // SPDX-FileCopyrightText: The Eigen Authors |
| // SPDX-License-Identifier: MPL-2.0 |
| |
| #ifndef EIGEN_GPU_FWD_DECL_H |
| #define EIGEN_GPU_FWD_DECL_H |
| |
| // IWYU pragma: private |
| #include "./InternalHeaderCheck.h" |
| |
| namespace Eigen { |
| namespace gpu { |
| |
| class Context; |
| |
| enum class GpuOp; |
| |
| namespace internal { |
| class DeviceBuffer; |
| |
| /** \brief Describes GPU device expression types. |
| * |
| * Specializations report the expression's scalar type, its transpose op, and |
| * how to reach the underlying matrix and deferred scalar. They live in |
| * DeviceExpr.h; this declaration is what the query aliases in type_traits.h |
| * are written against. |
| */ |
| template <typename Expr> |
| struct device_expr_traits; |
| } // namespace internal |
| |
| template <typename Scalar_> |
| class DeviceMatrix; |
| template <typename Scalar_> |
| class DeviceScalar; |
| |
| template <typename Scalar_, int UpLo_> |
| class LLT; |
| template <typename Scalar_> |
| class LU; |
| template <typename Scalar_> |
| class QR; |
| |
| template <typename Scalar_> |
| class AdjointView; |
| template <typename Scalar_> |
| class TransposeView; |
| template <typename Scalar_> |
| class Assignment; |
| template <typename Lhs, typename Rhs> |
| class GemmExpr; |
| template <typename Inner> |
| class Scaled; |
| template <typename Scalar_> |
| class DeviceAddExpr; |
| template <typename Scalar_> |
| class DeviceScaledDevice; |
| |
| template <typename Scalar_, int UpLo_> |
| class LltSolveExpr; |
| template <typename Scalar_> |
| class LuSolveExpr; |
| template <typename Scalar_, int UpLo_> |
| class LLTView; |
| template <typename Scalar_> |
| class LUView; |
| |
| template <typename Scalar_, int UpLo_> |
| class TriangularView; |
| template <typename Scalar_, int UpLo_> |
| class SelfAdjointView; |
| template <typename Scalar_, int UpLo_> |
| class ConstSelfAdjointView; |
| template <typename Scalar_, int UpLo_> |
| class TrsmExpr; |
| template <typename Scalar_, int UpLo_> |
| class SymmExpr; |
| template <typename Scalar_, int UpLo_> |
| class SyrkExpr; |
| |
| template <typename Scalar_> |
| class SparseContext; |
| template <typename Scalar_> |
| class DeviceSparseView; |
| template <typename Scalar_> |
| class SpMVExpr; |
| |
| } // namespace gpu |
| } // namespace Eigen |
| |
| #endif // EIGEN_GPU_FWD_DECL_H |