12 #ifndef EIGEN_CWISE_TERNARY_OP_H
13 #define EIGEN_CWISE_TERNARY_OP_H
21 template <
typename TernaryOp,
typename Arg1,
typename Arg2,
typename Arg3>
53 template <
typename TernaryOp,
typename Arg1,
typename Arg2,
typename Arg3,
typename StorageKind>
54 class CwiseTernaryOpImpl;
83 template <
typename TernaryOp,
typename Arg1Type,
typename Arg2Type,
typename Arg3Type>
85 typename internal::traits<Arg1Type>::StorageKind>,
99 STORAGE_KIND_MUST_MATCH)
102 STORAGE_KIND_MUST_MATCH)
116 const TernaryOp&
func = TernaryOp())
118 eigen_assert(a1.rows() == a2.rows() && a1.cols() == a2.cols() && a1.rows() == a3.rows() && a1.cols() == a3.cols());
163 template <
typename TernaryOp,
typename Arg1,
typename Arg2,
typename Arg3,
typename StorageKind>
#define EIGEN_GENERIC_PUBLIC_INTERFACE(Derived)
Definition: Macros.h:1149
#define EIGEN_DEVICE_FUNC
Definition: Macros.h:892
#define eigen_assert(x)
Definition: Macros.h:910
#define EIGEN_STRONG_INLINE
Definition: Macros.h:834
#define EIGEN_STATIC_ASSERT(X, MSG)
Definition: StaticAssert.h:26
#define EIGEN_STATIC_ASSERT_SAME_MATRIX_SIZE(TYPE0, TYPE1)
Definition: StaticAssert.h:79
SCALAR Scalar
Definition: bench_gemm.cpp:45
Definition: CwiseTernaryOp.h:164
internal::generic_xpr_base< CwiseTernaryOp< TernaryOp, Arg1Type, Arg2Type, Arg3Type > >::type Base
Definition: CwiseTernaryOp.h:166
Generic expression where a coefficient-wise ternary operator is applied to two expressions.
Definition: CwiseTernaryOp.h:86
internal::remove_all_t< Arg3Type > Arg3
Definition: CwiseTernaryOp.h:90
EIGEN_DEVICE_FUNC const Arg2Nested_ & arg2() const
Definition: CwiseTernaryOp.h:149
internal::remove_all_t< Arg2Type > Arg2
Definition: CwiseTernaryOp.h:89
EIGEN_DEVICE_FUNC const Arg3Nested_ & arg3() const
Definition: CwiseTernaryOp.h:151
internal::ref_selector< Arg3Type >::type Arg3Nested
Definition: CwiseTernaryOp.h:110
EIGEN_STATIC_ASSERT((internal::is_same< typename internal::traits< Arg1Type >::StorageKind, typename internal::traits< Arg2Type >::StorageKind >::value), STORAGE_KIND_MUST_MATCH) EIGEN_STATIC_ASSERT((internal typedef internal::ref_selector< Arg1Type >::type Arg1Nested
Definition: CwiseTernaryOp.h:97
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Index rows() const
Definition: CwiseTernaryOp.h:121
internal::remove_all_t< Arg1Type > Arg1
Definition: CwiseTernaryOp.h:88
Arg1Nested m_arg1
Definition: CwiseTernaryOp.h:156
Arg2Nested m_arg2
Definition: CwiseTernaryOp.h:157
std::remove_reference_t< Arg2Nested > Arg2Nested_
Definition: CwiseTernaryOp.h:112
std::remove_reference_t< Arg3Nested > Arg3Nested_
Definition: CwiseTernaryOp.h:113
std::remove_reference_t< Arg1Nested > Arg1Nested_
Definition: CwiseTernaryOp.h:111
Arg3Nested m_arg3
Definition: CwiseTernaryOp.h:158
internal::ref_selector< Arg2Type >::type Arg2Nested
Definition: CwiseTernaryOp.h:109
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Index cols() const
Definition: CwiseTernaryOp.h:133
const TernaryOp m_functor
Definition: CwiseTernaryOp.h:159
EIGEN_DEVICE_FUNC const TernaryOp & functor() const
Definition: CwiseTernaryOp.h:153
EIGEN_DEVICE_FUNC const Arg1Nested_ & arg1() const
Definition: CwiseTernaryOp.h:147
Definition: XprHelper.h:134
const unsigned int RowMajorBit
Definition: Constants.h:70
typename remove_all< T >::type remove_all_t
Definition: Meta.h:142
Namespace containing all symbols from the Eigen library.
Definition: bench_norm.cpp:70
squared absolute value
Definition: GlobalFunctions.h:87
EIGEN_DEFAULT_DENSE_INDEX_TYPE Index
The Index type as used for the API.
Definition: Meta.h:83
const int Dynamic
Definition: Constants.h:25
Extend namespace for flags.
Definition: fsi_chan_precond_driver.cc:56
type
Definition: compute_granudrum_aor.py:141
Definition: Eigen_Colamd.h:49
Definition: XprHelper.h:575
std::remove_reference_t< Arg1Nested > Arg1Nested_
Definition: CwiseTernaryOp.h:46
std::remove_reference_t< Arg3Nested > Arg3Nested_
Definition: CwiseTernaryOp.h:48
internal::traits< Arg1 >::StorageKind StorageKind
Definition: CwiseTernaryOp.h:40
remove_all_t< Arg1 > Ancestor
Definition: CwiseTernaryOp.h:25
Arg3::Nested Arg3Nested
Definition: CwiseTernaryOp.h:45
internal::traits< Arg1 >::StorageIndex StorageIndex
Definition: CwiseTernaryOp.h:41
result_of< TernaryOp(const typename Arg1::Scalar &, const typename Arg2::Scalar &, const typename Arg3::Scalar &)>::type Scalar
Definition: CwiseTernaryOp.h:38
Arg2::Nested Arg2Nested
Definition: CwiseTernaryOp.h:44
std::remove_reference_t< Arg2Nested > Arg2Nested_
Definition: CwiseTernaryOp.h:47
Arg1::Nested Arg1Nested
Definition: CwiseTernaryOp.h:43
traits< Ancestor >::XprKind XprKind
Definition: CwiseTernaryOp.h:26
Definition: ForwardDeclarations.h:21
Definition: benchGeometry.cpp:21