00001 00023 // KG, 99/08/05 00024 // $Id: matrix_sig.h,v 1.7.2.8 2006/08/14 18:43:05 garloff Exp $ 00025 00026 #ifndef TBCI_MATRIX_SIG_H 00027 #define TBCI_MATRIX_SIG_H 00028 00029 #include "basics.h" 00030 #include "vector_sig.h" 00031 00032 #ifdef PRAGMA_I 00033 # pragma interface "matrix_sig.h" 00034 #endif 00035 00036 NAMESPACE_TBCI 00037 00038 template <typename T> class TVector; 00039 template <typename T> class Vector; 00040 00044 template <typename T> 00045 class Matrix_Sig 00046 { 00047 public: 00048 // de/constructor 00049 Matrix_Sig () {} 00050 /*virtual*/ ~Matrix_Sig () {} 00051 00053 typename tbci_traits<T>::const_refval_type 00054 operator () (const unsigned, const unsigned) const; 00056 T& operator () (const unsigned, const unsigned); 00057 Matrix_Sig<T>& fill (const T&); 00058 Matrix_Sig<T>& setunit (const T& = (T)1); 00059 Matrix_Sig<T>& clear (); 00060 //{ return this->fill ((T)0); } 00061 00062 // mat-vec multiply 00063 TVector<T> operator * (const Vector_Sig<T>&) const; 00064 TVector<T> transMult (const Vector_Sig<T>&) const; 00065 // size info 00066 unsigned int rows () const; 00067 unsigned int columns () const; 00068 //unsigned long size () const; 00069 00070 // virtual abstract function to allow compiler to do checks 00071 /* virtual */ static const char* mat_info(); 00072 }; 00073 00074 NAMESPACE_END 00075 00076 #endif /* TBCI_MATRIX_SIG_H */
1.5.6