42 #ifndef GEN_MATRIX_AS_TRI_SYM_H
43 #define GEN_MATRIX_AS_TRI_SYM_H
45 #include "DenseLinAlgPack_DMatrixClass.hpp"
47 namespace DenseLinAlgPack {
69 #ifdef LINALGPACK_CHECK_RHS_SIZES
70 assert_gms_square(gms);
112 DMatrixSliceTriEle nonconst_tri_ele(DMatrixSlice gms,
BLAS_Cpp::Uplo uplo)
114 return DMatrixSliceTriEle(gms, uplo);
119 const DMatrixSliceTriEle tri_ele(
const DMatrixSlice& gms,
BLAS_Cpp::Uplo uplo)
121 return DMatrixSliceTriEle(gms, uplo);
135 : gms_(const_cast<
DMatrixSlice&>(gms)), uplo_(uplo), diag_(diag)
137 #ifdef LINALGPACK_CHECK_RHS_SIZES
138 assert_gms_square(gms);
187 return DMatrixSliceTri(gms, uplo, diag);
194 return DMatrixSliceTri(gms, uplo, diag);
209 #ifdef LINALGPACK_CHECK_RHS_SIZES
210 assert_gms_square(gms);
246 DMatrixSliceSym& operator=(
const DMatrixSliceTri&);
251 DMatrixSliceSym nonconst_sym(DMatrixSlice gms,
BLAS_Cpp::Uplo uplo)
253 return DMatrixSliceSym(gms, uplo);
258 const DMatrixSliceSym sym(
const DMatrixSlice& gms,
BLAS_Cpp::Uplo uplo)
260 return DMatrixSliceSym(gms, uplo);
267 #endif // GEN_MATRIX_AS_TRI_SYM_H
DMatrixSliceTriEle(const DMatrixSlice &gms, BLAS_Cpp::Uplo uplo)
const DMatrixSlice & gms() const
BLAS_Cpp::Uplo uplo() const
size_type cols() const
Return the number of columns.
const DMatrixSlice & gms() const
BLAS_Cpp::Uplo uplo() const
DMatrixSliceTriEle * operator&()
Allow address to be taken of rvalue of this object.
const DMatrixSlice & gms() const
BLAS_Cpp::Uplo uplo() const
size_type rows() const
Return the number of rows.
DMatrixSliceSym(const DMatrixSlice &gms, BLAS_Cpp::Uplo uplo)
BLAS_Cpp::Diag diag() const
const DMatrixSliceTriEle * operator&() const
const DMatrixSliceTri * operator&() const
DMatrixSliceTri(const DMatrixSlice &gms, BLAS_Cpp::Uplo uplo, BLAS_Cpp::Diag diag)
DMatrixSliceTri * operator&()
Allow address to be taken of rvalue of this object.
DMatrixSliceSym * operator&()
Allow address to be taken of rvalue of this object.