mirror of
https://gitlab.com/libeigen/eigen.git
synced 2026-04-10 11:34:33 +08:00
introduce ei_xxx_return_value and ei_xxx_impl for xxx in solve,kernel,impl
put them in a new internal 'misc' directory
This commit is contained in:
@@ -38,8 +38,10 @@ struct ei_traits<ReturnByValue<Derived> >
|
||||
// matrix.inverse().block(...)
|
||||
// because the Block ctor with direct access
|
||||
// wants to call coeffRef() to get an address, and that fails (infinite recursion) as ReturnByValue
|
||||
// doesnt implement coeffRef(). The better fix is probably rather to make Block work directly
|
||||
// on the nested type, right?
|
||||
// doesnt implement coeffRef().
|
||||
// The fact that I had to do that shows that when doing xpr.block() with a non-direct-access xpr,
|
||||
// even if xpr has the EvalBeforeNestingBit, the block() doesn't use direct access on the evaluated
|
||||
// xpr.
|
||||
Flags = (ei_traits<typename ei_traits<Derived>::ReturnMatrixType>::Flags
|
||||
| EvalBeforeNestingBit) & ~DirectAccessBit
|
||||
};
|
||||
|
||||
@@ -66,6 +66,13 @@ template<typename ExpressionType> class WithFormat;
|
||||
template<typename MatrixType> struct CommaInitializer;
|
||||
template<typename Derived> class ReturnByValue;
|
||||
|
||||
template<typename DecompositionType, typename Rhs> struct ei_solve_return_value;
|
||||
template<typename DecompositionType, typename Rhs, typename Dest> struct ei_solve_impl;
|
||||
template<typename DecompositionType> struct ei_kernel_return_value;
|
||||
template<typename DecompositionType, typename Dest> struct ei_kernel_impl;
|
||||
template<typename DecompositionType> struct ei_image_return_value;
|
||||
template<typename DecompositionType, typename Dest> struct ei_image_impl;
|
||||
|
||||
template<typename _Scalar, int Rows=Dynamic, int Cols=Dynamic, int Supers=Dynamic, int Subs=Dynamic, int Options=0> class BandMatrix;
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user