#ifndef EIGEN_TRIANGULAR_SOLVER_MATRIX_H
#define EIGEN_TRIANGULAR_SOLVER_MATRIX_H
#include "../InternalHeaderCheck.h"
namespace Eigen {
namespace internal {
template <typename Scalar, typename Index, int Mode, bool Conjugate, int TriStorageOrder, int OtherInnerStride,
bool Specialized>
struct trsmKernelL { … };
template <typename Scalar, typename Index, int Mode, bool Conjugate, int TriStorageOrder, int OtherInnerStride,
bool Specialized>
struct trsmKernelR { … };
template <typename Scalar, typename Index, int Mode, bool Conjugate, int TriStorageOrder, int OtherInnerStride,
bool Specialized>
EIGEN_STRONG_INLINE void trsmKernelL<Scalar, Index, Mode, Conjugate, TriStorageOrder, OtherInnerStride,
Specialized>::kernel(Index size, Index otherSize, const Scalar* _tri,
Index triStride, Scalar* _other, Index otherIncr,
Index otherStride) { … }
template <typename Scalar, typename Index, int Mode, bool Conjugate, int TriStorageOrder, int OtherInnerStride,
bool Specialized>
EIGEN_STRONG_INLINE void trsmKernelR<Scalar, Index, Mode, Conjugate, TriStorageOrder, OtherInnerStride,
Specialized>::kernel(Index size, Index otherSize, const Scalar* _tri,
Index triStride, Scalar* _other, Index otherIncr,
Index otherStride) { … }
triangular_solve_matrix<Scalar, Index, Side, Mode, Conjugate, TriStorageOrder, RowMajor, OtherInnerStride>;
triangular_solve_matrix<Scalar, Index, OnTheLeft, Mode, Conjugate, TriStorageOrder, ColMajor, OtherInnerStride>;
template <typename Scalar, typename Index, int Mode, bool Conjugate, int TriStorageOrder, int OtherInnerStride>
EIGEN_DONT_INLINE void triangular_solve_matrix<Scalar, Index, OnTheLeft, Mode, Conjugate, TriStorageOrder, ColMajor,
OtherInnerStride>::run(Index size, Index otherSize, const Scalar* _tri,
Index triStride, Scalar* _other, Index otherIncr,
Index otherStride,
level3_blocking<Scalar, Scalar>& blocking) { … }
triangular_solve_matrix<Scalar, Index, OnTheRight, Mode, Conjugate, TriStorageOrder, ColMajor, OtherInnerStride>;
template <typename Scalar, typename Index, int Mode, bool Conjugate, int TriStorageOrder, int OtherInnerStride>
EIGEN_DONT_INLINE void triangular_solve_matrix<Scalar, Index, OnTheRight, Mode, Conjugate, TriStorageOrder, ColMajor,
OtherInnerStride>::run(Index size, Index otherSize, const Scalar* _tri,
Index triStride, Scalar* _other, Index otherIncr,
Index otherStride,
level3_blocking<Scalar, Scalar>& blocking) { … }
}
}
#endif