20 #ifndef SELDON_FILE_SHARE_MATRIXFLAG_INLINE_CXX
23 #include "MatrixFlag.hxx"
35 inline SeldonTranspose::SeldonTranspose(
int status)
39 cblas_status_ = CblasTrans;
40 else if (status_ == 1)
41 cblas_status_ = CblasNoTrans;
43 cblas_status_ = CblasConjTrans;
47 inline SeldonTranspose::SeldonTranspose(
const enum CBLAS_TRANSPOSE status):
50 if (cblas_status_ == CblasTrans)
52 else if (cblas_status_ == CblasNoTrans)
60 inline CBLAS_TRANSPOSE SeldonTranspose::Cblas()
const
66 inline char SeldonTranspose::Char()
const
70 else if (status_ == 1)
77 inline char SeldonTranspose::RevChar()
const
81 else if (status_ == 1)
88 inline bool SeldonTranspose::Trans()
const
90 return (status_ == 0);
94 inline bool SeldonTranspose::NoTrans()
const
96 return (status_ == 1);
100 inline bool SeldonTranspose::ConjTrans()
const
102 return (status_ == 2);
106 inline class_SeldonTrans::class_SeldonTrans(): SeldonTranspose(0)
111 inline class_SeldonNoTrans::class_SeldonNoTrans(): SeldonTranspose(1)
116 inline class_SeldonConjTrans::class_SeldonConjTrans(): SeldonTranspose(2)
126 inline SeldonDiag::SeldonDiag(
int status)
130 cblas_status_ = CblasNonUnit;
132 cblas_status_ = CblasUnit;
136 inline CBLAS_DIAG SeldonDiag::Cblas()
const
138 return cblas_status_;
142 inline char SeldonDiag::Char()
const
144 return (status_ == 0) ?
'N' :
'U';
148 inline bool SeldonDiag::NonUnit()
const
150 return (status_ == 0);
154 inline bool SeldonDiag::Unit()
const
156 return (status_ == 1);
160 inline class_SeldonNonUnit::class_SeldonNonUnit(): SeldonDiag(0)
165 inline class_SeldonUnit::class_SeldonUnit(): SeldonDiag(1)
175 inline SeldonUplo::SeldonUplo(
int status)
179 cblas_status_ = CblasUpper;
181 cblas_status_ = CblasLower;
185 inline CBLAS_UPLO SeldonUplo::Cblas()
const
187 return cblas_status_;
191 inline bool SeldonUplo::Upper()
const
193 return (status_ == 0);
197 inline bool SeldonUplo::Lower()
const
199 return (status_ == 1);
203 inline char SeldonUplo::Char()
const
205 return (status_ == 0) ?
'U' :
'L';
209 inline char SeldonUplo::RevChar()
const
211 return (status_ == 0) ?
'L' :
'U';
220 inline SeldonNorm::SeldonNorm(
int status)
226 inline char SeldonNorm::Char()
const
228 return (status_ == 0) ?
'I' :
'1';
232 inline char SeldonNorm::RevChar()
const
234 return (status_ == 0) ?
'1' :
'I';
243 inline SeldonConjugate::SeldonConjugate(
bool status)
249 inline bool SeldonConjugate::Conj()
const
260 inline SeldonSide::SeldonSide(
int status)
264 cblas_status_ = CblasLeft;
266 cblas_status_ = CblasRight;
270 inline SeldonSide::SeldonSide(
const enum CBLAS_SIDE status):
271 cblas_status_(status)
273 if (cblas_status_ == CblasLeft)
280 inline CBLAS_SIDE SeldonSide::Cblas()
const
282 return cblas_status_;
286 inline char SeldonSide::Char()
const
295 inline char SeldonSide::RevChar()
const
304 inline bool SeldonSide::Left()
const
306 return (status_ == 0);
310 inline bool SeldonSide::Right()
const
312 return (status_ == 1);
316 inline class_SeldonLeft::class_SeldonLeft(): SeldonSide(0)
321 inline class_SeldonRight::class_SeldonRight(): SeldonSide(1)
328 #define SELDON_FILE_SHARE_MATRIXFLAG_INLINE_CXX