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

#include <STK_ProductDispatcher.h>

Public Types

enum  { structure_ = Arrays::array2D_ , sizeRows_ = Traits<Lhs>::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::upper_triangular_, Arrays::square_ >

Definition at line 331 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::upper_triangular_, Arrays::square_ >::Type

Definition at line 349 of file STK_ProductDispatcher.h.

◆ TypeConst

Member Enumeration Documentation

◆ anonymous enum

Enumerator
structure_ 
sizeRows_ 
sizeCols_ 

Definition at line 333 of file STK_ProductDispatcher.h.

334 {
336 sizeRows_ = Traits<Lhs>::sizeRows_,
337 sizeCols_ = (int(Traits<Lhs>::sizeCols_) < int(Traits<Rhs>::sizeCols_))
338 ? int(Traits<Lhs>::sizeCols_) : int(Traits<Rhs>::sizeCols_),
339 // use rhs orientation by default, otherwise orientation of the panel size
340 orient_ = ( Traits<Lhs>::sizeRows_ == UnknownSize || Traits<Rhs>::sizeCols_ == UnknownSize)
341 ? Traits<Rhs>::orient_
342 : int(Traits<Lhs>::sizeRows_) > int(Traits<Rhs>::sizeCols_)
343 ? int(Traits<Lhs>::orient_) : int(Traits<Rhs>::orient_),
344 storage_ = ( Traits<Lhs>::storage_ == int(Arrays::dense_)) || (Traits<Rhs>::storage_ == int(Arrays::dense_))
345 ? int(Arrays::dense_) : int(Arrays::sparse_)
346 , useForRows_ = Arrays::useLhsSize_
347 , useForCols_ = Traits<Lhs>::sizeCols_ != UnknownSize ? Arrays::useLhsSize_ : Arrays::useRhsSize_
348 };
@ sparse_
sparse matrix/vector/array/expression
@ dense_
dense matrix/vector/array/expression
@ array2D_
general 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: