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>
97 &&
"invalid matrix product"
98 &&
"if you wanted a coeff-wise or a dot product use the respective explicit functions");
125 template<
typename Lhs,
typename Rhs,
int Option>
144 template<
typename Lhs,
typename Rhs,
int Option,
typename StorageKind>
145 class ProductImpl :
public internal::generic_xpr_base<Product<Lhs,Rhs,Option>, MatrixXpr, StorageKind>
::type
151 template<
typename Lhs,
typename Rhs,
int Option>
163 IsOneByOne = (RowsAtCompileTime == 1 || RowsAtCompileTime ==
Dynamic) &&
164 (ColsAtCompileTime == 1 || ColsAtCompileTime ==
Dynamic),
191 #endif // EIGEN_PRODUCT_H
Product< Lhs, Rhs, Option > ProductXpr
#define EIGEN_DEVICE_FUNC
promote_index_type< typename LhsTraits::StorageIndex, typename RhsTraits::StorageIndex >::type StorageIndex
Namespace containing all symbols from the Eigen library.
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
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
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)
#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.
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE EIGEN_CONSTEXPR Index cols() const EIGEN_NOEXCEPT
EIGEN_DEVICE_FUNC const EIGEN_STRONG_INLINE LhsNestedCleaned & lhs() const
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE EIGEN_CONSTEXPR Index rows() const EIGEN_NOEXCEPT
remove_all< Lhs >::type LhsCleaned
#define EIGEN_STATIC_ASSERT(CONDITION, MSG)
remove_all< Rhs >::type RhsCleaned
EIGEN_DEVICE_FUNC const EIGEN_STRONG_INLINE RhsNestedCleaned & rhs() const
internal::dense_xpr_base< ProductXpr >::type Base
const unsigned int NoPreferredStorageOrderBit
#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
gtsam
Author(s):
autogenerated on Sat Nov 16 2024 04:03:41