00001 #ifndef _CTBdot_HXX
00002 #define _CTBdot_HXX 1
00003
00008
00009
00010
00011
00012
00013
00014
00015
00016 #include "CTBvector.hxx"
00017 #include "CTBmatrix.hxx"
00018
00019 template <class T>
00020 T CTBdot(const CTBvector<T>& v1, const CTBvector<T>& v2);
00021 template <class T>
00022 T CTBdot(const CTBvector<T>& v1, const CTBvector<T>& v2,
00023 CTBint i_beg, CTBint i_end);
00024
00025 template <class T>
00026 T CTBdot(const CTBmatrix<T>& m, CTBint i_row, const CTBvector<T>& v);
00027 template <class T>
00028 T CTBdot(const CTBmatrix<T>& m, CTBint i_row, const CTBvector<T>& v,
00029 CTBint i_beg, CTBint i_end);
00030
00031 template <class T>
00032 T CTBdot(CTBint i_col, const CTBmatrix<T>& m, const CTBvector<T>& v);
00033 template <class T>
00034 T CTBdot(CTBint i_col, const CTBmatrix<T>& m, const CTBvector<T>& v,
00035 CTBint i_beg, CTBint i_end);
00036
00037 template <class T>
00038 T CTBdot(const CTBmatrix<T>& m1, CTBint i_row,
00039 CTBint i_col, const CTBmatrix<T>& m2);
00040 template <class T>
00041 T CTBdot(const CTBmatrix<T>& m1, CTBint i_row,
00042 CTBint i_col, const CTBmatrix<T>& m2,
00043 CTBint i_beg, CTBint i_end);
00044
00045 template <class T>
00046 void CTBdot(CTBvector<T>& r, const CTBmatrix<T>& m, const CTBvector<T>& v);
00047
00048 template <class T>
00049 void CTBdot(CTBmatrix<T>& r, const CTBmatrix<T>& m1, const CTBmatrix<T>& m2);
00050
00051 #if !(defined(CTB__OutLine) || defined(CTBdot__OutLine))
00052 #include "CTBdot.icc"
00053 #endif
00054
00055 #endif