Classes | |
class | AlignedStack |
An aligned stack. StackSize is in bytes. More... | |
struct | ASSIGN_ANALYSIS |
Defines types of assignment analysis. More... | |
class | CommaInitializer |
The CommaInitializer class. More... | |
class | out_of_bound_error |
The out_of_bound_error class. More... | |
class | compatibility_error |
The compatibility_error class. More... | |
class | mem_align_error |
The mem_align_error class. More... | |
struct | EmptyErrorChecker |
The EmptyErrorChecker class. More... | |
struct | DefaultErrorChecker |
The DefaultErrorChecker class. More... | |
struct | FullErrorChecker |
The FullErrorChecker class. More... | |
struct | ResultantChecker |
The ResultantChecker class. More... | |
struct | ExpMat |
The ExpMat class. More... | |
struct | ExpRow |
The ExpRow class. More... | |
struct | OperandTypeChooser |
struct | BinViewValueTypeChooser |
struct | GetBinExpTmpType |
struct | UnaExp |
The UnaExp class. More... | |
struct | BinExp |
The BinExp class. More... | |
struct | LinearBinExpSize |
The LinearExpSize class. More... | |
struct | LinBinExp |
The LinBinExp class. More... | |
struct | MulBinExpSize |
The MulBinExpSize class. More... | |
struct | MulBinExp |
The MulBinExp class. More... | |
class | AddExp |
The AddExp class. More... | |
class | SubExp |
The SubExp class. More... | |
class | MulExp |
The MulExp class. More... | |
class | ScalarMulExp |
The ScalarMulExp class. More... | |
class | ScalarDivExp |
The ScalarDivExp class. More... | |
struct | TmpListEntry |
The TmpListEntry class. More... | |
struct | GetTmp |
The GetTmp class. More... | |
class | ReleaseTmpAt |
The ReleaseTmpAt class. More... | |
struct | DynamicTmpList |
The DynamicTmpList class. More... | |
struct | TmpInstance |
The TmpInstance class. More... | |
struct | TmpAnalyserUnaNode |
The TmpAnalyserUnaNode class. More... | |
struct | TmpAnalyserBinNode |
The TmpAnalyserBinNode class. More... | |
struct | LeafeNode |
The LeafeNode class. More... | |
struct | ViewNode |
The ViewNode class. More... | |
class | stride_iterator |
class | mat_iterator |
class | const_mat_iterator |
Const version of mat_iterator. More... | |
class | mat_ctg_iterator |
class | const_mat_ctg_iterator |
struct | ConstErrChkedRow |
The ConstErrChkedRow class. More... | |
struct | ErrChkedRow |
The ErrChkedRow class. More... | |
class | Mat |
The Mat matrix class. More... | |
class | Vec |
The Vec vector class. More... | |
struct | Int2Type |
The Int2Type class. More... | |
struct | Type2Type |
The Type2Type class. More... | |
struct | EnableIf_c |
The enable_if class family. More... | |
class | IsDerivedFrom |
The IsDerivedFrom class. More... | |
struct | ISSAMETYPE |
The ISSAMETYPE class. More... | |
struct | EQUAL |
Implements the == operation for int. More... | |
struct | NOT_EQUAL |
Implements the != operation for int. More... | |
struct | GREATER |
Implements the > operation for int. More... | |
struct | GREATER_EQUAL |
Implements the >= operation for int. More... | |
struct | LESS |
Implements the < operation for int. More... | |
struct | LESS_EQUAL |
Implements the <= operation for int. More... | |
struct | AND_bool |
Implements the && operation for bool. More... | |
struct | OR_bool |
Implements the || operation for bool. More... | |
struct | XOR_bool |
Implements the ^ operation for bool. More... | |
class | IF |
The IF class. More... | |
struct | WHILE |
While loop. More... | |
class | DO |
Do - while loop. More... | |
struct | EWHILE |
While loop (exec). More... | |
struct | EWHILE1 |
While loop (exec). More... | |
class | MIN |
Static minimum of 2 int values. More... | |
class | MAX |
Static maximum of 2 int values. More... | |
struct | SQRT |
Square root of an int. More... | |
class | POW |
Raising a static variable m, to the power of a static number n. More... | |
class | IsPowOf2 |
struct | CompileTimeChecker |
The CompileTimeChecker class. More... | |
struct | CompileTimeChecker< false > |
The CompileTimeChecker<false> total specialization. More... | |
struct | Tag2UnaExp |
Expression tag to expression object. More... | |
struct | HasTagOf |
The class HasTagOf. More... | |
struct | NullTag |
NullTag. More... | |
struct | LinearMemTag |
LinearMemTag. More... | |
struct | DenseTag |
DenseTag. More... | |
struct | ScalarTag |
ScalarTag. More... | |
struct | SIMDTag |
SIMDTag. More... | |
struct | SSETag |
SSETag. More... | |
struct | SSE2Tag |
SSE2Tag. More... | |
struct | RowMajorTag |
RowMajorTag. More... | |
struct | ColMajorTag |
ColMajorTag. More... | |
struct | UnaExpTag |
UnaExpTag. More... | |
struct | BinExpTag |
BinExpTag. More... | |
struct | AddExpTag |
AddExpTag. More... | |
struct | SubExpTag |
SubExpTag. More... | |
struct | MulExpTag |
MulExpTag. More... | |
struct | ScalarMulExpTag |
ScalarMulExpTag. More... | |
struct | ScalarDivExpTag |
ScalarDivExpTag. More... | |
struct | ViewTag |
ViewTag. More... | |
struct | TransposeViewTag |
TransposeViewTag. More... | |
struct | DummyViewTag |
DummyViewTag. More... | |
struct | StaticSubVecViewTag |
StaticSubVecViewTag. More... | |
struct | DynSubVecViewTag |
DynSubVecViewTag. More... | |
struct | StaticSubMatViewTag |
StaticSubMatViewTag. More... | |
struct | DynSubMatViewTag |
DynSubMatViewTag. More... | |
struct | ReverseVecViewTag |
ReverseVecViewTag. More... | |
struct | ColViewTag |
ColViewTag. More... | |
struct | RowViewTag |
RowViewTag. More... | |
struct | StaticMinorViewTag |
StaticMinorViewTag. More... | |
struct | DynMinorViewTag |
DynMinorViewTag. More... | |
struct | CofactorsViewTag |
CofactorsViewTag. More... | |
struct | HMergeViewTag |
HMergeViewTag. More... | |
struct | TParamINT2 |
TParamInt2 store 2 integer. More... | |
struct | TParamINT4 |
TParamInt4 store 4 integer. More... | |
class | DummyView |
The DummyView class. More... | |
class | ConstDummyView |
The ConstDummyView class. More... | |
class | ReverseVecView |
The ReverseVecView class. More... | |
class | ConstReverseVecView |
The ConstReverseVecView class. More... | |
class | TransView |
The TransView class. More... | |
class | ConstTransView |
The ConstTransView class. More... | |
class | RowView |
The RowView class. More... | |
class | ConstRowView |
The ConstRowView class. More... | |
class | ColView |
The ColView class. More... | |
class | ConstColView |
The ConstColView class. More... | |
class | StaticSubVecView |
The StaticSubVecView class. More... | |
class | StaticConstSubVecView |
The StaticConstSubVecView class. More... | |
class | DynSubVecView |
The DynSubVecView class. More... | |
class | DynConstSubVecView |
The DynSubVecView class. More... | |
class | StaticSubMatView |
The StaticSubMatView class. More... | |
class | StaticConstSubMatView |
The StaticConstSubMatView class. More... | |
class | DynSubMatView |
The DynSubMatView class. More... | |
class | DynConstSubMatView |
The DynSubMatView class. More... | |
class | StaticMinorView |
The StaticMinorView class. More... | |
class | StaticConstMinorView |
The StaticConstMinorView class. More... | |
class | DynMinorView |
The DynMinorView class. More... | |
class | DynConstMinorView |
The DynMinorView class. More... | |
class | ConstCofactorsView |
The ConstCofactorsView class. More... | |
struct | RowReMapTag |
RowReMapTag. More... | |
class | RowReMapView |
The TransView class. More... | |
class | HMergeView |
The horizontal matrix merge view class. More... | |
class | ConstHMergeView |
The horizontal matrix merge view class. More... | |
class | UniformRand |
The uniform randomizer, using rand() in stdlib. More... | |
Namespaces | |
namespace | Math |
Namespace for math constants, mathematical and utility functions. | |
namespace | PNS |
Private namespace to hide the details from the user. | |
namespace | SIMD |
Namespace for SIMD related class, function etc... | |
Dispatcher functions for parseExp | |
template<class Exp, class Con, class ErrChk1, class ErrChk2, class ForceUseTmp> | |
static void | parseExp_inner (Mat< Con, ErrChk1 > &mat, const Mat< Exp, ErrChk2 > &exp, Int2Type< 1+2 *0 >, ForceUseTmp) |
Unary root node specialization. | |
template<class Exp, class Con, class ErrChk1, class ErrChk2, class ForceUseTmp> | |
static void | parseExp_inner (Mat< Con, ErrChk1 > &mat, const Mat< Exp, ErrChk2 > &exp, Int2Type< 0+2 *1 >, ForceUseTmp) |
Binary root node specialization. | |
template<class Exp, class Con, class ErrChk1, class ErrChk2, class ForceUseTmp> | |
static void | parseExp_inner (Mat< Con, ErrChk1 > &mat, const Mat< Exp, ErrChk2 > &exp, Int2Type< 0+2 *0 >, ForceUseTmp) |
This function perform no analysis at all. | |
Vector functions | |
template<class L, class R, class ErrChk1, class ErrChk2> | |
static TypeTraits< typename L::value_type, typename R::value_type >::HigherValue | dot (const Vec< L, ErrChk1 > &lv, const Vec< R, ErrChk2 > &rv) |
Compute the dot/inner product. | |
template<class Rep, class ErrChk> | |
static Rep::value_type | norm (const Vec< Rep, ErrChk > &v) |
Vector norm function. | |
template<class Rep, class ErrChk> | |
static Rep::value_type | norm2 (const Vec< Rep, ErrChk > &v) |
Squared norm. | |
template<class L, class R, class LErrChk, class RErrChk> | |
static const Vec< DenseColVecCon< typename TypeTraits< typename L::value_type, typename R::value_type >::HigherValue, 3 >, typename ResultantChecker< LErrChk, RErrChk >::RET > | cross (const Vec< L, LErrChk > &A, const Vec< R, RErrChk > &B) |
Vector cross product. | |
Enumerations | |
enum | { MAX_UROLLROW_NOP = 15, MAX_FULLUROLL_NOP = 200, MAX_MULDOTUROLL_ENOP = 12 } |
Level/condition for loop unrolling. More... | |
Functions | |
static void * | AlignedMalloc (size_t size, size_t align) |
Memory allocation, aligned. | |
static void | AlignedFree (void *p) |
Free the memory returned from AlignedMalloc. | |
static void * | aligned_stack_allocate (size_t size) |
Allocate memory from the aligned stack. | |
static void | aligned_stack_free () |
Free memory from the aligned stack. | |
template<class Exp, class Con, class ErrChk1, class ErrChk2> | |
static void | parseExp (Mat< Con, ErrChk1 > &mat, const Mat< Exp, ErrChk2 > &exp) |
The function that will preform assignment with temporary analysis. | |
template<class Rep, class ErrChecker> | |
static const Mat< ExpMat< SubExp< ScalarCon< typename Rep::value_type >, Rep > >, ErrChecker > | operator- (const Mat< Rep, ErrChecker > &mat) |
Negate operator. | |
template<class Rep, class ErrChecker> | |
static const Vec< ExpMat< SubExp< ScalarCon< typename Rep::value_type >, typename Rep::rep_type > >, ErrChecker > | operator- (const Vec< Rep, ErrChecker > &vec) |
Negate operator. | |
template<class Rep, class ErrChk> | |
static Mat< ExpMat< DummyView< typename Rep::rep_type > >, ErrChk > | dummy (Mat< Rep, ErrChk > &mat) |
template<class Rep, class ErrChk> | |
static Vec< ExpMat< DummyView< typename Rep::rep_type > >, ErrChk > | dummy (Vec< Rep, ErrChk > &vec) |
template<class Rep, class ErrChk, template< class Rep, class ErrChk > class RepT, template< class RepT > class MathClass> | |
static MathClass< RepT< ExpMat< ConstDummyView< Rep > >, ErrChk > > | dummy (MathClass< RepT< Rep, ErrChk > > &vec) |
template<class Rep, class ErrChk> | |
static const Mat< ExpMat< ConstDummyView< typename Rep::rep_type > >, ErrChk > | dummy (const Mat< Rep, ErrChk > &mat) |
template<class Rep, class ErrChk> | |
static const Vec< ExpMat< ConstDummyView< typename Rep::rep_type > >, ErrChk > | dummy (const Vec< Rep, ErrChk > &vec) |
template<class Rep, class ErrChk, template< class Rep, class ErrChk > class RepT, template< class RepT > class MathClass> | |
static const MathClass< RepT< ExpMat< ConstDummyView< Rep > >, ErrChk > > | dummy (const MathClass< RepT< Rep, ErrChk > > &vec) |
template<class Rep, class ErrChk> | |
static Vec< ExpMat< ReverseVecView< typename Rep::rep_type > >, ErrChk > | reverse (Vec< Rep, ErrChk > &vec) |
template<class Rep, class ErrChk> | |
static const Vec< ExpMat< ConstReverseVecView< typename Rep::rep_type > >, ErrChk > | reverse (const Vec< Rep, ErrChk > &vec) |
template<class Rep, class ErrChk> | |
static Mat< ExpMat< TransView< typename Rep::rep_type > >, ErrChk > | trans (Mat< Rep, ErrChk > &mat) |
template<class Rep, class ErrChk> | |
static Vec< ExpMat< TransView< typename Rep::rep_type > >, ErrChk > | trans (Vec< Rep, ErrChk > &vec) |
template<class Rep, class ErrChk, template< class Rep, class ErrChk > class RepT, template< class RepT > class MathClass> | |
static MathClass< RepT< ExpMat< ConstTransView< Rep > >, ErrChk > > | trans (MathClass< RepT< Rep, ErrChk > > &vec) |
template<class Rep, class ErrChk> | |
static const Mat< ExpMat< ConstTransView< typename Rep::rep_type > >, ErrChk > | trans (const Mat< Rep, ErrChk > &mat) |
template<class Rep, class ErrChk> | |
static const Vec< ExpMat< ConstTransView< typename Rep::rep_type > >, ErrChk > | trans (const Vec< Rep, ErrChk > &vec) |
template<class Rep, class ErrChk, template< class Rep, class ErrChk > class RepT, template< class RepT > class MathClass> | |
static const MathClass< RepT< ExpMat< ConstTransView< Rep > >, ErrChk > > | trans (const MathClass< RepT< Rep, ErrChk > > &vec) |
template<class Rep, class ErrChk> | |
static Vec< ExpMat< RowView< typename Rep::rep_type > >, ErrChk > | row (Mat< Rep, ErrChk > &mat, typename Mat< Rep, ErrChk >::index_type row) |
template<class Rep, class ErrChk> | |
static const Vec< ExpMat< ConstRowView< typename Rep::rep_type > >, ErrChk > | row (const Mat< Rep, ErrChk > &mat, typename Mat< Rep, ErrChk >::index_type row) |
template<class Rep, class ErrChk> | |
static Vec< ExpMat< ColView< typename Rep::rep_type > >, ErrChk > | col (Mat< Rep, ErrChk > &mat, typename Mat< Rep, ErrChk >::index_type col) |
template<class Rep, class ErrChk> | |
static const Vec< ExpMat< ConstColView< typename Rep::rep_type > >, ErrChk > | col (const Mat< Rep, ErrChk > &mat, typename Mat< Rep, ErrChk >::index_type col) |
template<class Rep, class ErrChk, int BEGIN, int SIZE> | |
static Vec< ExpMat< StaticSubVecView< Rep, TParamINT2< BEGIN, SIZE > > >, ErrChk > | subVec (Vec< Rep, ErrChk > &vec, Int2Type< BEGIN >, Int2Type< SIZE >) |
template<class Rep, class ErrChk, int BEGIN, int SIZE> | |
static const Vec< ExpMat< StaticConstSubVecView< Rep, TParamINT2< BEGIN, SIZE > > >, ErrChk > | subVec (const Vec< Rep, ErrChk > &vec, Int2Type< BEGIN >, Int2Type< SIZE >) |
template<class Rep, class ErrChk> | |
static Vec< ExpMat< DynSubVecView< Rep > >, ErrChk > | subVec (Vec< Rep, ErrChk > &vec, size_t begin, size_t size) |
template<class Rep, class ErrChk> | |
static const Vec< ExpMat< DynConstSubVecView< Rep > >, ErrChk > | subVec (const Vec< Rep, ErrChk > &vec, size_t begin, size_t size) |
template<class Rep, class ErrChk, int TOP, int LEFT, int RS, int CS> | |
static Mat< ExpMat< StaticSubMatView< Rep, TParamINT4< TOP, LEFT, RS, CS > > >, ErrChk > | subMat (Mat< Rep, ErrChk > &mat, Int2Type< TOP >, Int2Type< LEFT >, Int2Type< RS >, Int2Type< CS >) |
template<class Rep, class ErrChk, int TOP, int LEFT, int RS, int CS> | |
static const Mat< ExpMat< StaticConstSubMatView< Rep, TParamINT4< TOP, LEFT, RS, CS > > >, ErrChk > | subMat (const Mat< Rep, ErrChk > &mat, Int2Type< TOP >, Int2Type< LEFT >, Int2Type< RS >, Int2Type< CS >) |
template<class Rep, class ErrChk> | |
static Mat< ExpMat< DynSubMatView< Rep > >, ErrChk > | subMat (Mat< Rep, ErrChk > &mat, size_t top, size_t left, size_t rs, size_t cs) |
template<class Rep, class ErrChk> | |
static const Mat< ExpMat< DynConstSubMatView< Rep > >, ErrChk > | subMat (const Mat< Rep, ErrChk > &mat, size_t top, size_t left, size_t rs, size_t cs) |
template<class Rep, class ErrChk, int MI, int MJ> | |
static Mat< ExpMat< StaticMinorView< Rep, TParamINT2< MI, MJ > > >, ErrChk > | minor (Mat< Rep, ErrChk > &mat, Int2Type< MI >, Int2Type< MJ >) |
template<class Rep, class ErrChk, int MI, int MJ> | |
static const Mat< ExpMat< StaticConstMinorView< Rep, TParamINT2< MI, MJ > > >, ErrChk > | minor (const Mat< Rep, ErrChk > &mat, Int2Type< MI >, Int2Type< MJ >) |
template<class Rep, class ErrChk> | |
static Mat< ExpMat< DynMinorView< Rep > >, ErrChk > | minor (Mat< Rep, ErrChk > &mat, size_t i, size_t j) |
template<class Rep, class ErrChk> | |
static const Mat< ExpMat< DynConstMinorView< Rep > >, ErrChk > | minor (const Mat< Rep, ErrChk > &mat, size_t i, size_t j) |
template<class Rep, class ErrChk> | |
static const Mat< ExpMat< ConstCofactorsView< Rep > >, ErrChk > | cofactors (const Mat< Rep, ErrChk > &mat) |
template<class Rep, class ErrChk> | |
static const Mat< ExpMat< ConstTransView< ConstCofactorsView< typename Rep::rep_type > > >, ErrChk > | adjoint (const Mat< Rep, ErrChk > &mat) |
template<class Rep1, class ErrChk1, class Rep2, class ErrChk2> | |
static Mat< ExpMat< HMergeView< typename Rep1::rep_type, typename Rep2::rep_type > >, DefaultErrorChecker > | hMerge (Mat< Rep1, ErrChk1 > &mat1, Mat< Rep2, ErrChk2 > &mat2) |
template<class Rep1, class ErrChk1, class Rep2, class ErrChk2> | |
static const Mat< ExpMat< ConstHMergeView< typename Rep1::rep_type, typename Rep2::rep_type > >, DefaultErrorChecker > | hMerge (const Mat< Rep1, ErrChk1 > &mat1, const Mat< Rep2, ErrChk2 > &mat2) |
template<class Rep, class ErrChk> | |
static EXMAT_INLINE2 Rep::value_type | determinant (const Mat< Rep, ErrChk > &m) |
template<class Rep, class ErrChk, class RAN> | |
void | randomize (Mat< Rep, ErrChk > &mat, const RAN &ran) |
Randomize the elements inside the matrix using a random number generator class having a cast operator. |
|