Prusa Slicer 2.6.0
Loading...
Searching...
No Matches
Eigen::Product< _Lhs, _Rhs, Option > Class Template Reference

Expression of the product of two arbitrary matrices or vectors. More...

#include <src/eigen/Eigen/src/Core/Product.h>

+ Inheritance diagram for Eigen::Product< _Lhs, _Rhs, Option >:
+ Collaboration diagram for Eigen::Product< _Lhs, _Rhs, Option >:

Public Types

typedef _Lhs Lhs
 
typedef _Rhs Rhs
 
typedef ProductImpl< Lhs, Rhs, Option, typenameinternal::product_promote_storage_type< typenameinternal::traits< Lhs >::StorageKind, typenameinternal::traits< Rhs >::StorageKind, internal::product_type< Lhs, Rhs >::ret >::ret >::Base Base
 
typedef internal::ref_selector< Lhs >::type LhsNested
 
typedef internal::ref_selector< Rhs >::type RhsNested
 
typedef internal::remove_all< LhsNested >::type LhsNestedCleaned
 
typedef internal::remove_all< RhsNested >::type RhsNestedCleaned
 

Public Member Functions

EIGEN_DEVICE_FUNC Product (const Lhs &lhs, const Rhs &rhs)
 
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Index rows () const
 
EIGEN_DEVICE_FUNC EIGEN_STRONG_INLINE Index cols () const
 
EIGEN_DEVICE_FUNC const LhsNestedCleanedlhs () const
 
EIGEN_DEVICE_FUNC const RhsNestedCleanedrhs () const
 

Protected Attributes

LhsNested m_lhs
 
RhsNested m_rhs
 

Detailed Description

template<typename _Lhs, typename _Rhs, int Option>
class Eigen::Product< _Lhs, _Rhs, Option >

Expression of the product of two arbitrary matrices or vectors.

Template Parameters
_Lhsthe type of the left-hand side expression
_Rhsthe type of the right-hand side expression

This class represents an expression of the product of two arbitrary matrices.

The other template parameters are:

Template Parameters
Optioncan be DefaultProduct, AliasFreeProduct, or LazyProduct

Member Typedef Documentation

◆ Base

template<typename _Lhs , typename _Rhs , int Option>
typedef ProductImpl<Lhs,Rhs,Option,typenameinternal::product_promote_storage_type<typenameinternal::traits<Lhs>::StorageKind,typenameinternal::traits<Rhs>::StorageKind,internal::product_type<Lhs,Rhs>::ret>::ret>::Base Eigen::Product< _Lhs, _Rhs, Option >::Base

◆ Lhs

template<typename _Lhs , typename _Rhs , int Option>
typedef _Lhs Eigen::Product< _Lhs, _Rhs, Option >::Lhs

◆ LhsNested

template<typename _Lhs , typename _Rhs , int Option>
typedef internal::ref_selector<Lhs>::type Eigen::Product< _Lhs, _Rhs, Option >::LhsNested

◆ LhsNestedCleaned

template<typename _Lhs , typename _Rhs , int Option>
typedef internal::remove_all<LhsNested>::type Eigen::Product< _Lhs, _Rhs, Option >::LhsNestedCleaned

◆ Rhs

template<typename _Lhs , typename _Rhs , int Option>
typedef _Rhs Eigen::Product< _Lhs, _Rhs, Option >::Rhs

◆ RhsNested

template<typename _Lhs , typename _Rhs , int Option>
typedef internal::ref_selector<Rhs>::type Eigen::Product< _Lhs, _Rhs, Option >::RhsNested

◆ RhsNestedCleaned

template<typename _Lhs , typename _Rhs , int Option>
typedef internal::remove_all<RhsNested>::type Eigen::Product< _Lhs, _Rhs, Option >::RhsNestedCleaned

Constructor & Destructor Documentation

◆ Product()

template<typename _Lhs , typename _Rhs , int Option>
EIGEN_DEVICE_FUNC Eigen::Product< _Lhs, _Rhs, Option >::Product ( const Lhs lhs,
const Rhs rhs 
)
inline
93 : m_lhs(lhs), m_rhs(rhs)
94 {
95 eigen_assert(lhs.cols() == rhs.rows()
96 && "invalid matrix product"
97 && "if you wanted a coeff-wise or a dot product use the respective explicit functions");
98 }
#define eigen_assert(x)
Definition Macros.h:579
EIGEN_DEVICE_FUNC const LhsNestedCleaned & lhs() const
Definition Product.h:103
RhsNested m_rhs
Definition Product.h:109
LhsNested m_lhs
Definition Product.h:108
EIGEN_DEVICE_FUNC const RhsNestedCleaned & rhs() const
Definition Product.h:104

References eigen_assert.

Member Function Documentation

◆ cols()

◆ lhs()

template<typename _Lhs , typename _Rhs , int Option>
EIGEN_DEVICE_FUNC const LhsNestedCleaned & Eigen::Product< _Lhs, _Rhs, Option >::lhs ( ) const
inline
103{ return m_lhs; }

Referenced by Eigen::internal::product_evaluator< Product< Lhs, Rhs, Options >, ProductTag, LhsShape, RhsShape >::product_evaluator(), Eigen::internal::product_evaluator< Product< Lhs, Rhs, AliasFreeProduct >, ProductTag, PermutationShape, SparseShape >::product_evaluator(), Eigen::internal::product_evaluator< Product< Lhs, Rhs, AliasFreeProduct >, ProductTag, SparseShape, PermutationShape >::product_evaluator(), Eigen::internal::product_evaluator< Product< Lhs, RhsView, DefaultProduct >, ProductTag, SparseShape, SparseSelfAdjointShape >::product_evaluator(), Eigen::internal::Assignment< DstXprType, Product< Lhs, Rhs, Options >, internal::add_assign_op< Scalar, Scalar >, Dense2Dense, typename enable_if<(Options==DefaultProduct||Options==AliasFreeProduct)>::type >::run(), Eigen::internal::Assignment< DstXprType, Product< Lhs, Rhs, AliasFreeProduct >, internal::add_assign_op< typename DstXprType::Scalar, typename Product< Lhs, Rhs, AliasFreeProduct >::Scalar >, Sparse2Dense >::run(), Eigen::internal::Assignment< DstXprType, Product< Lhs, Rhs, Options >, internal::assign_op< Scalar, Scalar >, Dense2Dense, typename enable_if<(Options==DefaultProduct||Options==AliasFreeProduct)>::type >::run(), Eigen::internal::Assignment< DstXprType, Product< Lhs, Rhs, AliasFreeProduct >, internal::assign_op< typename DstXprType::Scalar, typename Product< Lhs, Rhs, AliasFreeProduct >::Scalar >, Sparse2Dense >::run(), Eigen::internal::Assignment< DstXprType, Product< Lhs, Rhs, Options >, internal::sub_assign_op< Scalar, Scalar >, Dense2Dense, typename enable_if<(Options==DefaultProduct||Options==AliasFreeProduct)>::type >::run(), and Eigen::internal::Assignment< DstXprType, Product< Lhs, Rhs, AliasFreeProduct >, internal::sub_assign_op< typename DstXprType::Scalar, typename Product< Lhs, Rhs, AliasFreeProduct >::Scalar >, Sparse2Dense >::run().

+ Here is the caller graph for this function:

◆ rhs()

template<typename _Lhs , typename _Rhs , int Option>
EIGEN_DEVICE_FUNC const RhsNestedCleaned & Eigen::Product< _Lhs, _Rhs, Option >::rhs ( ) const
inline
104{ return m_rhs; }

Referenced by Eigen::internal::product_evaluator< Product< Lhs, Rhs, Options >, ProductTag, LhsShape, RhsShape >::product_evaluator(), Eigen::internal::product_evaluator< Product< Lhs, Rhs, AliasFreeProduct >, ProductTag, PermutationShape, SparseShape >::product_evaluator(), Eigen::internal::product_evaluator< Product< Lhs, Rhs, AliasFreeProduct >, ProductTag, SparseShape, PermutationShape >::product_evaluator(), Eigen::internal::product_evaluator< Product< LhsView, Rhs, DefaultProduct >, ProductTag, SparseSelfAdjointShape, SparseShape >::product_evaluator(), Eigen::internal::Assignment< DstXprType, Product< Lhs, Rhs, Options >, internal::add_assign_op< Scalar, Scalar >, Dense2Dense, typename enable_if<(Options==DefaultProduct||Options==AliasFreeProduct)>::type >::run(), Eigen::internal::Assignment< DstXprType, Product< Lhs, Rhs, AliasFreeProduct >, internal::add_assign_op< typename DstXprType::Scalar, typename Product< Lhs, Rhs, AliasFreeProduct >::Scalar >, Sparse2Dense >::run(), Eigen::internal::Assignment< DstXprType, Product< Lhs, Rhs, Options >, internal::assign_op< Scalar, Scalar >, Dense2Dense, typename enable_if<(Options==DefaultProduct||Options==AliasFreeProduct)>::type >::run(), Eigen::internal::Assignment< DstXprType, Product< Lhs, Rhs, AliasFreeProduct >, internal::assign_op< typename DstXprType::Scalar, typename Product< Lhs, Rhs, AliasFreeProduct >::Scalar >, Sparse2Dense >::run(), Eigen::internal::Assignment< DstXprType, Product< Lhs, Rhs, Options >, internal::sub_assign_op< Scalar, Scalar >, Dense2Dense, typename enable_if<(Options==DefaultProduct||Options==AliasFreeProduct)>::type >::run(), and Eigen::internal::Assignment< DstXprType, Product< Lhs, Rhs, AliasFreeProduct >, internal::sub_assign_op< typename DstXprType::Scalar, typename Product< Lhs, Rhs, AliasFreeProduct >::Scalar >, Sparse2Dense >::run().

+ Here is the caller graph for this function:

◆ rows()

Member Data Documentation

◆ m_lhs

template<typename _Lhs , typename _Rhs , int Option>
LhsNested Eigen::Product< _Lhs, _Rhs, Option >::m_lhs
protected

◆ m_rhs

template<typename _Lhs , typename _Rhs , int Option>
RhsNested Eigen::Product< _Lhs, _Rhs, Option >::m_rhs
protected

The documentation for this class was generated from the following file: