12 #ifndef EIGEN_CWISE_TERNARY_OP_H
13 #define EIGEN_CWISE_TERNARY_OP_H
18 template <
typename TernaryOp,
typename Arg1,
typename Arg2,
typename Arg3>
35 const typename Arg1::Scalar&,
const typename Arg2::Scalar&,
51 template <
typename TernaryOp,
typename Arg1,
typename Arg2,
typename Arg3,
53 class CwiseTernaryOpImpl;
82 template <
typename TernaryOp,
typename Arg1Type,
typename Arg2Type,
85 TernaryOp, Arg1Type, Arg2Type, Arg3Type,
86 typename internal::traits<Arg1Type>::StorageKind>,
95 TernaryOp, Arg1Type, Arg2Type, Arg3Type,
109 const TernaryOp& func = TernaryOp())
119 STORAGE_KIND_MUST_MATCH)
123 STORAGE_KIND_MUST_MATCH)
125 eigen_assert(a1.rows() == a2.rows() && a1.cols() == a2.cols() &&
126 a1.rows() == a3.rows() && a1.cols() == a3.cols());
134 RowsAtCompileTime ==
Dynamic &&
139 RowsAtCompileTime ==
Dynamic &&
151 ColsAtCompileTime ==
Dynamic &&
156 ColsAtCompileTime ==
Dynamic &&
185 template <
typename TernaryOp,
typename Arg1,
typename Arg2,
typename Arg3,
186 typename StorageKind>
189 CwiseTernaryOp<TernaryOp, Arg1, Arg2, Arg3> >
::type {
#define EIGEN_GENERIC_PUBLIC_INTERFACE(Derived)
Definition: Macros.h:1264
#define EIGEN_DEVICE_FUNC
Definition: Macros.h:976
#define eigen_assert(x)
Definition: Macros.h:1037
#define EIGEN_STRONG_INLINE
Definition: Macros.h:917
#define EIGEN_STATIC_ASSERT_SAME_MATRIX_SIZE(TYPE0, TYPE1)
Definition: StaticAssert.h:192
#define EIGEN_STATIC_ASSERT(CONDITION, MSG)
Definition: StaticAssert.h:127
Definition: CwiseTernaryOp.h:189
internal::generic_xpr_base< CwiseTernaryOp< TernaryOp, Arg1, Arg2, Arg3 > >::type Base
Definition: CwiseTernaryOp.h:192
Generic expression where a coefficient-wise ternary operator is applied to two expressions.
Definition: CwiseTernaryOp.h:88
internal::remove_all< Arg3Type >::type Arg3
Definition: CwiseTernaryOp.h:92
EIGEN_DEVICE_FUNC const _Arg2Nested & arg2() const
Definition: CwiseTernaryOp.h:169
EIGEN_DEVICE_FUNC const _Arg1Nested & arg1() const
Definition: CwiseTernaryOp.h:166
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Index rows() const
Definition: CwiseTernaryOp.h:130
Arg1Nested m_arg1
Definition: CwiseTernaryOp.h:178
Arg2Nested m_arg2
Definition: CwiseTernaryOp.h:179
Arg3Nested m_arg3
Definition: CwiseTernaryOp.h:180
internal::remove_all< Arg2Type >::type Arg2
Definition: CwiseTernaryOp.h:91
internal::remove_all< Arg1Type >::type Arg1
Definition: CwiseTernaryOp.h:90
EIGEN_DEVICE_FUNC const _Arg3Nested & arg3() const
Definition: CwiseTernaryOp.h:172
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Index cols() const
Definition: CwiseTernaryOp.h:147
const TernaryOp m_functor
Definition: CwiseTernaryOp.h:181
internal::remove_reference< Arg2Nested >::type _Arg2Nested
Definition: CwiseTernaryOp.h:103
EIGEN_DEVICE_FUNC const TernaryOp & functor() const
Definition: CwiseTernaryOp.h:175
internal::remove_reference< Arg1Nested >::type _Arg1Nested
Definition: CwiseTernaryOp.h:102
internal::remove_reference< Arg3Nested >::type _Arg3Nested
Definition: CwiseTernaryOp.h:104
CwiseTernaryOpImpl< TernaryOp, Arg1Type, Arg2Type, Arg3Type, typename internal::traits< Arg1Type >::StorageKind >::Base Base
Definition: CwiseTernaryOp.h:96
Definition: XprHelper.h:110
const unsigned int RowMajorBit
Definition: Constants.h:66
Namespace containing all symbols from the Eigen library.
Definition: LDLT.h:16
EIGEN_DEFAULT_DENSE_INDEX_TYPE Index
The Index type as used for the API.
Definition: Meta.h:74
const int Dynamic
Definition: Constants.h:22
type
The type the bitset is encoded with.
Definition: bitset.hpp:44
Flags
Special flags for archives.
Definition: cereal.hpp:185
Definition: document.h:416
const GenericPointer< typename T::ValueType > T2 value
Definition: pointer.h:1282
Definition: XprHelper.h:501
T type
Definition: Meta.h:126
T type
Definition: Meta.h:114
internal::traits< Arg1 >::StorageKind StorageKind
Definition: CwiseTernaryOp.h:38
result_of< TernaryOp(const typename Arg1::Scalar &, const typename Arg2::Scalar &, const typename Arg3::Scalar &)>::type Scalar
Definition: CwiseTernaryOp.h:36
remove_reference< Arg1Nested >::type _Arg1Nested
Definition: CwiseTernaryOp.h:44
Arg3::Nested Arg3Nested
Definition: CwiseTernaryOp.h:43
internal::traits< Arg1 >::StorageIndex StorageIndex
Definition: CwiseTernaryOp.h:39
Arg2::Nested Arg2Nested
Definition: CwiseTernaryOp.h:42
remove_reference< Arg3Nested >::type _Arg3Nested
Definition: CwiseTernaryOp.h:46
Arg1::Nested Arg1Nested
Definition: CwiseTernaryOp.h:41
remove_reference< Arg2Nested >::type _Arg2Nested
Definition: CwiseTernaryOp.h:45
traits< Ancestor >::XprKind XprKind
Definition: CwiseTernaryOp.h:23
remove_all< Arg1 >::type Ancestor
Definition: CwiseTernaryOp.h:22
Definition: ForwardDeclarations.h:17
#define const
Definition: zconf.h:233