10#ifndef EIGEN_CXX11_TENSOR_TENSOR_EXPR_H
11#define EIGEN_CXX11_TENSOR_TENSOR_EXPR_H
31template<
typename NullaryOp,
typename XprType>
36 typedef typename XprType::Scalar
Scalar;
39 static const int NumDimensions = XprTraits::NumDimensions;
40 static const int Layout = XprTraits::Layout;
51template<
typename NullaryOp,
typename XprType>
80template<
typename UnaryOp,
typename XprType>
90 static const int NumDimensions = XprTraits::NumDimensions;
91 static const int Layout = XprTraits::Layout;
93 typename XprTraits::PointerType
98template<
typename UnaryOp,
typename XprType>
104template<
typename UnaryOp,
typename XprType>
114template<
typename UnaryOp,
typename XprType>
145template<
typename BinaryOp,
typename LhsXprType,
typename RhsXprType>
153 BinaryOp(
typename LhsXprType::Scalar,
154 typename RhsXprType::Scalar)>::type
Scalar;
166 static const int NumDimensions = XprTraits::NumDimensions;
167 static const int Layout = XprTraits::Layout;
179template<
typename BinaryOp,
typename LhsXprType,
typename RhsXprType>
185template<
typename BinaryOp,
typename LhsXprType,
typename RhsXprType>
195template<
typename BinaryOp,
typename LhsXprType,
typename RhsXprType>
231template<
typename TernaryOp,
typename Arg1XprType,
typename Arg2XprType,
typename Arg3XprType>
237 typename Arg2XprType::Scalar,
238 typename Arg3XprType::Scalar)>::type
Scalar;
248 static const int NumDimensions = XprTraits::NumDimensions;
249 static const int Layout = XprTraits::Layout;
261template<
typename TernaryOp,
typename Arg1XprType,
typename Arg2XprType,
typename Arg3XprType>
267template<
typename TernaryOp,
typename Arg1XprType,
typename Arg2XprType,
typename Arg3XprType>
277template<
typename TernaryOp,
typename Arg1XprType,
typename Arg2XprType,
typename Arg3XprType>
316template<
typename IfXprType,
typename ThenXprType,
typename ElseXprType>
329 static const int NumDimensions = XprTraits::NumDimensions;
330 static const int Layout = XprTraits::Layout;
336template<
typename IfXprType,
typename ThenXprType,
typename ElseXprType>
342template<
typename IfXprType,
typename ThenXprType,
typename ElseXprType>
351template<
typename IfXprType,
typename ThenXprType,
typename ElseXprType>
365 const ThenXprType& a_then,
366 const ElseXprType& a_else)
#define EIGEN_DEVICE_FUNC
Definition Macros.h:976
#define EIGEN_STRONG_INLINE
Definition Macros.h:917
SCALAR Scalar
Definition bench_gemm.cpp:46
Generic expression where a coefficient-wise binary operator is applied to two expressions.
Definition CwiseBinaryOp.h:84
The tensor base class.
Definition TensorBase.h:973
Definition TensorExpr.h:197
Eigen::internal::traits< TensorCwiseBinaryOp >::Index Index
Definition TensorExpr.h:206
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE TensorCwiseBinaryOp(const LhsXprType &lhs, const RhsXprType &rhs, const BinaryOp &func=BinaryOp())
Definition TensorExpr.h:208
RhsXprType::Nested m_rhs_xpr
Definition TensorExpr.h:225
const BinaryOp m_functor
Definition TensorExpr.h:226
EIGEN_DEVICE_FUNC const BinaryOp & functor() const
Definition TensorExpr.h:212
EIGEN_DEVICE_FUNC const internal::remove_all< typenameLhsXprType::Nested >::type & lhsExpression() const
Definition TensorExpr.h:217
Scalar CoeffReturnType
Definition TensorExpr.h:203
EIGEN_DEVICE_FUNC const internal::remove_all< typenameRhsXprType::Nested >::type & rhsExpression() const
Definition TensorExpr.h:221
Eigen::internal::nested< TensorCwiseBinaryOp >::type Nested
Definition TensorExpr.h:204
Eigen::internal::traits< TensorCwiseBinaryOp >::Scalar Scalar
Definition TensorExpr.h:201
Eigen::internal::traits< TensorCwiseBinaryOp >::StorageKind StorageKind
Definition TensorExpr.h:205
LhsXprType::Nested m_lhs_xpr
Definition TensorExpr.h:224
Eigen::NumTraits< Scalar >::Real RealScalar
Definition TensorExpr.h:202
Definition TensorExpr.h:53
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE TensorCwiseNullaryOp(const XprType &xpr, const NullaryOp &func=NullaryOp())
Definition TensorExpr.h:62
TensorCwiseNullaryOp< NullaryOp, XprType > Nested
Definition TensorExpr.h:58
Eigen::internal::traits< TensorCwiseNullaryOp >::Scalar Scalar
Definition TensorExpr.h:55
Eigen::NumTraits< Scalar >::Real RealScalar
Definition TensorExpr.h:56
Eigen::internal::traits< TensorCwiseNullaryOp >::StorageKind StorageKind
Definition TensorExpr.h:59
XprType::CoeffReturnType CoeffReturnType
Definition TensorExpr.h:57
const NullaryOp m_functor
Definition TensorExpr.h:74
Eigen::internal::traits< TensorCwiseNullaryOp >::Index Index
Definition TensorExpr.h:60
XprType::Nested m_xpr
Definition TensorExpr.h:73
EIGEN_DEVICE_FUNC const internal::remove_all< typenameXprType::Nested >::type & nestedExpression() const
Definition TensorExpr.h:67
EIGEN_DEVICE_FUNC const NullaryOp & functor() const
Definition TensorExpr.h:70
Definition TensorExpr.h:279
Eigen::internal::traits< TensorCwiseTernaryOp >::StorageKind StorageKind
Definition TensorExpr.h:285
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE TensorCwiseTernaryOp(const Arg1XprType &arg1, const Arg2XprType &arg2, const Arg3XprType &arg3, const TernaryOp &func=TernaryOp())
Definition TensorExpr.h:288
Arg3XprType::Nested m_arg3_xpr
Definition TensorExpr.h:310
Scalar CoeffReturnType
Definition TensorExpr.h:283
EIGEN_DEVICE_FUNC const internal::remove_all< typenameArg3XprType::Nested >::type & arg3Expression() const
Definition TensorExpr.h:305
Eigen::NumTraits< Scalar >::Real RealScalar
Definition TensorExpr.h:282
EIGEN_DEVICE_FUNC const internal::remove_all< typenameArg1XprType::Nested >::type & arg1Expression() const
Definition TensorExpr.h:297
Arg2XprType::Nested m_arg2_xpr
Definition TensorExpr.h:309
Eigen::internal::traits< TensorCwiseTernaryOp >::Index Index
Definition TensorExpr.h:286
Eigen::internal::traits< TensorCwiseTernaryOp >::Scalar Scalar
Definition TensorExpr.h:281
EIGEN_DEVICE_FUNC const TernaryOp & functor() const
Definition TensorExpr.h:292
EIGEN_DEVICE_FUNC const internal::remove_all< typenameArg2XprType::Nested >::type & arg2Expression() const
Definition TensorExpr.h:301
const TernaryOp m_functor
Definition TensorExpr.h:311
Arg1XprType::Nested m_arg1_xpr
Definition TensorExpr.h:308
Eigen::internal::nested< TensorCwiseTernaryOp >::type Nested
Definition TensorExpr.h:284
Definition TensorExpr.h:116
Eigen::internal::traits< TensorCwiseUnaryOp >::StorageKind StorageKind
Definition TensorExpr.h:124
XprType::Nested m_xpr
Definition TensorExpr.h:139
const UnaryOp m_functor
Definition TensorExpr.h:140
EIGEN_DEVICE_FUNC const UnaryOp & functor() const
Definition TensorExpr.h:131
EIGEN_DEVICE_FUNC const internal::remove_all< typenameXprType::Nested >::type & nestedExpression() const
Definition TensorExpr.h:136
Eigen::internal::traits< TensorCwiseUnaryOp >::Scalar Scalar
Definition TensorExpr.h:120
Scalar CoeffReturnType
Definition TensorExpr.h:122
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE TensorCwiseUnaryOp(const XprType &xpr, const UnaryOp &func=UnaryOp())
Definition TensorExpr.h:127
Eigen::internal::traits< TensorCwiseUnaryOp >::Index Index
Definition TensorExpr.h:125
Eigen::internal::nested< TensorCwiseUnaryOp >::type Nested
Definition TensorExpr.h:123
Eigen::NumTraits< Scalar >::Real RealScalar
Definition TensorExpr.h:121
Definition TensorExpr.h:353
ThenXprType::Nested m_then
Definition TensorExpr.h:381
Eigen::internal::traits< TensorSelectOp >::Index Index
Definition TensorExpr.h:361
EIGEN_DEVICE_FUNC const IfXprType & ifExpression() const
Definition TensorExpr.h:371
Eigen::NumTraits< Scalar >::Real RealScalar
Definition TensorExpr.h:356
Eigen::internal::nested< TensorSelectOp >::type Nested
Definition TensorExpr.h:359
EIGEN_DEVICE_FUNC TensorSelectOp(const IfXprType &a_condition, const ThenXprType &a_then, const ElseXprType &a_else)
Definition TensorExpr.h:364
Eigen::internal::traits< TensorSelectOp >::StorageKind StorageKind
Definition TensorExpr.h:360
Eigen::internal::traits< TensorSelectOp >::Scalar Scalar
Definition TensorExpr.h:355
EIGEN_DEVICE_FUNC const ThenXprType & thenExpression() const
Definition TensorExpr.h:374
EIGEN_DEVICE_FUNC const ElseXprType & elseExpression() const
Definition TensorExpr.h:377
IfXprType::Nested m_condition
Definition TensorExpr.h:380
internal::promote_storage_type< typenameThenXprType::CoeffReturnType, typenameElseXprType::CoeffReturnType >::ret CoeffReturnType
Definition TensorExpr.h:358
ElseXprType::Nested m_else
Definition TensorExpr.h:382
Definition TensorRef.h:81
DenseIndex ret
Definition level1_cplx_impl.h:44
Namespace containing all symbols from the Eigen library.
Definition bench_norm.cpp:85
Definition BandTriangularSolver.h:13
Definition Constants.h:507
Definition TensorForwardDeclarations.h:46
const TensorCwiseBinaryOp< BinaryOp, LhsXprType, RhsXprType > & type
Definition TensorExpr.h:182
const TensorCwiseTernaryOp< TernaryOp, Arg1XprType, Arg2XprType, Arg3XprType > & type
Definition TensorExpr.h:264
const TensorCwiseUnaryOp< UnaryOp, XprType > & type
Definition TensorExpr.h:101
const TensorSelectOp< IfXprType, ThenXprType, ElseXprType > & type
Definition TensorExpr.h:339
Definition XprHelper.h:332
TensorCwiseBinaryOp< BinaryOp, LhsXprType, RhsXprType > type
Definition TensorExpr.h:188
TensorCwiseTernaryOp< TernaryOp, Arg1XprType, Arg2XprType, Arg3XprType > type
Definition TensorExpr.h:270
TensorCwiseUnaryOp< UnaryOp, XprType > type
Definition TensorExpr.h:107
TensorSelectOp< IfXprType, ThenXprType, ElseXprType > type
Definition TensorExpr.h:345
Definition TensorTraits.h:175
remove_reference< LhsNested >::type _LhsNested
Definition TensorExpr.h:164
RhsXprType::Nested RhsNested
Definition TensorExpr.h:163
TypeConversion< Scalar, typenameconditional< Pointer_type_promotion< typenameLhsXprType::Scalar, Scalar >::val, typenametraits< LhsXprType >::PointerType, typenametraits< RhsXprType >::PointerType >::type >::type PointerType
Definition TensorExpr.h:173
promote_storage_type< typenametraits< LhsXprType >::StorageKind, typenametraits< RhsXprType >::StorageKind >::ret StorageKind
Definition TensorExpr.h:158
traits< LhsXprType > XprTraits
Definition TensorExpr.h:155
remove_reference< RhsNested >::type _RhsNested
Definition TensorExpr.h:165
result_of< BinaryOp(typenameLhsXprType::Scalar, typenameRhsXprType::Scalar)>::type Scalar
Definition TensorExpr.h:154
promote_index_type< typenametraits< LhsXprType >::Index, typenametraits< RhsXprType >::Index >::type Index
Definition TensorExpr.h:161
LhsXprType::Nested LhsNested
Definition TensorExpr.h:162
XprType::Nested XprTypeNested
Definition TensorExpr.h:37
remove_reference< XprTypeNested >::type _XprTypeNested
Definition TensorExpr.h:38
XprTraits::PointerType PointerType
Definition TensorExpr.h:41
XprType::Scalar Scalar
Definition TensorExpr.h:36
traits< XprType > XprTraits
Definition TensorExpr.h:35
traits< Arg1XprType > XprTraits
Definition TensorExpr.h:239
TypeConversion< Scalar, typenameconditional< Pointer_type_promotion< typenameArg2XprType::Scalar, Scalar >::val, typenametraits< Arg2XprType >::PointerType, typenametraits< Arg3XprType >::PointerType >::type >::type PointerType
Definition TensorExpr.h:255
Arg2XprType::Nested Arg2Nested
Definition TensorExpr.h:243
Arg3XprType::Nested Arg3Nested
Definition TensorExpr.h:244
remove_reference< Arg1Nested >::type _Arg1Nested
Definition TensorExpr.h:245
result_of< TernaryOp(typenameArg1XprType::Scalar, typenameArg2XprType::Scalar, typenameArg3XprType::Scalar)>::type Scalar
Definition TensorExpr.h:238
traits< Arg1XprType >::StorageKind StorageKind
Definition TensorExpr.h:240
remove_reference< Arg2Nested >::type _Arg2Nested
Definition TensorExpr.h:246
remove_reference< Arg3Nested >::type _Arg3Nested
Definition TensorExpr.h:247
traits< Arg1XprType >::Index Index
Definition TensorExpr.h:241
Arg1XprType::Nested Arg1Nested
Definition TensorExpr.h:242
XprType::Nested XprTypeNested
Definition TensorExpr.h:88
TypeConversion< Scalar, typenameXprTraits::PointerType >::type PointerType
Definition TensorExpr.h:95
remove_reference< XprTypeNested >::type _XprTypeNested
Definition TensorExpr.h:89
result_of< UnaryOp(typenameXprType::Scalar)>::type Scalar
Definition TensorExpr.h:86
traits< XprType > XprTraits
Definition TensorExpr.h:87
conditional< Pointer_type_promotion< typenameThenXprType::Scalar, Scalar >::val, typenametraits< ThenXprType >::PointerType, typenametraits< ElseXprType >::PointerType >::type PointerType
Definition TensorExpr.h:333
traits< ThenXprType > XprTraits
Definition TensorExpr.h:321
traits< ThenXprType >::Scalar Scalar
Definition TensorExpr.h:320
promote_storage_type< typenametraits< ThenXprType >::StorageKind, typenametraits< ElseXprType >::StorageKind >::ret StorageKind
Definition TensorExpr.h:323
IfXprType::Nested IfNested
Definition TensorExpr.h:326
promote_index_type< typenametraits< ElseXprType >::Index, typenametraits< ThenXprType >::Index >::type Index
Definition TensorExpr.h:325
ThenXprType::Nested ThenNested
Definition TensorExpr.h:327
ElseXprType::Nested ElseNested
Definition TensorExpr.h:328
Definition ForwardDeclarations.h:17
Definition benchGeometry.cpp:23