41 #ifndef _CXSC_BLAS_HEADER_INCLUDED 42 #define _CXSC_BLAS_HEADER_INCLUDED 46 enum CBLAS_ORDER {CblasRowMajor=101, CblasColMajor=102};
47 enum CBLAS_TRANSPOSE {CblasNoTrans=111, CblasTrans=112, CblasConjTrans=113};
48 enum CBLAS_UPLO {CblasUpper=121, CblasLower=122};
49 enum CBLAS_DIAG {CblasNonUnit=131, CblasUnit=132};
50 enum CBLAS_SIDE {CblasLeft=141, CblasRight=142};
54 double cblas_ddot(
const int N,
const double *X,
const int incX,
55 const double *Y,
const int incY);
57 void cblas_zdotu_sub(
const int N,
const void *X,
const int incX,
58 const void *Y,
const int incY,
void *dotu);
60 void cblas_daxpy(
const int N,
const double alpha,
const double *X,
61 const int incX,
double *Y,
const int incY);
63 void cblas_zaxpy(
const int N,
const double alpha,
const double *X,
64 const int incX,
double *Y,
const int incY);
66 void cblas_dgemv(
const enum CBLAS_ORDER order,
67 const enum CBLAS_TRANSPOSE TransA,
const int M,
const int N,
68 const double alpha,
const double *A,
const int lda,
69 const double *X,
const int incX,
const double beta,
70 double *Y,
const int incY);
72 void cblas_zgemv(
const enum CBLAS_ORDER order,
73 const enum CBLAS_TRANSPOSE TransA,
const int M,
const int N,
74 const void *alpha,
const void *A,
const int lda,
75 const void *X,
const int incX,
const void *beta,
76 void *Y,
const int incY);
78 void cblas_dgemm(
const enum CBLAS_ORDER Order,
const enum CBLAS_TRANSPOSE TransA,
79 const enum CBLAS_TRANSPOSE TransB,
const int M,
const int N,
80 const int K,
const double alpha,
const double *A,
81 const int lda,
const double *B,
const int ldb,
82 const double beta,
double *C,
const int ldc);
84 void cblas_zgemm(
const enum CBLAS_ORDER Order,
const enum CBLAS_TRANSPOSE TransA,
85 const enum CBLAS_TRANSPOSE TransB,
const int M,
const int N,
86 const int K,
const void *alpha,
const void *A,
87 const int lda,
const void *B,
const int ldb,
88 const void *beta,
void *C,
const int ldc);
92 inline void blasdot(
const rvector& x,
const rvector& y, real& res);
94 inline void blasdot(
const rvector& x,
const rvector& y, interval& res);
96 inline void blasdot(
const rvector& x,
const cvector& y, complex& res);
98 inline void blasdot(
const cvector& x,
const rvector& y, complex& res);
100 inline void blasdot(
const rvector& x,
const cvector& y, cinterval& res);
102 inline void blasdot(
const cvector& x,
const rvector& y, cinterval& res);
104 inline void blasdot(
const cvector& x,
const cvector& y, complex& res);
106 inline void blasdot(
const cvector& x,
const cvector& y, cinterval& res);
108 inline void bsort(
const ivector &x,
const ivector &y, rvector& x_inf, rvector& y_inf, rvector &x_sup, rvector &y_sup,
int n,
int lb1,
int lb2);
112 inline void bsort(
const ivector &x,
const rvector &y, rvector& x_inf, rvector& y_inf, rvector &x_sup, rvector &y_sup,
int n,
int lb1,
int lb2);
116 inline void bsort(
const rvector &y,
const ivector &x, rvector& x_inf, rvector& y_inf, rvector &x_sup, rvector &y_sup,
int n,
int lb1,
int lb2);
118 inline void blasdot(
const ivector& x,
const ivector& y, interval& res);
120 inline void blasdot(
const ivector& x,
const rvector& y, interval& res);
122 inline void blasdot(
const rvector& x,
const ivector& y, interval& res);
124 inline void blasdot(
const rvector& x,
const civector& y, cinterval& res);
126 inline void blasdot(
const civector& x,
const rvector& y, cinterval& res);
128 inline void blasdot(
const cvector& x,
const ivector& y, cinterval& res);
130 inline void blasdot(
const ivector& x,
const cvector& y, cinterval& res);
132 inline void blasdot(
const civector& x,
const civector& y, cinterval& res);
134 inline void blasdot(
const civector& x,
const cvector& y, cinterval& res);
136 inline void blasdot(
const cvector& x,
const civector& y, cinterval& res);
138 inline void blasdot(
const civector& x,
const ivector& y, cinterval& res);
140 inline void blasdot(
const ivector& x,
const civector& y, cinterval& res);
144 inline void blasmvmul(
const rmatrix& A,
const rvector& x, rvector& r);
146 inline void blasmvmul(
const rmatrix& A,
const rvector& x, ivector& r);
148 inline void blasmvmul(
const rmatrix& A,
const ivector& x, ivector& r);
150 inline void blasmvmul(
const imatrix& A,
const rvector& x, ivector& r);
152 inline void blasmvmul(
const imatrix& A,
const ivector& x, ivector& r);
154 inline void blasmvmul(
const cmatrix& A,
const ivector& x, civector& r);
156 inline void blasmvmul(
const imatrix& A,
const cvector& x, civector& r);
158 inline void blasmvmul(
const rmatrix& A,
const civector& x, civector& r);
160 inline void blasmvmul(
const cimatrix& A,
const rvector& x, civector& r);
162 inline void blasmvmul(
const cmatrix& A,
const civector& x, civector& r);
164 inline void blasmvmul(
const cimatrix& A,
const cvector& x, civector& r);
166 inline void blasmvmul(
const imatrix& A,
const civector& x, civector& r);
168 inline void blasmvmul(
const cimatrix& A,
const ivector& x, civector& r);
170 inline void blasmvmul(
const cimatrix& A,
const civector& x, civector& r);
172 inline void blasmvmul(
const cmatrix& A,
const cvector& x, cvector& r);
174 inline void blasmvmul(
const cmatrix& A,
const cvector& x, civector& r);
176 inline void blasmvmul(
const rmatrix& A,
const cvector& x, cvector& r);
178 inline void blasmvmul(
const cmatrix& A,
const rvector& x, cvector& r);
180 inline void blasmvmul(
const rmatrix& A,
const cvector& x, civector& r);
182 inline void blasmvmul(
const cmatrix& A,
const rvector& x, civector& r);
186 inline void blasmatmul(
const rmatrix &A,
const rmatrix &B, imatrix &C);
188 inline void blasmatmul(
const rmatrix &A,
const rmatrix &B, rmatrix &C);
190 inline void blasmatmul(
const imatrix &A,
const imatrix &B, imatrix &C);
192 inline void blasmatmul(
const rmatrix &A,
const imatrix &B, imatrix &C);
194 inline void blasmatmul(
const imatrix &A,
const rmatrix &B, imatrix &C);
196 inline void blasmatmul(
const cmatrix &A,
const cmatrix &B, cmatrix &C);
198 inline void blasmatmul(
const cmatrix &A,
const cmatrix &B, cimatrix &C);
200 inline void blasmatmul(
const cmatrix &A,
const rmatrix &B, cmatrix &C);
202 inline void blasmatmul(
const rmatrix &A,
const cmatrix &B, cmatrix &C);
204 inline void blasmatmul(
const cmatrix &A,
const rmatrix &B, cimatrix &C);
206 inline void blasmatmul(
const rmatrix &A,
const cmatrix &B, cimatrix &C);
208 inline void blasmatmul(
const cmatrix &A,
const imatrix &B, cimatrix &C);
210 inline void blasmatmul(
const imatrix &A,
const cmatrix &B, cimatrix &C);
212 inline void blasmatmul(
const rmatrix &A,
const cimatrix &B, cimatrix &C);
214 inline void blasmatmul(
const cimatrix &A,
const rmatrix &B, cimatrix &C);
216 inline void blasmatmul(
const imatrix &A,
const cimatrix &B, cimatrix &C);
218 inline void blasmatmul(
const cimatrix &A,
const imatrix &B, cimatrix &C);
220 inline void blasmatmul(
const cimatrix &A,
const cmatrix &B, cimatrix &C);
222 inline void blasmatmul(
const cmatrix &A,
const cimatrix &B, cimatrix &C);
224 inline void blasmatmul(
const cimatrix &A,
const cimatrix &B, cimatrix &C);
The namespace cxsc, providing all functionality of the class library C-XSC.