11#ifndef EIGEN_CWISE_BINARY_OP_H
12#define EIGEN_CWISE_BINARY_OP_H
17template<
typename BinaryOp,
typename Lhs,
typename Rhs>
35 const typename Lhs::Scalar&,
36 const typename Rhs::Scalar&
54template<
typename BinaryOp,
typename Lhs,
typename Rhs,
typename StorageKind>
55class CwiseBinaryOpImpl;
76template<
typename BinaryOp,
typename LhsType,
typename RhsType>
79 BinaryOp, LhsType, RhsType,
80 typename internal::cwise_promote_storage_type<typename internal::traits<LhsType>::StorageKind,
81 typename internal::traits<RhsType>::StorageKind,
92 BinaryOp, LhsType, RhsType,
103#if EIGEN_COMP_MSVC && EIGEN_HAS_CXX11
116 eigen_assert(aLhs.rows() == aRhs.rows() && aLhs.cols() == aRhs.cols());
147template<
typename BinaryOp,
typename Lhs,
typename Rhs,
typename StorageKind>
159template<
typename Derived>
160template<
typename OtherDerived>
172template<
typename Derived>
173template<
typename OtherDerived>
#define EIGEN_GENERIC_PUBLIC_INTERFACE(Derived)
Just a side note.
Definition: Macros.h:1274
#define EIGEN_NOEXCEPT
Definition: Macros.h:1428
#define EIGEN_CONSTEXPR
Definition: Macros.h:797
#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_CHECK_BINARY_COMPATIBILIY(BINOP, LHS, RHS)
Definition: XprHelper.h:850
Generic expression where a coefficient-wise binary operator is applied to two expressions.
Definition: CwiseBinaryOp.h:84
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE EIGEN_CONSTEXPR Index cols() const EIGEN_NOEXCEPT
Definition: CwiseBinaryOp.h:125
internal::remove_all< RhsType >::type Rhs
Definition: CwiseBinaryOp.h:89
internal::remove_reference< LhsNested >::type _LhsNested
Definition: CwiseBinaryOp.h:100
const BinaryOp m_functor
Definition: CwiseBinaryOp.h:143
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE const _RhsNested & rhs() const
Definition: CwiseBinaryOp.h:135
LhsNested m_lhs
Definition: CwiseBinaryOp.h:141
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE CwiseBinaryOp(const Lhs &aLhs, const Rhs &aRhs, const BinaryOp &func=BinaryOp())
Definition: CwiseBinaryOp.h:110
internal::remove_all< LhsType >::type Lhs
Definition: CwiseBinaryOp.h:88
CwiseBinaryOpImpl< BinaryOp, LhsType, RhsType, typenameinternal::cwise_promote_storage_type< typenameinternal::traits< LhsType >::StorageKind, typenameinternal::traits< Rhs >::StorageKind, BinaryOp >::ret >::Base Base
Definition: CwiseBinaryOp.h:95
RhsNested m_rhs
Definition: CwiseBinaryOp.h:142
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE EIGEN_CONSTEXPR Index rows() const EIGEN_NOEXCEPT
Definition: CwiseBinaryOp.h:120
internal::remove_reference< RhsNested >::type _RhsNested
Definition: CwiseBinaryOp.h:101
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE const BinaryOp & functor() const
Definition: CwiseBinaryOp.h:138
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE const _LhsNested & lhs() const
Definition: CwiseBinaryOp.h:132
internal::remove_all< BinaryOp >::type Functor
Definition: CwiseBinaryOp.h:87
Definition: CwiseBinaryOp.h:150
internal::generic_xpr_base< CwiseBinaryOp< BinaryOp, Lhs, Rhs > >::type Base
Definition: CwiseBinaryOp.h:152
Base class for all dense matrices, vectors, and expressions.
Definition: MatrixBase.h:50
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Derived & operator-=(const MatrixBase< OtherDerived > &other)
replaces *this by *this - other.
Definition: CwiseBinaryOp.h:162
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Derived & operator+=(const MatrixBase< OtherDerived > &other)
replaces *this by *this + other.
Definition: CwiseBinaryOp.h:175
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
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE void call_assignment(Dst &dst, const Src &src)
Definition: AssignEvaluator.h:834
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: AssignmentFunctors.h:46
Definition: XprHelper.h:501
T type
Definition: Meta.h:126
T type
Definition: Meta.h:114
Definition: AssignmentFunctors.h:67
promote_index_type< typenametraits< Lhs >::StorageIndex, typenametraits< Rhs >::StorageIndex >::type StorageIndex
Definition: CwiseBinaryOp.h:43
Rhs::Nested RhsNested
Definition: CwiseBinaryOp.h:45
cwise_promote_storage_type< typenametraits< Lhs >::StorageKind, typenametraits< Rhs >::StorageKind, BinaryOp >::ret StorageKind
Definition: CwiseBinaryOp.h:41
remove_reference< RhsNested >::type _RhsNested
Definition: CwiseBinaryOp.h:47
Lhs::Nested LhsNested
Definition: CwiseBinaryOp.h:44
traits< Ancestor >::XprKind XprKind
Definition: CwiseBinaryOp.h:23
result_of< BinaryOp(consttypenameLhs::Scalar &, consttypenameRhs::Scalar &)>::type Scalar
Definition: CwiseBinaryOp.h:38
remove_reference< LhsNested >::type _LhsNested
Definition: CwiseBinaryOp.h:46
remove_all< Lhs >::type Ancestor
Definition: CwiseBinaryOp.h:22
Definition: ForwardDeclarations.h:17