12#ifndef EIGEN_CWISE_TERNARY_OP_H
13#define EIGEN_CWISE_TERNARY_OP_H
18template <
typename TernaryOp,
typename Arg1,
typename Arg2,
typename Arg3>
35 const typename Arg1::Scalar&,
const typename Arg2::Scalar&,
51template <
typename TernaryOp,
typename Arg1,
typename Arg2,
typename Arg3,
53class CwiseTernaryOpImpl;
82template <
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 &&
185template <
typename TernaryOp,
typename Arg1,
typename Arg2,
typename Arg3,
186 typename StorageKind>
189 CwiseTernaryOp<TernaryOp, Arg1, Arg2, Arg3> >
::type {
#define EIGEN_GENERIC_PUBLIC_INTERFACE(Derived)
Just a side note.
Definition: Macros.h:1274
#define EIGEN_DEVICE_FUNC
Definition: Macros.h:986
#define eigen_assert(x)
Definition: Macros.h:1047
#define EIGEN_STRONG_INLINE
Definition: Macros.h:927
#define EIGEN_STATIC_ASSERT_SAME_MATRIX_SIZE(TYPE0, TYPE1)
Definition: StaticAssert.h:192
#define EIGEN_STATIC_ASSERT(CONDITION, MSG)
Definition: StaticAssert.h:127
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 _Arg1Nested & arg1() const
Definition: CwiseTernaryOp.h:166
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Index rows() const
Definition: CwiseTernaryOp.h:130
EIGEN_DEVICE_FUNC const _Arg2Nested & arg2() const
Definition: CwiseTernaryOp.h:169
Arg1Nested m_arg1
Definition: CwiseTernaryOp.h:178
EIGEN_DEVICE_FUNC const _Arg3Nested & arg3() const
Definition: CwiseTernaryOp.h:172
Arg2Nested m_arg2
Definition: CwiseTernaryOp.h:179
CwiseTernaryOpImpl< TernaryOp, Arg1Type, Arg2Type, Arg3Type, typenameinternal::traits< Arg1Type >::StorageKind >::Base Base
Definition: CwiseTernaryOp.h:96
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 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
internal::remove_reference< Arg1Nested >::type _Arg1Nested
Definition: CwiseTernaryOp.h:102
internal::remove_reference< Arg3Nested >::type _Arg3Nested
Definition: CwiseTernaryOp.h:104
EIGEN_DEVICE_FUNC const TernaryOp & functor() const
Definition: CwiseTernaryOp.h:175
Definition: CwiseTernaryOp.h:189
internal::generic_xpr_base< CwiseTernaryOp< TernaryOp, Arg1, Arg2, Arg3 > >::type Base
Definition: CwiseTernaryOp.h:192
Definition: XprHelper.h:110
type
Definition: core.h:575
const unsigned int RowMajorBit
for a matrix, this means that the storage order is row-major.
Definition: Constants.h:66
Namespace containing all symbols from the Eigen library.
Definition: Core:141
EIGEN_DEFAULT_DENSE_INDEX_TYPE Index
The Index type as used for the API.
Definition: Meta.h:74
const int Dynamic
This value means that a positive quantity (e.g., a size) is not known at compile-time,...
Definition: Constants.h:22
Definition: Eigen_Colamd.h:50
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
remove_reference< Arg1Nested >::type _Arg1Nested
Definition: CwiseTernaryOp.h:44
result_of< TernaryOp(consttypenameArg1::Scalar &, consttypenameArg2::Scalar &, consttypenameArg3::Scalar &)>::type Scalar
Definition: CwiseTernaryOp.h:36
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