TBCI Numerical high perf. C++ Library  2.8.0
matrix_sig.h
Go to the documentation of this file.
1 
23 // KG, 99/08/05
24 // $Id: matrix_sig.h,v 1.7.2.9 2019/05/28 11:13:02 garloff Exp $
25 
26 #ifndef TBCI_MATRIX_SIG_H
27 #define TBCI_MATRIX_SIG_H
28 
29 #include "tbci/basics.h"
30 #include "tbci/vector_sig.h"
31 
32 #ifdef PRAGMA_I
33 # pragma interface "matrix_sig.h"
34 #endif
35 
37 
38 template <typename T> class TVector;
39 template <typename T> class Vector;
40 
44 template <typename T>
46 {
47  public:
48  // de/constructor
49  Matrix_Sig () {}
50  /*virtual*/ ~Matrix_Sig () {}
51 
53  typename tbci_traits<T>::const_refval_type
54  operator () (const unsigned, const unsigned) const;
56  T& operator () (const unsigned, const unsigned);
57  Matrix_Sig<T>& fill (const T&);
58  Matrix_Sig<T>& setunit (const T& = (T)1);
59  Matrix_Sig<T>& clear ();
60  //{ return this->fill ((T)0); }
61 
62  // mat-vec multiply
63  TVector<T> operator * (const Vector_Sig<T>&) const;
64  TVector<T> transMult (const Vector_Sig<T>&) const;
65  // size info
66  unsigned int rows () const;
67  unsigned int columns () const;
68  //unsigned long size () const;
69 
70  // virtual abstract function to allow compiler to do checks
71  /* virtual */ static const char* mat_info();
72 };
73 
75 
76 #endif /* TBCI_MATRIX_SIG_H */
TVector< T > transMult(const Vector_Sig< T > &) const
abstract base class (signature) for Vectors with arithmetics
Definition: vector_sig.h:24
#define NAMESPACE_TBCI
Definition: basics.h:317
unsigned int rows() const
Common interface definition (signature) for all Matrices.
Definition: matrix_sig.h:45
Matrix_Sig< T > & clear()
static const char * mat_info()
TVector< T > operator*(const Vector_Sig< T > &) const
tbci_traits< T >::const_refval_type operator()(const unsigned, const unsigned) const
ro access
unsigned int columns() const
Matrix_Sig< T > & setunit(const T &=(T) 1)
Temporary Base Class Idiom: Class TVector is used for temporary variables.
Definition: bvector.h:52
Matrix_Sig< T > & fill(const T &)
#define NAMESPACE_END
Definition: basics.h:323
Definition: bvector.h:54
#define T
Definition: bdmatlib.cc:20