TBCI Numerical high perf. C++ Library 2.8.0
TSMatrix< T > Class Template Reference

#include <matrix.h>

Inheritance diagram for TSMatrix< T >:
Collaboration diagram for TSMatrix< T >:

Public Types

typedef TTptr
typedef T value_type
typedef T element_type
typedef T aligned_value_type TALIGN(MIN_ALIGN2)

Public Member Functions

void detach (TMatrix< T > *=0)
Tgetvec () const
Tgetendvec () const
Tgetfac ()
const Tgetfac () const
 TSMatrix ()
 ~TSMatrix ()
 TSMatrix (const TMatrix< T > &tm, const T &f=(T) 1)
 TSMatrix (const Matrix< T > &m, const T &f=(T) 1)
 TSMatrix (const TSMatrix< T > &ts)
T operator() (const unsigned int r, const unsigned int c) HOT
TSMatrix< T > & eval (TMatrix< T > *=0)
TSMatrix< T > & operator= (const TSMatrix< T > &ts)
TSMatrix< T > & operator= (const TMatrix< T > &tm)
TSMatrix< T > & operator*= (const T &f)
TSMatrix< T > & operator/= (const T &f)
TSMatrix< T > & operator* (const T &f)
TSMatrix< T > & operator/ (const T &f)
TSMatrix< T > & operator- ()
TMatrix< Toperator+ (const Matrix< T > &)
TMatrix< Toperator+ (const TMatrix< T > &)
TMatrix< Toperator+ (TSMatrix< T >)
TMatrix< Toperator+ (const T &)
TMatrix< Toperator- (const Matrix< T > &)
TMatrix< Toperator- (const TMatrix< T > &)
TMatrix< Toperator- (TSMatrix< T >)
TMatrix< Toperator- (const T &)
TMatrix< Toperator* (const Matrix< T > &m)
TMatrix< Toperator* (TMatrix< T > tm)
TVector< Toperator* (const Vector< T > &v)
TVector< Toperator* (TVector< T > tv)
bool operator== (const Matrix< T > &)
bool operator!= (const Matrix< T > &m)
bool operator== (TSMatrix< T > &)
bool operator!= (TSMatrix< T > &ts)
bool operator== (TMatrix< T > &tm)
bool operator!= (TMatrix< T > &tm)
double fabssqr ()
double fabs ()
unsigned long size () const
Public Member Functions inherited from Matrix_Sig< T >
 Matrix_Sig ()
 ~Matrix_Sig ()
tbci_traits< T >::const_refval_type operator() (const unsigned, const unsigned) const
 ro access
Toperator() (const unsigned, const unsigned)
 rw access
Matrix_Sig< T > & fill (const T &)
Matrix_Sig< T > & setunit (const T &=(T) 1)
Matrix_Sig< T > & clear ()
TVector< Toperator* (const Vector_Sig< T > &) const
TVector< TtransMult (const Vector_Sig< T > &) const
unsigned int rows () const
unsigned int columns () const

Static Public Member Functions

static const char * mat_info ()
Static Public Member Functions inherited from Matrix_Sig< T >
static const char * mat_info ()

Protected Member Functions

T fac ALIGN (MIN_ALIGN2)
void real_destroy ()
void clone (bool=false, TMatrix< T > *=0)

Protected Attributes

Tvec
unsigned long dim
unsigned int row
unsigned int col
T ** mat
Tendvec
bool mut

Friends

class TMatrix< T >
class Matrix< T >
NOINST TSMatrix< T > FRIEND_TBCI__ operator*FGD (const T &, TSMatrix< T >)
NOINST TMatrix< T > FRIEND_TBCI__ operator+FGD (const T &, const TSMatrix< T > &)
NOINST TMatrix< T > FRIEND_TBCI__ operator-FGD (const T &, const TSMatrix< T > &)

Detailed Description

template<typename T>
class TSMatrix< T >

Temporary object for scaled Matrices

Definition at line 1118 of file matrix.h.

Member Typedef Documentation

◆ element_type

template<typename T>
typedef T TSMatrix< T >::element_type

Definition at line 1143 of file matrix.h.

◆ TALIGN

template<typename T>
typedef T aligned_value_type TSMatrix< T >::TALIGN(MIN_ALIGN2)

Definition at line 1144 of file matrix.h.

◆ Tptr

template<typename T>
typedef T* TSMatrix< T >::Tptr

Definition at line 1136 of file matrix.h.

◆ value_type

template<typename T>
typedef T TSMatrix< T >::value_type

Definition at line 1142 of file matrix.h.

Constructor & Destructor Documentation

◆ TSMatrix() [1/4]

◆ ~TSMatrix()

template<typename T>
TSMatrix< T >::~TSMatrix ( )
inline

Definition at line 1155 of file matrix.h.

◆ TSMatrix() [2/4]

template<typename T>
TSMatrix< T >::TSMatrix ( const TMatrix< T > & tm,
const T & f = (T)1 )
inline

Definition at line 1157 of file matrix.h.

References col, dim, endvec, fac, mat, mut, row, T, true, and vec.

◆ TSMatrix() [3/4]

template<typename T>
TSMatrix< T >::TSMatrix ( const Matrix< T > & m,
const T & f = (T)1 )
inline

Definition at line 1160 of file matrix.h.

References col, dim, endvec, fac, false, mat, mut, row, T, and vec.

◆ TSMatrix() [4/4]

template<typename T>
TSMatrix< T >::TSMatrix ( const TSMatrix< T > & ts)
inline

Definition at line 1163 of file matrix.h.

References col, dim, endvec, fac, mat, mut, row, ts, TSMatrix(), and vec.

Member Function Documentation

◆ ALIGN()

template<typename T>
T fac TSMatrix< T >::ALIGN ( MIN_ALIGN2 )
protected

References fac, MIN_ALIGN2, and T.

◆ clone()

template<typename T>
void TSMatrix< T >::clone ( bool evl = false,
TMatrix< T > * tm = 0 )
protected

Definition at line 1260 of file matrix.h.

References detach(), dim, fac, LIKELY, mat, mut, row, STD_SMP_TEMPLATE3VC, T, TBCICOPY, TBCIDELETE, and vec.

Referenced by eval().

◆ detach()

template<typename T>
void TSMatrix< T >::detach ( TMatrix< T > * tm = 0)
inline

◆ eval()

template<typename T>
TSMatrix< T > & TSMatrix< T >::eval ( TMatrix< T > * tm = 0)
inline

Definition at line 1280 of file matrix.h.

References clone(), dim, fac, mut, STD_SMP_TEMPLATE2C, T, TSMatrix(), and vec.

◆ fabs()

template<typename T>
double TSMatrix< T >::fabs ( )
inline

Definition at line 1225 of file matrix.h.

References fabssqr(), GLBL__, MATH__, and sqrt().

◆ fabssqr()

template<typename T>
double TSMatrix< T >::fabssqr ( )

Definition at line 1530 of file matrix.h.

References dim, do_exactsum(), fabssqr(), fac, GLBL2__, TMatrix< T >::real_destroy(), res, TBCI__, and vec.

Referenced by fabs(), and fabssqr().

◆ getendvec()

template<typename T>
T * TSMatrix< T >::getendvec ( ) const
inline

Definition at line 1148 of file matrix.h.

References endvec, and T.

◆ getfac() [1/2]

template<typename T>
T & TSMatrix< T >::getfac ( )
inline

Definition at line 1149 of file matrix.h.

References fac, and T.

◆ getfac() [2/2]

template<typename T>
const T & TSMatrix< T >::getfac ( ) const
inline

Definition at line 1150 of file matrix.h.

References fac, and T.

◆ getvec()

template<typename T>
T * TSMatrix< T >::getvec ( ) const
inline

Definition at line 1147 of file matrix.h.

References T, and vec.

◆ mat_info()

template<typename T>
const char * TSMatrix< T >::mat_info ( )
inlinestatic

Definition at line 1168 of file matrix.h.

◆ operator!=() [1/3]

template<typename T>
bool TSMatrix< T >::operator!= ( const Matrix< T > & m)
inline

Definition at line 1216 of file matrix.h.

◆ operator!=() [2/3]

template<typename T>
bool TSMatrix< T >::operator!= ( TMatrix< T > & tm)
inline

Definition at line 1222 of file matrix.h.

◆ operator!=() [3/3]

template<typename T>
bool TSMatrix< T >::operator!= ( TSMatrix< T > & ts)
inline

Definition at line 1219 of file matrix.h.

References ts, and TSMatrix().

◆ operator()()

template<typename T>
T TSMatrix< T >::operator() ( const unsigned int r,
const unsigned int c )
inline

Definition at line 1170 of file matrix.h.

References c, fac, HOT, mat, real_destroy(), and T.

◆ operator*() [1/5]

template<typename T>
TMatrix< T > TSMatrix< T >::operator* ( const Matrix< T > & m)

◆ operator*() [2/5]

template<typename T>
TSMatrix< T > & TSMatrix< T >::operator* ( const T & f)
inline

Definition at line 1187 of file matrix.h.

References fac, T, and TSMatrix().

◆ operator*() [3/5]

template<typename T>
TVector< T > TSMatrix< T >::operator* ( const Vector< T > & v)

◆ operator*() [4/5]

◆ operator*() [5/5]

◆ operator*=()

template<typename T>
TSMatrix< T > & TSMatrix< T >::operator*= ( const T & f)
inline

Definition at line 1185 of file matrix.h.

References fac, T, and TSMatrix().

◆ operator+() [1/4]

template<typename T>
TMatrix< T > TSMatrix< T >::operator+ ( const Matrix< T > & m)
inline

◆ operator+() [2/4]

template<typename T>
TMatrix< T > TSMatrix< T >::operator+ ( const T & a)
inline

Definition at line 1365 of file matrix.h.

References a, dim, fac, STD_SMP_TEMPLATE4C, T, ts, TSMatrix(), and vec.

◆ operator+() [3/4]

template<typename T>
TMatrix< T > TSMatrix< T >::operator+ ( const TMatrix< T > & tm)
inline

◆ operator+() [4/4]

template<typename T>
TMatrix< T > TSMatrix< T >::operator+ ( TSMatrix< T > ts)
inline

Definition at line 1327 of file matrix.h.

References BCHK, col, detach(), dim, fac, LIKELY, mut, TMatrix< T >::real_destroy(), row, size(), STD_SMP_TEMPLATE5, T, ts, TSMatrix(), and vec.

◆ operator-() [1/5]

template<typename T>
TSMatrix< T > & TSMatrix< T >::operator- ( )
inline

Definition at line 1192 of file matrix.h.

References fac, T, and TSMatrix().

◆ operator-() [2/5]

template<typename T>
TMatrix< T > TSMatrix< T >::operator- ( const Matrix< T > & m)
inline

◆ operator-() [3/5]

template<typename T>
TMatrix< T > TSMatrix< T >::operator- ( const T & a)
inline

Definition at line 1373 of file matrix.h.

References a, dim, fac, STD_SMP_TEMPLATE4C, T, ts, TSMatrix(), and vec.

◆ operator-() [4/5]

template<typename T>
TMatrix< T > TSMatrix< T >::operator- ( const TMatrix< T > & tm)
inline

◆ operator-() [5/5]

template<typename T>
TMatrix< T > TSMatrix< T >::operator- ( TSMatrix< T > ts)
inline

Definition at line 1346 of file matrix.h.

References BCHK, col, detach(), dim, fac, LIKELY, mut, TMatrix< T >::real_destroy(), row, size(), STD_SMP_TEMPLATE5, T, ts, TSMatrix(), and vec.

◆ operator/()

template<typename T>
TSMatrix< T > & TSMatrix< T >::operator/ ( const T & f)
inline

Definition at line 1188 of file matrix.h.

References fac, T, and TSMatrix().

◆ operator/=()

template<typename T>
TSMatrix< T > & TSMatrix< T >::operator/= ( const T & f)
inline

Definition at line 1186 of file matrix.h.

References fac, T, and TSMatrix().

◆ operator=() [1/2]

template<typename T>
TSMatrix< T > & TSMatrix< T >::operator= ( const TMatrix< T > & tm)
inline

◆ operator=() [2/2]

template<typename T>
TSMatrix< T > & TSMatrix< T >::operator= ( const TSMatrix< T > & ts)
inline

Definition at line 1176 of file matrix.h.

References col, dim, endvec, fac, mat, mut, real_destroy(), row, ts, TSMatrix(), and vec.

◆ operator==() [1/3]

template<typename T>
bool TSMatrix< T >::operator== ( const Matrix< T > & m)

◆ operator==() [2/3]

template<typename T>
bool TSMatrix< T >::operator== ( TMatrix< T > & tm)
inline

Definition at line 1221 of file matrix.h.

◆ operator==() [3/3]

template<typename T>
bool TSMatrix< T >::operator== ( TSMatrix< T > & ts)

Definition at line 1493 of file matrix.h.

References col, dim, endvec, fac, LIKELY, TMatrix< T >::real_destroy(), REGISTER, row, T, TBCICOMP, ts, TSMatrix(), UNLIKELY, and vec.

◆ real_destroy()

template<typename T>
void TSMatrix< T >::real_destroy ( )
inlineprotected

Definition at line 1231 of file matrix.h.

References dim, LIKELY, mat, mut, row, T, TBCIDELETE, and vec.

Referenced by operator()(), operator*(), operator*(), operator*(), operator*(), operator=(), and operator=().

◆ size()

template<typename T>
unsigned long TSMatrix< T >::size ( ) const
inline

Definition at line 1227 of file matrix.h.

References dim.

Referenced by bvfillm(), operator+(), operator+(), operator+(), operator-(), operator-(), and operator-().

◆ Matrix< T >

template<typename T>
friend class Matrix< T >
friend

Definition at line 1136 of file matrix.h.

References T.

◆ operator*FGD

template<typename T>
NOINST TSMatrix< T > FRIEND_TBCI__ operator*FGD ( const T & ,
TSMatrix< T >  )
friend

References FRIEND_TBCI__, NOINST, T, and TSMatrix().

◆ operator+FGD

template<typename T>
NOINST TMatrix< T > FRIEND_TBCI__ operator+FGD ( const T & ,
const TSMatrix< T > &  )
friend

References FRIEND_TBCI__, NOINST, T, and TSMatrix().

◆ operator-FGD

template<typename T>
NOINST TMatrix< T > FRIEND_TBCI__ operator-FGD ( const T & ,
const TSMatrix< T > &  )
friend

References FRIEND_TBCI__, NOINST, T, and TSMatrix().

◆ TMatrix< T >

template<typename T>
friend class TMatrix< T >
friend

Definition at line 1136 of file matrix.h.

Referenced by Matrix< T >::operator+(), and Matrix< T >::operator-().

Member Data Documentation

◆ col

◆ dim

◆ endvec

template<typename T>
T* TSMatrix< T >::endvec
protected

◆ mat

template<typename T>
T** TSMatrix< T >::mat
protected

◆ mut

template<typename T>
bool TSMatrix< T >::mut
protected

◆ row

◆ vec


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