Go to the documentation of this file.
10 #ifndef EIGEN_PRODUCT_H
11 #define EIGEN_PRODUCT_H
15 template<
typename Lhs,
typename Rhs,
int Option,
typename StorageKind>
class ProductImpl;
19 template<
typename Lhs,
typename Rhs,
int Option>
31 typename RhsTraits::StorageKind,
37 RowsAtCompileTime = LhsTraits::RowsAtCompileTime,
38 ColsAtCompileTime = RhsTraits::ColsAtCompileTime,
39 MaxRowsAtCompileTime = LhsTraits::MaxRowsAtCompileTime,
40 MaxColsAtCompileTime = RhsTraits::MaxColsAtCompileTime,
46 Flags = (MaxRowsAtCompileTime==1 && MaxColsAtCompileTime!=1) ?
RowMajorBit
47 : (MaxColsAtCompileTime==1 && MaxRowsAtCompileTime!=1) ? 0
70 template<
typename _Lhs,
typename _Rhs,
int Option>
72 typename internal::product_promote_storage_type<typename internal::traits<_Lhs>::StorageKind,
73 typename internal::traits<_Rhs>::StorageKind,
74 internal::product_type<_Lhs,_Rhs>::ret>::ret>
96 &&
"invalid matrix product"
97 &&
"if you wanted a coeff-wise or a dot product use the respective explicit functions");
120 template<
typename Lhs,
typename Rhs,
int Option>
139 template<
typename Lhs,
typename Rhs,
int Option,
typename StorageKind>
140 class ProductImpl :
public internal::generic_xpr_base<Product<Lhs,Rhs,Option>, MatrixXpr, StorageKind>::type
146 template<
typename Lhs,
typename Rhs,
int Option>
158 IsOneByOne = (RowsAtCompileTime == 1 || RowsAtCompileTime ==
Dynamic) &&
159 (ColsAtCompileTime == 1 || ColsAtCompileTime ==
Dynamic),
186 #endif // EIGEN_PRODUCT_H
Product< Lhs, Rhs, Option > ProductXpr
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Index rows() const
promote_index_type< typename LhsTraits::StorageIndex, typename RhsTraits::StorageIndex >::type StorageIndex
internal::dense_product_base< Lhs, Rhs, Option > Base
ProductImpl< Lhs, Rhs, Option, typename internal::product_promote_storage_type< typename internal::traits< Lhs >::StorageKind, typename internal::traits< Rhs >::StorageKind, internal::product_type< Lhs, Rhs >::ret >::ret >::Base Base
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Scalar coeff(Index row, Index col) const
EIGEN_DEVICE_FUNC ColXpr col(Index i)
This is the const version of col().
const unsigned int RowMajorBit
#define EIGEN_DENSE_PUBLIC_INTERFACE(Derived)
Determines whether the given binary operation of two numeric types is allowed and what the scalar ret...
product_promote_storage_type< typename LhsTraits::StorageKind, typename RhsTraits::StorageKind, internal::product_type< Lhs, Rhs >::ret >::ret StorageKind
traits< RhsCleaned > RhsTraits
const EIGEN_DEVICE_FUNC RhsNestedCleaned & rhs() const
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Scalar coeff(Index i) const
Product< Lhs, Rhs, Option > Derived
internal::generic_xpr_base< Product< Lhs, Rhs, Option >, MatrixXpr, internal::product_promote_storage_type< internal::traits< Lhs >::StorageKind, internal::traits< Rhs >::StorageKind, internal::product_type< Lhs, Rhs >::ret >::ret >::type Base
#define EIGEN_GENERIC_PUBLIC_INTERFACE(Derived)
EIGEN_DEVICE_FUNC RowXpr row(Index i)
This is the const version of row(). */.
#define EIGEN_STRONG_INLINE
ScalarBinaryOpTraits< typename traits< LhsCleaned >::Scalar, typename traits< RhsCleaned >::Scalar >::ReturnType Scalar
Expression of the product of two arbitrary matrices or vectors.
internal::remove_all< LhsNested >::type LhsNestedCleaned
remove_all< Lhs >::type LhsCleaned
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Index cols() const
#define EIGEN_STATIC_ASSERT(CONDITION, MSG)
remove_all< Rhs >::type RhsCleaned
internal::dense_xpr_base< ProductXpr >::type Base
internal::remove_all< RhsNested >::type RhsNestedCleaned
const unsigned int NoPreferredStorageOrderBit
const EIGEN_DEVICE_FUNC LhsNestedCleaned & lhs() const
#define EIGEN_SIZE_MIN_PREFER_FIXED(a, b)
EIGEN_DEFAULT_DENSE_INDEX_TYPE Index
The Index type as used for the API.
traits< LhsCleaned > LhsTraits
control_box_rst
Author(s): Christoph Rösmann
autogenerated on Wed Mar 2 2022 00:06:04