11 #ifndef EIGEN_XPRHELPER_H
12 #define EIGEN_XPRHELPER_H
15 #include "../InternalHeaderCheck.h"
22 template <
typename IndexType>
24 const IndexType& idx) {
28 return static_cast<UnsignedType
>(idx);
31 template <typename IndexDest, typename IndexSrc, bool IndexDestIsInteger = NumTraits<IndexDest>::IsInteger,
38 return static_cast<IndexDest
>(idx);
41 template <
typename IndexDest,
typename IndexSrc>
47 "Index value is too big for target type");
48 return static_cast<IndexDest
>(idx);
51 template <
typename IndexDest,
typename IndexSrc>
57 "Index value is too big for target type");
58 return static_cast<IndexDest
>(idx);
62 template <
typename IndexDest,
typename IndexSrc>
74 template <
typename RowIndices,
typename ColIndices>
95 template <
typename ExprScalar,
typename T,
bool IsSupported>
98 template <
typename S,
typename T>
104 template <
typename ExprScalar,
typename T,
typename PromotedType,
110 template <
typename S,
typename T>
114 template <
typename S,
typename T,
typename PromotedType>
121 template <
typename ExprScalar,
typename T,
typename PromotedType>
126 template <
typename S,
typename T,
typename PromotedType,
bool ConvertibleToLiteral>
130 template <
typename S,
typename T>
144 template <
typename I1,
typename I2>
146 typedef std::conditional_t<(
sizeof(I1) <
sizeof(I2)), I2, I1>
type;
153 template <
typename T,
int Value>
169 template <
typename T>
182 template <
typename T,
int Value>
193 template <
typename T>
204 template <
typename T>
210 template <
typename Xpr>
215 template <
typename Scalar,
int Rows,
int Cols,
int Options,
int MaxRows,
int MaxCols>
220 template <
typename Scalar,
int Rows,
int Cols,
int Options,
int MaxRows,
int MaxCols>
226 template <
typename PlainObjectType,
int MapOptions,
typename Str
ideType>
229 template <
typename Func,
typename Xpr>
236 template <
typename Func,
typename Xpr>
243 template <
typename Func,
typename LhsXpr,
typename RhsXpr>
252 template <
typename Func,
typename LhsXpr,
typename M
idXpr,
typename RhsXpr>
262 template <
typename Xpr>
267 template <
typename T>
270 template <
typename T>
278 template <
int Size,
typename PacketType>
283 template <
int Size,
typename PacketType>
288 template <
typename T,
int Size>
297 template <
int Size,
typename PacketType>
301 template <
int Size,
typename PacketType>
306 template <
typename T,
int Size>
311 template <
typename T>
317 #if EIGEN_MAX_STATIC_ALIGN_BYTES > 0
319 if ((ArrayBytes % AlignmentBytes) == 0) {
320 return AlignmentBytes;
337 template <
typename T,
int Size>
342 template <
typename T>
347 template <
typename Scalar_,
int Rows_,
int Cols_,
349 : (Cols_ == 1 && Rows_ != 1) ?
ColMajor
351 int MaxRows_ = Rows_,
int MaxCols_ = Cols_>
354 IsColVector = Cols_ == 1 && Rows_ != 1,
355 IsRowVector = Rows_ == 1 && Cols_ != 1,
374 if (
rows == 0 ||
cols == 0)
return 0;
379 template <
typename XprType>
388 template <typename T, typename StorageKind = typename traits<T>::StorageKind>
390 template <
typename T,
typename BaseClassType,
int Flags>
392 template <
typename T>
396 template <
typename T>
398 typedef typename T::PlainObject
type;
401 template <
typename T>
403 typedef typename T::PlainObject
type;
406 template <
typename T,
int Flags>
414 template <
typename T,
int Flags>
426 template <typename T, typename StorageKind = typename traits<T>::StorageKind>
429 template <
typename T>
442 template <
typename T>
447 template <
typename T>
453 template <
typename Scalar_,
int Rows_,
int Cols_,
int Options_,
int MaxRows_,
int MaxCols_>
458 template <
typename Scalar_,
int Rows_,
int Cols_,
int Options_,
int MaxRows_,
int MaxCols_>
464 template <typename T, typename StorageKind = typename traits<T>::StorageKind>
467 template <
typename T>
474 template <
typename T>
489 template <
typename T>
505 template <
typename T>
513 template <
typename T1,
typename T2>
552 template <
typename T>
554 return const_cast<T*
>(ptr);
557 template <typename Derived, typename XprKind = typename traits<Derived>::XprKind>
563 template <
typename Derived>
568 template <
typename Derived>
573 template <typename Derived, typename XprKind = typename traits<Derived>::XprKind,
577 template <
typename Derived,
typename XprKind>
582 template <
typename XprType,
typename CastType>
590 template <
typename A,
typename B>
593 template <
typename A>
597 template <
typename A>
601 template <
typename A>
619 template <
typename A,
typename B,
typename Functor>
622 template <
typename A,
typename Functor>
626 template <
typename Functor>
630 template <
typename A,
typename Functor>
634 template <
typename B,
typename Functor>
638 template <
typename Functor>
642 template <
typename Functor>
647 template <
typename LhsKind,
typename RhsKind,
int LhsOrder,
int RhsOrder>
652 template <
typename LhsKind,
int LhsOrder,
int RhsOrder>
656 template <
typename RhsKind,
int LhsOrder,
int RhsOrder>
679 template <
typename A,
typename B,
int ProductTag>
682 template <
typename A,
int ProductTag>
686 template <
int ProductTag>
690 template <
typename A,
int ProductTag>
694 template <
typename B,
int ProductTag>
699 template <
typename A,
int ProductTag>
703 template <
typename B,
int ProductTag>
707 template <
int ProductTag>
711 template <
int ProductTag>
716 template <
typename A,
int ProductTag>
720 template <
typename B,
int ProductTag>
724 template <
int ProductTag>
728 template <
int ProductTag>
732 template <
int ProductTag>
737 template <
typename A,
int ProductTag>
741 template <
typename B,
int ProductTag>
745 template <
int ProductTag>
749 template <
int ProductTag>
757 template <
typename ExpressionType,
typename Scalar =
typename ExpressionType::Scalar>
759 typedef Matrix<
Scalar, 1, ExpressionType::ColsAtCompileTime,
760 int(ExpressionType::PlainObject::Options) |
int(
RowMajor), 1, ExpressionType::MaxColsAtCompileTime>
763 1, ExpressionType::MaxColsAtCompileTime>
771 template <
typename ExpressionType,
typename Scalar =
typename ExpressionType::Scalar>
773 typedef Matrix<
Scalar, ExpressionType::RowsAtCompileTime, 1, ExpressionType::PlainObject::Options & ~
RowMajor,
774 ExpressionType::MaxRowsAtCompileTime, 1>
776 typedef Array<
Scalar, ExpressionType::RowsAtCompileTime, 1, ExpressionType::PlainObject::Options & ~
RowMajor,
777 ExpressionType::MaxRowsAtCompileTime, 1>
785 template <
typename ExpressionType,
typename Scalar =
typename ExpressionType::Scalar>
800 template <
typename Expr,
typename Scalar =
typename Expr::Scalar>
818 template <
typename ExpressionType>
823 template <
typename T>
828 template <
typename T>
833 template <
typename T>
838 template <
typename T,
int S>
843 template <
typename T>
848 template <
typename T>
853 template <
typename S1,
typename S2>
860 template <
typename T1,
typename T2>
868 template <
typename T1,
typename T2>
871 return (
mat1.data() == mat2.data()) && (
mat1.innerStride() == mat2.innerStride()) &&
872 (
mat1.outerStride() == mat2.outerStride());
875 template <
typename T1,
typename T2>
882 template <
typename T,
bool Vectorized = false,
typename EnableIf =
void>
887 template <
typename T,
bool Vectorized>
892 template <
bool Vectorized>
893 struct scalar_div_cost<signed long, Vectorized, std::conditional_t<sizeof(long) == 8, void, false_type>> {
896 template <
bool Vectorized>
901 #ifdef EIGEN_DEBUG_ASSIGN
930 template <
typename XprType>
933 template <
typename XprType,
int BlockRows,
int BlockCols,
bool InnerPanel>
936 template <
typename XprType,
int BlockRows,
int BlockCols,
bool InnerPanel>
940 template <
typename XprType>
958 template <
typename XprType,
int BlockRows,
int BlockCols,
bool InnerPanel>
967 static constexpr
bool is_inner_panel(
bool inner_panel) {
return InnerPanel && inner_panel; }
972 return NestedXprHelper::base(xpr.nestedExpression());
975 return NestedXprHelper::base(xpr.nestedExpression());
985 template <
typename XprType,
int BlockRows,
int BlockCols,
bool InnerPanel>
989 template <
typename XprType>
990 struct is_matrix_base_xpr : std::is_base_of<MatrixBase<remove_all_t<XprType>>, remove_all_t<XprType>> {};
992 template <
typename XprType>
1037 template <
typename ScalarA,
typename ScalarB,
typename BinaryOp =
internal::scalar_product_op<ScalarA, ScalarB>>
1039 #ifndef EIGEN_PARSED_BY_DOXYGEN
1046 template <
typename T,
typename BinaryOp>
1051 template <
typename T,
typename BinaryOp>
1055 template <
typename T,
typename BinaryOp>
1061 template <
typename T,
typename BinaryOp>
1067 template <
typename T,
typename BinaryOp>
1073 template <
typename BinaryOp>
1082 #define EIGEN_CHECK_BINARY_COMPATIBILIY(BINOP, LHS, RHS) \
1083 EIGEN_STATIC_ASSERT( \
1084 (Eigen::internal::has_ReturnType<ScalarBinaryOpTraits<LHS, RHS, BINOP>>::value), \
1085 YOU_MIXED_DIFFERENT_NUMERIC_TYPES__YOU_NEED_TO_USE_THE_CAST_METHOD_OF_MATRIXBASE_TO_CAST_NUMERIC_TYPES_EXPLICITLY)
Array< int, Dynamic, 1 > v
Definition: Array_initializer_list_vector_cxx11.cpp:1
const unsigned n
Definition: CG3DPackingUnitTest.cpp:11
Eigen::Triplet< double > T
Definition: EigenUnitTest.cpp:11
#define EIGEN_DEFAULT_COPY_CONSTRUCTOR(CLASS)
Macro to explicitly define the default copy constructor. This is necessary, because the implicit defi...
Definition: Macros.h:1119
#define EIGEN_ALWAYS_INLINE
Definition: Macros.h:845
#define eigen_internal_assert(x)
Definition: Macros.h:916
#define EIGEN_DEFAULT_EMPTY_CONSTRUCTOR_AND_DESTRUCTOR(Derived)
Macro to manually define default constructors and destructors. This is necessary when the copy constr...
Definition: Macros.h:1137
#define EIGEN_CONSTEXPR
Definition: Macros.h:758
#define EIGEN_UNUSED_VARIABLE(var)
Definition: Macros.h:966
#define EIGEN_DEVICE_FUNC
Definition: Macros.h:892
#define EIGEN_ONLY_USED_FOR_DEBUG(x)
Definition: Macros.h:922
#define EIGEN_DEFAULT_MATRIX_STORAGE_ORDER_OPTION
Definition: Macros.h:31
#define eigen_assert(x)
Definition: Macros.h:910
#define EIGEN_NO_THROW
Definition: Macros.h:1269
#define EIGEN_STRONG_INLINE
Definition: Macros.h:834
cout<< "Here is the matrix m:"<< endl<< m<< endl;Matrix< ptrdiff_t, 3, 1 > res
Definition: PartialRedux_count.cpp:3
#define EIGEN_STATIC_ASSERT(X, MSG)
Definition: StaticAssert.h:26
MatrixXd mat1(size, size)
int rows
Definition: Tutorial_commainit_02.cpp:1
int cols
Definition: Tutorial_commainit_02.cpp:1
SCALAR Scalar
Definition: bench_gemm.cpp:45
boost::multiprecision::number< boost::multiprecision::cpp_dec_float< 100 >, boost::multiprecision::et_on > Real
Definition: boostmultiprec.cpp:77
Base class for all 1D and 2D array, and related expressions.
Definition: ArrayBase.h:44
General-purpose arrays with easy API for coefficient-wise operations.
Definition: Array.h:48
Expression of a fixed-size or dynamic-size block.
Definition: Block.h:110
Generic expression where a coefficient-wise binary operator is applied to two expressions.
Definition: CwiseBinaryOp.h:79
Generic expression of a matrix where all coefficients are defined by a functor.
Definition: CwiseNullaryOp.h:64
Generic expression where a coefficient-wise ternary operator is applied to two expressions.
Definition: CwiseTernaryOp.h:86
Generic expression where a coefficient-wise unary operator is applied to an expression.
Definition: CwiseUnaryOp.h:53
Base class for diagonal matrices and expressions.
Definition: DiagonalMatrix.h:33
Represents a diagonal matrix with its storage.
Definition: DiagonalMatrix.h:172
Expression of a diagonal matrix.
Definition: DiagonalMatrix.h:320
A matrix or vector expression mapping an existing array of data.
Definition: Map.h:96
Base class for all dense matrices, vectors, and expressions.
Definition: MatrixBase.h:52
The matrix class, also used for vectors and row-vectors.
Definition: Eigen/Eigen/src/Core/Matrix.h:186
Definition: XprHelper.h:352
Matrix< Scalar_, Rows_, Cols_, Options, MaxRows_, MaxCols_ > type
Definition: XprHelper.h:362
Definition: XprHelper.h:134
no_assignment_operator & operator=(const no_assignment_operator &)
T m_value
Definition: XprHelper.h:171
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE void setValue(T value)
Definition: XprHelper.h:177
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE T value() const
Definition: XprHelper.h:175
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE variable_if_dynamic(T value=0) EIGEN_NO_THROW
Definition: XprHelper.h:174
Definition: XprHelper.h:154
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE void setValue(T v) const
Definition: XprHelper.h:163
static EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE EIGEN_CONSTEXPR T value()
Definition: XprHelper.h:161
EIGEN_DEVICE_FUNC variable_if_dynamicindex()
Definition: XprHelper.h:196
EIGEN_DEVICE_FUNC T EIGEN_STRONG_INLINE value() const
Definition: XprHelper.h:200
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE void setValue(T value)
Definition: XprHelper.h:201
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE variable_if_dynamicindex(T value)
Definition: XprHelper.h:199
T m_value
Definition: XprHelper.h:195
Definition: XprHelper.h:183
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE void setValue(T)
Definition: XprHelper.h:190
static EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE EIGEN_CONSTEXPR T value()
Definition: XprHelper.h:189
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE variable_if_dynamicindex(T v)
Definition: XprHelper.h:185
Definition: matrices.h:74
static int f(const TensorMap< Tensor< int, 3 > > &tensor)
Definition: cxx11_tensor_map.cpp:237
@ InnerVectorizedTraversal
Definition: Constants.h:284
@ LinearVectorizedTraversal
Definition: Constants.h:287
@ DefaultTraversal
Definition: Constants.h:279
@ SliceVectorizedTraversal
Definition: Constants.h:290
@ LinearTraversal
Definition: Constants.h:281
@ ColMajor
Definition: Constants.h:318
@ RowMajor
Definition: Constants.h:320
@ AutoAlign
Definition: Constants.h:322
@ InnerUnrolling
Definition: Constants.h:303
@ CompleteUnrolling
Definition: Constants.h:306
@ NoUnrolling
Definition: Constants.h:301
const unsigned int PacketAccessBit
Definition: Constants.h:97
const unsigned int NoPreferredStorageOrderBit
Definition: Constants.h:182
const unsigned int LinearAccessBit
Definition: Constants.h:133
const unsigned int EvalBeforeNestingBit
Definition: Constants.h:74
const unsigned int DirectAccessBit
Definition: Constants.h:159
const unsigned int LvalueBit
Definition: Constants.h:148
const unsigned int RowMajorBit
Definition: Constants.h:70
Eigen::DenseIndex ret
Definition: level1_cplx_impl.h:43
constexpr int plain_enum_max(A a, B b)
Definition: Meta.h:656
EIGEN_DEVICE_FUNC T * const_cast_ptr(const T *ptr)
Definition: XprHelper.h:553
constexpr unsigned compute_matrix_flags(int Options)
Definition: XprHelper.h:365
constexpr int size_at_compile_time(int rows, int cols)
Definition: XprHelper.h:373
EIGEN_DEVICE_FUNC IndexDest convert_index(const IndexSrc &idx)
Definition: XprHelper.h:63
constexpr int min_size_prefer_fixed(A a, B b)
Definition: Meta.h:683
typename remove_all< T >::type remove_all_t
Definition: Meta.h:142
EIGEN_DEVICE_FUNC bool is_same_dense(const T1 &mat1, const T2 &mat2, std::enable_if_t< possibly_same_dense< T1, T2 >::value > *=0)
Definition: XprHelper.h:869
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE make_unsigned< IndexType >::type returnUnsignedIndexValue(const IndexType &idx)
Definition: XprHelper.h:23
typename add_const_on_value_type< T >::type add_const_on_value_type_t
Definition: Meta.h:274
constexpr int min_size_prefer_dynamic(A a, B b)
Definition: Meta.h:668
constexpr int compute_default_alignment_helper(int ArrayBytes, int AlignmentBytes)
Definition: XprHelper.h:330
Namespace containing all symbols from the Eigen library.
Definition: bench_norm.cpp:70
squared absolute value
Definition: GlobalFunctions.h:87
const unsigned int NestByRefBit
Definition: Constants.h:173
const int HugeCost
Definition: Constants.h:48
EIGEN_DEFAULT_DENSE_INDEX_TYPE Index
The Index type as used for the API.
Definition: Meta.h:83
const int DynamicIndex
Definition: Constants.h:30
const int Dynamic
Definition: Constants.h:25
Extend namespace for flags.
Definition: fsi_chan_precond_driver.cc:56
int c
Definition: calibrate.py:100
type
Definition: compute_granudrum_aor.py:141
Definition: Eigen_Colamd.h:49
std::string string(const unsigned &i)
Definition: oomph_definitions.cc:286
@ S
Definition: quadtree.h:62
t
Definition: plotPSD.py:36
GenericValue< UTF8<> > Value
Value with UTF8 encoding.
Definition: document.h:679
CwiseBinaryOp< internal::scalar_sum_op< double, double >, const CpyMatrixXd, const CpyMatrixXd > XprType
Definition: nestbyvalue.cpp:15
Definition: Constants.h:537
Definition: Constants.h:540
Definition: Constants.h:519
Definition: Constants.h:549
Definition: Constants.h:534
Holds information about the various numeric (i.e. scalar) types allowed by Eigen.
Definition: NumTraits.h:217
Definition: TensorMeta.h:47
Definition: Constants.h:528
T ReturnType
Definition: XprHelper.h:1048
T ReturnType
Definition: XprHelper.h:1053
T ReturnType
Definition: XprHelper.h:1063
T ReturnType
Definition: XprHelper.h:1057
T ReturnType
Definition: XprHelper.h:1069
void ReturnType
Definition: XprHelper.h:1075
Determines whether the given binary operation of two numeric types is allowed and what the scalar ret...
Definition: XprHelper.h:1043
Definition: Constants.h:552
Definition: Constants.h:522
Definition: Constants.h:558
static constexpr EIGEN_ALWAYS_INLINE Index col(const BlockXprType &xpr, Index c)
Definition: XprHelper.h:980
static constexpr EIGEN_ALWAYS_INLINE Index row(const BlockXprType &xpr, Index r)
Definition: XprHelper.h:977
typename NestedXprHelper::BaseType BaseType
Definition: XprHelper.h:963
static EIGEN_DEVICE_FUNC EIGEN_ALWAYS_INLINE BaseType & base(BlockXprType &xpr)
Definition: XprHelper.h:971
static EIGEN_DEVICE_FUNC EIGEN_ALWAYS_INLINE const BaseType & base(const BlockXprType &xpr)
Definition: XprHelper.h:974
static constexpr bool is_inner_panel(bool inner_panel)
Definition: XprHelper.h:967
Definition: XprHelper.h:941
static EIGEN_DEVICE_FUNC EIGEN_ALWAYS_INLINE const BaseType & base(const XprType &xpr)
Definition: XprHelper.h:953
static EIGEN_DEVICE_FUNC EIGEN_ALWAYS_INLINE BaseType & base(XprType &xpr)
Definition: XprHelper.h:950
static constexpr bool is_inner_panel(bool inner_panel)
Definition: XprHelper.h:946
static constexpr EIGEN_ALWAYS_INLINE Index col(const XprType &, Index c)
Definition: XprHelper.h:955
static constexpr EIGEN_ALWAYS_INLINE Index row(const XprType &, Index r)
Definition: XprHelper.h:954
Definition: XprHelper.h:583
XprType::Scalar CurrentScalarType
Definition: XprHelper.h:584
CastType_::Scalar NewScalarType
Definition: XprHelper.h:586
std::conditional_t< is_same< CurrentScalarType, NewScalarType >::value, const XprType &, CastType > type
Definition: XprHelper.h:587
remove_all_t< CastType > CastType_
Definition: XprHelper.h:585
Definition: XprHelper.h:338
@ value
Definition: XprHelper.h:339
static EIGEN_DEVICE_FUNC IndexDest run(const IndexSrc &idx)
Definition: XprHelper.h:55
static EIGEN_DEVICE_FUNC IndexDest run(const IndexSrc &idx)
Definition: XprHelper.h:45
Definition: XprHelper.h:35
static EIGEN_DEVICE_FUNC IndexDest run(const IndexSrc &idx)
Definition: XprHelper.h:36
ArrayBase< Derived > type
Definition: XprHelper.h:570
MatrixBase< Derived > type
Definition: XprHelper.h:565
Definition: XprHelper.h:558
const Array< Scalar_, Rows_, Cols_, Options_, MaxRows_, MaxCols_ > & type
Definition: XprHelper.h:460
const Matrix< Scalar_, Rows_, Cols_, Options_, MaxRows_, MaxCols_ > & type
Definition: XprHelper.h:455
plain_matrix_type< T >::type type
Definition: XprHelper.h:431
plain_matrix_type< T >::type type
Definition: XprHelper.h:444
plain_matrix_type< T >::type type
Definition: XprHelper.h:449
Definition: XprHelper.h:427
Definition: CoreEvaluators.h:104
Definition: XprHelper.h:284
find_best_packet_helper< Size, typename unpacket_traits< PacketType >::half >::type type
Definition: XprHelper.h:285
Definition: XprHelper.h:279
PacketType type
Definition: XprHelper.h:280
Definition: XprHelper.h:276
Definition: XprHelper.h:289
find_best_packet_helper< Size, typename packet_traits< T >::type >::type type
Definition: XprHelper.h:290
typename unpacket_traits< T >::type type
Definition: XprHelper.h:313
Definition: XprHelper.h:302
typename find_packet_by_size_helper< Size, typename unpacket_traits< PacketType >::half >::type type
Definition: XprHelper.h:303
Definition: XprHelper.h:298
Definition: XprHelper.h:296
Definition: XprHelper.h:307
static constexpr bool value
Definition: XprHelper.h:309
typename find_packet_by_size_helper< Size, typename packet_traits< T >::type >::type type
Definition: XprHelper.h:308
Definition: XprHelper.h:263
static constexpr Index Cost
Definition: XprHelper.h:264
Definition: XprHelper.h:205
@ PacketAccess
Definition: XprHelper.h:206
@ Cost
Definition: XprHelper.h:206
@ IsRepeatable
Definition: XprHelper.h:206
dense_xpr_base< Derived, XprKind >::type type
Definition: XprHelper.h:579
Definition: XprHelper.h:575
TriangularShape type
Definition: XprHelper.h:857
Definition: XprHelper.h:854
Definition: ForwardDeclarations.h:31
Definition: XprHelper.h:931
Definition: XprHelper.h:824
@ ret
Definition: XprHelper.h:825
Definition: XprHelper.h:844
@ value
Definition: XprHelper.h:845
Definition: XprHelper.h:819
@ value
Definition: XprHelper.h:820
Definition: XprHelper.h:990
Definition: XprHelper.h:993
Definition: XprHelper.h:69
@ value
Definition: XprHelper.h:70
Definition: XprHelper.h:533
@ CoeffReadCost
Definition: XprHelper.h:536
@ CostNoEval
Definition: XprHelper.h:545
@ NAsInteger
Definition: XprHelper.h:543
@ ScalarReadCost
Definition: XprHelper.h:535
@ Evaluate
Definition: XprHelper.h:546
@ CostEval
Definition: XprHelper.h:544
std::conditional_t< Evaluate, PlainObject, typename ref_selector< T >::type > type
Definition: XprHelper.h:549
remove_all_t< RhsXpr > RhsXprCleaned
Definition: XprHelper.h:246
remove_all_t< Func > FuncCleaned
Definition: XprHelper.h:247
remove_all_t< LhsXpr > LhsXprCleaned
Definition: XprHelper.h:245
remove_all_t< Func > FuncCleaned
Definition: XprHelper.h:239
remove_all_t< Xpr > XprCleaned
Definition: XprHelper.h:238
remove_all_t< Func > FuncCleaned
Definition: XprHelper.h:257
remove_all_t< MidXpr > MidXprCleaned
Definition: XprHelper.h:255
remove_all_t< RhsXpr > RhsXprCleaned
Definition: XprHelper.h:256
remove_all_t< LhsXpr > LhsXprCleaned
Definition: XprHelper.h:254
remove_all_t< Xpr > XprCleaned
Definition: XprHelper.h:231
remove_all_t< Func > FuncCleaned
Definition: XprHelper.h:232
Definition: XprHelper.h:211
static constexpr Index Cost
Definition: XprHelper.h:212
Definition: GenericPacketMath.h:108
Definition: XprHelper.h:772
std::conditional_t< is_same< typename traits< ExpressionType >::XprKind, MatrixXpr >::value, MatrixColType, ArrayColType > type
Definition: XprHelper.h:782
Array< Scalar, ExpressionType::RowsAtCompileTime, 1, ExpressionType::PlainObject::Options &~RowMajor, ExpressionType::MaxRowsAtCompileTime, 1 > ArrayColType
Definition: XprHelper.h:778
Matrix< Scalar, ExpressionType::RowsAtCompileTime, 1, ExpressionType::PlainObject::Options &~RowMajor, ExpressionType::MaxRowsAtCompileTime, 1 > MatrixColType
Definition: XprHelper.h:775
Definition: XprHelper.h:801
Array< Scalar, traits< Expr >::RowsAtCompileTime, traits< Expr >::ColsAtCompileTime, Options, traits< Expr >::MaxRowsAtCompileTime, traits< Expr >::MaxColsAtCompileTime > array_type
Definition: XprHelper.h:806
CwiseNullaryOp< scalar_constant_op< Scalar >, const std::conditional_t< is_same< typename traits< Expr >::XprKind, MatrixXpr >::value, matrix_type, array_type > > type
Definition: XprHelper.h:815
Matrix< Scalar, traits< Expr >::RowsAtCompileTime, traits< Expr >::ColsAtCompileTime, Options, traits< Expr >::MaxRowsAtCompileTime, traits< Expr >::MaxColsAtCompileTime > matrix_type
Definition: XprHelper.h:810
@ Options
Definition: XprHelper.h:802
Definition: XprHelper.h:786
std::conditional_t< is_same< typename traits< ExpressionType >::XprKind, MatrixXpr >::value, MatrixDiagType, ArrayDiagType > type
Definition: XprHelper.h:797
Matrix< Scalar, diag_size, 1, ExpressionType::PlainObject::Options &~RowMajor, max_diag_size, 1 > MatrixDiagType
Definition: XprHelper.h:792
Array< Scalar, diag_size, 1, ExpressionType::PlainObject::Options &~RowMajor, max_diag_size, 1 > ArrayDiagType
Definition: XprHelper.h:793
@ diag_size
Definition: XprHelper.h:788
@ max_diag_size
Definition: XprHelper.h:789
plain_matrix_type_dense< T, typename traits< T >::XprKind, traits< T >::Flags >::type type
Definition: XprHelper.h:394
T::PlainObject type
Definition: XprHelper.h:398
T::PlainObject type
Definition: XprHelper.h:403
Definition: XprHelper.h:475
@ Rows
Definition: XprHelper.h:477
@ MaxRows
Definition: XprHelper.h:479
@ MaxCols
Definition: XprHelper.h:480
@ Cols
Definition: XprHelper.h:478
Definition: XprHelper.h:391
Definition: XprHelper.h:490
@ MaxCols
Definition: XprHelper.h:495
@ MaxRows
Definition: XprHelper.h:494
@ Cols
Definition: XprHelper.h:493
@ Rows
Definition: XprHelper.h:492
Definition: XprHelper.h:389
plain_matrix_type_dense< T, typename traits< T >::XprKind, evaluator< T >::Flags >::type type
Definition: XprHelper.h:469
Definition: XprHelper.h:465
Definition: XprHelper.h:758
std::conditional_t< is_same< typename traits< ExpressionType >::XprKind, MatrixXpr >::value, MatrixRowType, ArrayRowType > type
Definition: XprHelper.h:768
Matrix< Scalar, 1, ExpressionType::ColsAtCompileTime, int(ExpressionType::PlainObject::Options)|int(RowMajor), 1, ExpressionType::MaxColsAtCompileTime > MatrixRowType
Definition: XprHelper.h:761
Array< Scalar, 1, ExpressionType::ColsAtCompileTime, int(ExpressionType::PlainObject::Options)|int(RowMajor), 1, ExpressionType::MaxColsAtCompileTime > ArrayRowType
Definition: XprHelper.h:764
Definition: XprHelper.h:861
@ value
Definition: XprHelper.h:863
Definition: XprHelper.h:506
std::conditional_t< bool(traits< T >::Flags &NestByRefBit), T const &, const T > type
Definition: XprHelper.h:507
std::conditional_t< bool(traits< T >::Flags &NestByRefBit), T &, T > non_const_type
Definition: XprHelper.h:509
Definition: NullaryFunctors.h:21
Definition: XprHelper.h:883
@ value
Definition: XprHelper.h:884
Definition: NullaryFunctors.h:52
Definition: XprHelper.h:380
Definition: ForwardDeclarations.h:21
Definition: XprHelper.h:514
std::conditional_t< bool(internal::is_const< T1 >::value), add_const_on_value_type_t< T2 >, T2 > type
Definition: XprHelper.h:515
Definition: GenericPacketMath.h:134
Definition: XprHelper.h:75
@ value
Definition: XprHelper.h:77
Definition: NonLinearOptimization.cpp:97
Definition: datatypes.h:12
Definition: ZVector/PacketMath.h:50