41#ifndef _CXSC_BLAS_HEADER_INCLUDED
42#define _CXSC_BLAS_HEADER_INCLUDED
46enum CBLAS_ORDER {CblasRowMajor=101, CblasColMajor=102};
47enum CBLAS_TRANSPOSE {CblasNoTrans=111, CblasTrans=112, CblasConjTrans=113};
48enum CBLAS_UPLO {CblasUpper=121, CblasLower=122};
49enum CBLAS_DIAG {CblasNonUnit=131, CblasUnit=132};
50enum 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);
92inline void blasdot(
const rvector& x,
const rvector& y, real& res);
94inline void blasdot(
const rvector& x,
const rvector& y, interval& res);
96inline void blasdot(
const rvector& x,
const cvector& y, complex& res);
98inline void blasdot(
const cvector& x,
const rvector& y, complex& res);
100inline void blasdot(
const rvector& x,
const cvector& y, cinterval& res);
102inline void blasdot(
const cvector& x,
const rvector& y, cinterval& res);
104inline void blasdot(
const cvector& x,
const cvector& y, complex& res);
106inline void blasdot(
const cvector& x,
const cvector& y, cinterval& res);
108inline 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);
112inline 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);
116inline 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);
118inline void blasdot(
const ivector& x,
const ivector& y, interval& res);
120inline void blasdot(
const ivector& x,
const rvector& y, interval& res);
122inline void blasdot(
const rvector& x,
const ivector& y, interval& res);
124inline void blasdot(
const rvector& x,
const civector& y, cinterval& res);
126inline void blasdot(
const civector& x,
const rvector& y, cinterval& res);
128inline void blasdot(
const cvector& x,
const ivector& y, cinterval& res);
130inline void blasdot(
const ivector& x,
const cvector& y, cinterval& res);
132inline void blasdot(
const civector& x,
const civector& y, cinterval& res);
134inline void blasdot(
const civector& x,
const cvector& y, cinterval& res);
136inline void blasdot(
const cvector& x,
const civector& y, cinterval& res);
138inline void blasdot(
const civector& x,
const ivector& y, cinterval& res);
140inline void blasdot(
const ivector& x,
const civector& y, cinterval& res);
144inline void blasmvmul(
const rmatrix& A,
const rvector& x, rvector& r);
146inline void blasmvmul(
const rmatrix& A,
const rvector& x, ivector& r);
148inline void blasmvmul(
const rmatrix& A,
const ivector& x, ivector& r);
150inline void blasmvmul(
const imatrix& A,
const rvector& x, ivector& r);
152inline void blasmvmul(
const imatrix& A,
const ivector& x, ivector& r);
154inline void blasmvmul(
const cmatrix& A,
const ivector& x, civector& r);
156inline void blasmvmul(
const imatrix& A,
const cvector& x, civector& r);
158inline void blasmvmul(
const rmatrix& A,
const civector& x, civector& r);
160inline void blasmvmul(
const cimatrix& A,
const rvector& x, civector& r);
162inline void blasmvmul(
const cmatrix& A,
const civector& x, civector& r);
164inline void blasmvmul(
const cimatrix& A,
const cvector& x, civector& r);
166inline void blasmvmul(
const imatrix& A,
const civector& x, civector& r);
168inline void blasmvmul(
const cimatrix& A,
const ivector& x, civector& r);
170inline void blasmvmul(
const cimatrix& A,
const civector& x, civector& r);
172inline void blasmvmul(
const cmatrix& A,
const cvector& x, cvector& r);
174inline void blasmvmul(
const cmatrix& A,
const cvector& x, civector& r);
176inline void blasmvmul(
const rmatrix& A,
const cvector& x, cvector& r);
178inline void blasmvmul(
const cmatrix& A,
const rvector& x, cvector& r);
180inline void blasmvmul(
const rmatrix& A,
const cvector& x, civector& r);
182inline void blasmvmul(
const cmatrix& A,
const rvector& x, civector& r);
186inline void blasmatmul(
const rmatrix &A,
const rmatrix &B, imatrix &C);
188inline void blasmatmul(
const rmatrix &A,
const rmatrix &B, rmatrix &C);
190inline void blasmatmul(
const imatrix &A,
const imatrix &B, imatrix &C);
192inline void blasmatmul(
const rmatrix &A,
const imatrix &B, imatrix &C);
194inline void blasmatmul(
const imatrix &A,
const rmatrix &B, imatrix &C);
196inline void blasmatmul(
const cmatrix &A,
const cmatrix &B, cmatrix &C);
198inline void blasmatmul(
const cmatrix &A,
const cmatrix &B, cimatrix &C);
200inline void blasmatmul(
const cmatrix &A,
const rmatrix &B, cmatrix &C);
202inline void blasmatmul(
const rmatrix &A,
const cmatrix &B, cmatrix &C);
204inline void blasmatmul(
const cmatrix &A,
const rmatrix &B, cimatrix &C);
206inline void blasmatmul(
const rmatrix &A,
const cmatrix &B, cimatrix &C);
208inline void blasmatmul(
const cmatrix &A,
const imatrix &B, cimatrix &C);
210inline void blasmatmul(
const imatrix &A,
const cmatrix &B, cimatrix &C);
212inline void blasmatmul(
const rmatrix &A,
const cimatrix &B, cimatrix &C);
214inline void blasmatmul(
const cimatrix &A,
const rmatrix &B, cimatrix &C);
216inline void blasmatmul(
const imatrix &A,
const cimatrix &B, cimatrix &C);
218inline void blasmatmul(
const cimatrix &A,
const imatrix &B, cimatrix &C);
220inline void blasmatmul(
const cimatrix &A,
const cmatrix &B, cimatrix &C);
222inline void blasmatmul(
const cmatrix &A,
const cimatrix &B, cimatrix &C);
224inline void blasmatmul(
const cimatrix &A,
const cimatrix &B, cimatrix &C);
The namespace cxsc, providing all functionality of the class library C-XSC.