STK++ 0.9.13
STK::hidden::ProductTraits< Lhs, Rhs, Arrays::square_, Arrays::square_ > Struct Template Reference

#include <STK_ProductDispatcher.h>

Public Types

enum  { structure_ = Arrays::square_ , sizeRows_ , sizeCols_ }
 
typedef hidden::Promote< typenameLhs::Type, typenameRhs::Type >::result_type Type
 
typedef RemoveConst< Type >::Type constTypeConst
 
typedef If< storage_==int(Arrays::dense_), CAllocator< Type, sizeRows_, sizeCols_, orient_ >, SArray2D< Type > >::Result Allocator
 

Detailed Description

template<typename Lhs, typename Rhs>
struct STK::hidden::ProductTraits< Lhs, Rhs, Arrays::square_, Arrays::square_ >

Definition at line 186 of file STK_ProductDispatcher.h.

Member Typedef Documentation

◆ Allocator

◆ Type

template<typename Lhs , typename Rhs >
typedef hidden::Promote<typenameLhs::Type,typenameRhs::Type>::result_type STK::hidden::ProductTraits< Lhs, Rhs, Arrays::square_, Arrays::square_ >::Type

Definition at line 206 of file STK_ProductDispatcher.h.

◆ TypeConst

Member Enumeration Documentation

◆ anonymous enum

Enumerator
structure_ 
sizeRows_ 
sizeCols_ 

Definition at line 188 of file STK_ProductDispatcher.h.

189 {
191 sizeRows_ = (int(Traits<Lhs>::sizeRows_) < int(Traits<Rhs>::sizeRows_))
192 ? int(Traits<Lhs>::sizeRows_) : int(Traits<Rhs>::sizeRows_),
193 sizeCols_ = (int(Traits<Lhs>::sizeCols_) < int(Traits<Rhs>::sizeCols_))
194 ? int(Traits<Lhs>::sizeCols_) : int(Traits<Rhs>::sizeCols_),
195 // use rhs orientation by default, otherwise orientation of the panel size
196 orient_ = ( Traits<Lhs>::sizeRows_ == UnknownSize || Traits<Rhs>::sizeCols_ == UnknownSize)
197 ? Traits<Rhs>::orient_
198 : int(Traits<Lhs>::sizeRows_) > int(Traits<Rhs>::sizeCols_)
199 ? int(Traits<Lhs>::orient_) : int(Traits<Rhs>::orient_),
200 storage_ = ( Traits<Lhs>::storage_ == int(Arrays::dense_)) || (Traits<Rhs>::storage_ == int(Arrays::dense_))
201 ? int(Arrays::dense_) : int(Arrays::sparse_)
202 , useForRows_ = Traits<Lhs>::sizeRows_ != UnknownSize ? Arrays::useLhsSize_ : Arrays::useRhsSize_
203 , useForCols_ = Traits<Rhs>::sizeCols_ != UnknownSize ? Arrays::useRhsSize_ : Arrays::useLhsSize_
204 };
@ sparse_
sparse matrix/vector/array/expression
@ dense_
dense matrix/vector/array/expression
@ square_
square matrix/array/expression
@ useLhsSize_
use lhs.rows() (resp. lhs.cols()) in order to get rows() (resp. cols())
@ useRhsSize_
use rhs.rows() (resp. rhs.cols()) in order to get rows() (resp. cols())
const int UnknownSize
This value means that an integer is not known at compile-time, and that instead the value is stored i...

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