00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00031 #ifndef _BLAS_PP_H_
00032 #define _BLAS_PP_H_
00033
00034
00035
00036
00037 #include "lafnames.h"
00038 #include LA_EXCEPTION_H
00039 #include "blas1pp.h"
00040 #include "blas2pp.h"
00041 #include "blas3pp.h"
00042 #include <cmath>
00043 #include LA_VECTOR_DOUBLE_H
00044
00045
00046
00047 #ifndef LA_NO_DEPRECATED
00048
00049
00050
00051
00052
00058 DLLIMPORT LaVectorDouble operator*(const LaVectorDouble &x, double a);
00059
00063 inline LaVectorDouble operator*(double a, const LaVectorDouble &x)
00064 {
00065 return operator*(x,a);
00066 }
00067
00071 DLLIMPORT double operator*(const LaVectorDouble &dx,
00072 const LaVectorDouble &dy);
00073
00077 DLLIMPORT LaVectorDouble operator+(const LaVectorDouble &dx,
00078 const LaVectorDouble &dy);
00079
00083 DLLIMPORT LaVectorDouble operator-(const LaVectorDouble &dx,
00084 const LaVectorDouble &dy);
00086
00087
00089
00091
00095 DLLIMPORT LaVectorDouble operator*(const LaGenMatDouble &A,
00096 const LaVectorDouble &dx);
00097
00098 #ifdef _LA_BAND_MAT_DOUBLE_H_
00099 DLLIMPORT LaVectorDouble operator*(const LaBandMatDouble &A,
00100 const LaVectorDouble &dx);
00101 #endif
00102
00103 #ifdef _LA_SYMM_MAT_DOUBLE_H_
00104 DLLIMPORT LaVectorDouble operator*(const LaSymmMatDouble &A,
00105 const LaVectorDouble &dx);
00106 #endif
00107
00108 #ifdef _LA_SYMM_BAND_MAT_DOUBLE_H_
00109 DLLIMPORT LaVectorDouble operator*(const LaSymmBandMatDouble &A,
00110 const LaVectorDouble &dx);
00111 #endif
00112
00113
00114 #ifdef _LA_SPD_MAT_DOUBLE_H_
00115 DLLIMPORT LaVectorDouble operator*(const LaSpdMatDouble &AP,
00116 const LaVectorDouble &dx);
00117 #endif
00118
00119 #ifdef _LA_LOWER_TRIANG_MAT_DOUBLE_H_
00120 DLLIMPORT LaVectorDouble operator*(const LaLowerTriangMatDouble &A,
00121 const LaVectorDouble &dx);
00122 #endif
00123
00124 #ifdef _LA_UPPER_TRIANG_MAT_DOUBLE_H_
00125 DLLIMPORT LaVectorDouble operator*(const LaUpperTriangMatDouble &A,
00126 const LaVectorDouble &dx);
00127 #endif
00128
00129 #ifdef _LA_UNIT_LOWER_TRIANG_MAT_DOUBLE_H_
00130 DLLIMPORT LaVectorDouble operator*(const LaUnitLowerTriangMatDouble &A,
00131 const LaVectorDouble &dx);
00132 #endif
00133
00134 #ifdef _LA_UNIT_UPPER_TRIANG_MAT_DOUBLE_H_
00135 DLLIMPORT LaVectorDouble operator*(const LaUnitUpperTriangMatDouble &A,
00136 const LaVectorDouble &dx);
00137 #endif
00138
00139
00140
00142
00144
00147 DLLIMPORT LaGenMatDouble operator*(const LaGenMatDouble &A,
00148 const LaGenMatDouble &B);
00149
00150 #ifdef _LA_UNIT_LOWER_TRIANG_MAT_DOUBLE_H_
00151 DLLIMPORT LaGenMatDouble operator*(const LaUnitLowerTriangMatDouble &A,
00152 const LaGenMatDouble &B);
00153 #endif
00154
00155 #ifdef _LA_UNIT_UPPER_TRIANG_MAT_DOUBLE_H_
00156 DLLIMPORT LaGenMatDouble operator*(const LaUnitUpperTriangMatDouble &A,
00157 const LaGenMatDouble &B);
00158 #endif
00159
00160 #ifdef _LA_LOWER_TRIANG_MAT_DOUBLE_H_
00161 DLLIMPORT LaGenMatDouble operator*(const LaLowerTriangMatDouble &A,
00162 const LaGenMatDouble &B);
00163 #endif
00164
00165 #ifdef _LA_UPPER_TRIANG_MAT_DOUBLE_H_
00166 DLLIMPORT LaGenMatDouble operator*(const LaUpperTriangMatDouble &A,
00167 const LaGenMatDouble &B);
00168 #endif
00169
00170 #ifdef _LA_SYMM_MAT_DOUBLE_H_
00171 DLLIMPORT LaGenMatDouble operator*(const LaSymmMatDouble &A,
00172 const LaGenMatDouble &B);
00173 #endif
00174
00175 #ifdef _LA_SYMM_TRIDIAG_MAT_DOUBLE_H_
00176 DLLIMPORT LaVectorDouble operator*(const LaSymmTridiagMatDouble& A,
00177 const LaVectorDouble& X);
00178 #endif
00179
00180 #ifdef _LA_TRIDIAG_MAT_DOUBLE_H_
00181 DLLIMPORT LaVectorDouble operator*(const LaTridiagMatDouble& A,
00182 const LaVectorDouble& X);
00183 #endif
00184
00188 DLLIMPORT LaGenMatDouble operator-(const LaGenMatDouble &A,
00189 const LaGenMatDouble &B);
00190
00194 DLLIMPORT LaGenMatDouble operator+(const LaGenMatDouble &A,
00195 const LaGenMatDouble &B);
00196
00197 # ifdef LA_COMPLEX_SUPPORT
00198
00201 DLLIMPORT LaGenMatComplex operator+(const LaGenMatComplex &A,
00202 const LaGenMatComplex &B);
00203
00207 DLLIMPORT LaGenMatComplex operator-(const LaGenMatComplex &A,
00208 const LaGenMatComplex &B);
00210 # endif // LA_COMPLEX_SUPPORT
00211
00212 #endif // LA_NO_DEPRECATED
00213
00214 #endif // _BLAS_PP_H_