Lines 56-71
template<typename _MatrixType, unsigned
Link Here
|
56 |
typedef typename internal::traits<SelfAdjointView>::MatrixTypeNested MatrixTypeNested; |
56 |
typedef typename internal::traits<SelfAdjointView>::MatrixTypeNested MatrixTypeNested; |
57 |
typedef typename internal::traits<SelfAdjointView>::MatrixTypeNestedCleaned MatrixTypeNestedCleaned; |
57 |
typedef typename internal::traits<SelfAdjointView>::MatrixTypeNestedCleaned MatrixTypeNestedCleaned; |
58 |
typedef MatrixTypeNestedCleaned NestedExpression; |
58 |
typedef MatrixTypeNestedCleaned NestedExpression; |
59 |
|
59 |
|
60 |
/** \brief The type of coefficients in this matrix */ |
60 |
/** \brief The type of coefficients in this matrix */ |
61 |
typedef typename internal::traits<SelfAdjointView>::Scalar Scalar; |
61 |
typedef typename internal::traits<SelfAdjointView>::Scalar Scalar; |
62 |
typedef typename MatrixType::StorageIndex StorageIndex; |
62 |
typedef typename MatrixType::StorageIndex StorageIndex; |
63 |
typedef typename internal::remove_all<typename MatrixType::ConjugateReturnType>::type MatrixConjugateReturnType; |
63 |
typedef typename internal::remove_all<typename MatrixType::ConjugateReturnType>::type MatrixConjugateReturnType; |
|
|
64 |
typedef SelfAdjointView<typename internal::add_const<MatrixType>::type, UpLo> ConstSelfAdjointView; |
64 |
|
65 |
|
65 |
enum { |
66 |
enum { |
66 |
Mode = internal::traits<SelfAdjointView>::Mode, |
67 |
Mode = internal::traits<SelfAdjointView>::Mode, |
67 |
Flags = internal::traits<SelfAdjointView>::Flags, |
68 |
Flags = internal::traits<SelfAdjointView>::Flags, |
68 |
TransposeMode = ((Mode & Upper) ? Lower : 0) | ((Mode & Lower) ? Upper : 0) |
69 |
TransposeMode = ((Mode & Upper) ? Lower : 0) | ((Mode & Lower) ? Upper : 0) |
69 |
}; |
70 |
}; |
70 |
typedef typename MatrixType::PlainObject PlainObject; |
71 |
typedef typename MatrixType::PlainObject PlainObject; |
71 |
|
72 |
|
Lines 192-207
template<typename _MatrixType, unsigned
Link Here
|
192 |
} |
193 |
} |
193 |
|
194 |
|
194 |
typedef SelfAdjointView<const MatrixConjugateReturnType,UpLo> ConjugateReturnType; |
195 |
typedef SelfAdjointView<const MatrixConjugateReturnType,UpLo> ConjugateReturnType; |
195 |
/** \sa MatrixBase::conjugate() const */ |
196 |
/** \sa MatrixBase::conjugate() const */ |
196 |
EIGEN_DEVICE_FUNC |
197 |
EIGEN_DEVICE_FUNC |
197 |
inline const ConjugateReturnType conjugate() const |
198 |
inline const ConjugateReturnType conjugate() const |
198 |
{ return ConjugateReturnType(m_matrix.conjugate()); } |
199 |
{ return ConjugateReturnType(m_matrix.conjugate()); } |
199 |
|
200 |
|
|
|
201 |
/** \returns an expression of the complex conjugate of \c *this if Cond==true, |
202 |
* returns \c *this otherwise. |
203 |
*/ |
204 |
template<bool Cond> |
205 |
EIGEN_DEVICE_FUNC |
206 |
inline typename internal::conditional<Cond,ConjugateReturnType,ConstSelfAdjointView>::type |
207 |
conjugateIf() const |
208 |
{ |
209 |
typedef typename internal::conditional<Cond,ConjugateReturnType,ConstSelfAdjointView>::type ReturnType; |
210 |
return ReturnType(m_matrix.template conjugateIf<Cond>()); |
211 |
} |
212 |
|
200 |
typedef SelfAdjointView<const typename MatrixType::AdjointReturnType,TransposeMode> AdjointReturnType; |
213 |
typedef SelfAdjointView<const typename MatrixType::AdjointReturnType,TransposeMode> AdjointReturnType; |
201 |
/** \sa MatrixBase::adjoint() const */ |
214 |
/** \sa MatrixBase::adjoint() const */ |
202 |
EIGEN_DEVICE_FUNC |
215 |
EIGEN_DEVICE_FUNC |
203 |
inline const AdjointReturnType adjoint() const |
216 |
inline const AdjointReturnType adjoint() const |
204 |
{ return AdjointReturnType(m_matrix.adjoint()); } |
217 |
{ return AdjointReturnType(m_matrix.adjoint()); } |
205 |
|
218 |
|
206 |
typedef SelfAdjointView<typename MatrixType::TransposeReturnType,TransposeMode> TransposeReturnType; |
219 |
typedef SelfAdjointView<typename MatrixType::TransposeReturnType,TransposeMode> TransposeReturnType; |
207 |
/** \sa MatrixBase::transpose() */ |
220 |
/** \sa MatrixBase::transpose() */ |