ReproBLAS
reproBLAS.h
Go to the documentation of this file.
1 
23 #ifndef REPROBLAS_H_
24 #define REPROBLAS_H_
25 #include <complex.h>
26 
27 double reproBLAS_rdsum(const int fold, const int N, const double* X, const int incX);
28 double reproBLAS_rdasum(const int fold, const int N, const double* X, const int incX);
29 double reproBLAS_rdnrm2(const int fold, const int N, const double* X, const int incX);
30 double reproBLAS_rddot(const int fold, const int N, const double* X, const int incX, const double* Y, const int incY);
31 
32 float reproBLAS_rsdot(const int fold, const int N, const float* X, const int incX, const float* Y, const int incY);
33 float reproBLAS_rsasum(const int fold, const int N, const float* X, const int incX);
34 float reproBLAS_rssum(const int fold, const int N, const float* X, const int incX);
35 float reproBLAS_rsnrm2(const int fold, const int N, const float* X, const int incX);
36 
37 void reproBLAS_rzsum_sub(const int fold, const int N, const void* X, int incX, void *sum);
38 double reproBLAS_rdzasum(const int fold, const int N, const void* X, const int incX);
39 double reproBLAS_rdznrm2(const int fold, const int N, const void* X, int incX);
40 void reproBLAS_rzdotc_sub(const int fold, const int N, const void* X, const int incX, const void* Y, const int incY, void *dotc);
41 void reproBLAS_rzdotu_sub(const int fold, const int N, const void* X, const int incX, const void* Y, const int incY, void *dotu);
42 
43 void reproBLAS_rcsum_sub(const int fold, const int N, const void* X, const int incX, void *sum);
44 float reproBLAS_rscasum(const int fold, const int N, const void* X, const int incX);
45 float reproBLAS_rscnrm2(const int fold, const int N, const void* X, const int incX);
46 void reproBLAS_rcdotc_sub(const int fold, const int N, const void* X, const int incX, const void* Y, const int incY, void *dotc);
47 void reproBLAS_rcdotu_sub(const int fold, const int N, const void* X, const int incX, const void* Y, const int incY, void *dotu);
48 
49 void reproBLAS_rdgemv(const int fold, const char Order, const char TransA,
50  const int M, const int N,
51  const double alpha, const double *A, const int lda,
52  const double *X, const int incX,
53  const double beta, double *Y, const int incY);
54 void reproBLAS_rdgemm(const int fold, const char Order,
55  const char TransA, const char TransB,
56  const int M, const int N, const int K,
57  const double alpha, const double *A, const int lda,
58  const double *B, const int ldb,
59  const double beta, double *C, const int ldc);
60 
61 void reproBLAS_rsgemv(const int fold, const char Order, const char TransA,
62  const int M, const int N,
63  const float alpha, const float *A, const int lda,
64  const float *X, const int incX,
65  const float beta, float *Y, const int incY);
66 void reproBLAS_rsgemm(const int fold, const char Order,
67  const char TransA, const char TransB,
68  const int M, const int N, const int K,
69  const float alpha, const float *A, const int lda,
70  const float *B, const int ldb,
71  const float beta, float *C, const int ldc);
72 
73 void reproBLAS_rzgemv(const int fold, const char Order, const char TransA,
74  const int M, const int N,
75  const void *alpha, const void *A, const int lda,
76  const void *X, const int incX,
77  const void *beta, void *Y, const int incY);
78 void reproBLAS_rzgemm(const int fold, const char Order,
79  const char TransA, const char TransB,
80  const int M, const int N, const int K,
81  const void *alpha, const void *A, const int lda,
82  const void *B, const int ldb,
83  const void *beta, void *C, const int ldc);
84 
85 void reproBLAS_rcgemv(const int fold, const char Order, const char TransA,
86  const int M, const int N,
87  const void *alpha, const void *A, const int lda,
88  const void *X, const int incX,
89  const void *beta, void *Y, const int incY);
90 void reproBLAS_rcgemm(const int fold, const char Order,
91  const char TransA, const char TransB,
92  const int M, const int N, const int K,
93  const void *alpha, const void *A, const int lda,
94  const void *B, const int ldb,
95  const void *beta, void *C, const int ldc);
96 
97 double reproBLAS_dsum(const int N, const double* X, const int incX);
98 double reproBLAS_dasum(const int N, const double* X, const int incX);
99 double reproBLAS_dnrm2(const int N, const double* X, const int incX);
100 double reproBLAS_ddot(const int N, const double* X, const int incX, const double* Y, const int incY);
101 
102 float reproBLAS_sdot(const int N, const float* X, const int incX, const float* Y, const int incY);
103 float reproBLAS_sasum(const int N, const float* X, const int incX);
104 float reproBLAS_ssum(const int N, const float* X, const int incX);
105 float reproBLAS_snrm2(const int N, const float* X, const int incX);
106 
107 void reproBLAS_zsum_sub(const int N, const void* X, int incX, void *sum);
108 double reproBLAS_dzasum(const int N, const void* X, const int incX);
109 double reproBLAS_dznrm2(const int N, const void* X, int incX);
110 void reproBLAS_zdotc_sub(const int N, const void* X, const int incX, const void* Y, const int incY, void *dotc);
111 void reproBLAS_zdotu_sub(const int N, const void* X, const int incX, const void* Y, const int incY, void *dotu);
112 
113 void reproBLAS_csum_sub(const int N, const void* X, const int incX, void *sum);
114 float reproBLAS_scasum(const int N, const void* X, const int incX);
115 float reproBLAS_scnrm2(const int N, const void* X, const int incX);
116 void reproBLAS_cdotc_sub(const int N, const void* X, const int incX, const void* Y, const int incY, void *dotc);
117 void reproBLAS_cdotu_sub(const int N, const void* X, const int incX, const void* Y, const int incY, void *dotu);
118 
119 void reproBLAS_dgemv(const char Order, const char TransA,
120  const int M, const int N,
121  const double alpha, const double *A, const int lda,
122  const double *X, const int incX,
123  const double beta, double *Y, const int incY);
124 void reproBLAS_dgemm(const char Order, const char TransA, const char TransB,
125  const int M, const int N, const int K,
126  const double alpha, const double *A, const int lda,
127  const double *B, const int ldb,
128  const double beta, double *C, const int ldc);
129 
130 void reproBLAS_sgemv(const char Order, const char TransA,
131  const int M, const int N,
132  const float alpha, const float *A, const int lda,
133  const float *X, const int incX,
134  const float beta, float *Y, const int incY);
135 void reproBLAS_sgemm(const char Order, const char TransA, const char TransB,
136  const int M, const int N, const int K,
137  const float alpha, const float *A, const int lda,
138  const float *B, const int ldb,
139  const float beta, float *C, const int ldc);
140 
141 void reproBLAS_zgemv(const char Order, const char TransA,
142  const int M, const int N,
143  const void *alpha, const void *A, const int lda,
144  const void *X, const int incX,
145  const void *beta, void *Y, const int incY);
146 void reproBLAS_zgemm(const char Order, const char TransA, const char TransB,
147  const int M, const int N, const int K,
148  const void *alpha, const void *A, const int lda,
149  const void *B, const int ldb,
150  const void *beta, void *C, const int ldc);
151 
152 void reproBLAS_cgemv(const char Order, const char TransA,
153  const int M, const int N,
154  const void *alpha, const void *A, const int lda,
155  const void *X, const int incX,
156  const void *beta, void *Y, const int incY);
157 void reproBLAS_cgemm(const char Order, const char TransA, const char TransB,
158  const int M, const int N, const int K,
159  const void *alpha, const void *A, const int lda,
160  const void *B, const int ldb,
161  const void *beta, void *C, const int ldc);
162 
163 #endif
void reproBLAS_rcdotu_sub(const int fold, const int N, const void *X, const int incX, const void *Y, const int incY, void *dotu)
Compute the reproducible unconjugated dot product of complex single precision vectors X and Y...
Definition: rcdotu_sub.c:22
void reproBLAS_zdotc_sub(const int N, const void *X, const int incX, const void *Y, const int incY, void *dotc)
Compute the reproducible conjugated dot product of complex double precision vectors X and Y...
Definition: zdotc_sub.c:22
float reproBLAS_sasum(const int N, const float *X, const int incX)
Compute the reproducible absolute sum of single precision vector X.
Definition: sasum.c:20
void reproBLAS_rzdotc_sub(const int fold, const int N, const void *X, const int incX, const void *Y, const int incY, void *dotc)
Compute the reproducible conjugated dot product of complex double precision vectors X and Y...
Definition: rzdotc_sub.c:22
void reproBLAS_zsum_sub(const int N, const void *X, int incX, void *sum)
Compute the reproducible sum of complex double precision vector X.
Definition: zsum_sub.c:20
void reproBLAS_dgemm(const char Order, const char TransA, const char TransB, const int M, const int N, const int K, const double alpha, const double *A, const int lda, const double *B, const int ldb, const double beta, double *C, const int ldc)
Add to double precision matrix C the reproducible matrix-matrix product of double precision matrices ...
Definition: dgemm.c:38
float reproBLAS_rsasum(const int fold, const int N, const float *X, const int incX)
Compute the reproducible absolute sum of single precision vector X.
Definition: rsasum.c:20
float reproBLAS_ssum(const int N, const float *X, const int incX)
Compute the reproducible sum of single precision vector X.
Definition: ssum.c:20
void reproBLAS_cgemv(const char Order, const char TransA, const int M, const int N, const void *alpha, const void *A, const int lda, const void *X, const int incX, const void *beta, void *Y, const int incY)
Add to complex single precision vector Y the reproducible matrix-vector product of complex single pre...
Definition: cgemv.c:32
double reproBLAS_dznrm2(const int N, const void *X, int incX)
Compute the reproducible Euclidian norm of complex double precision vector X.
Definition: dznrm2.c:20
float reproBLAS_snrm2(const int N, const float *X, const int incX)
Compute the reproducible Euclidian norm of single precision vector X.
Definition: snrm2.c:20
void reproBLAS_sgemv(const char Order, const char TransA, const int M, const int N, const float alpha, const float *A, const int lda, const float *X, const int incX, const float beta, float *Y, const int incY)
Add to single precision vector Y the reproducible matrix-vector product of single precision matrix A ...
Definition: sgemv.c:32
void reproBLAS_rdgemm(const int fold, const char Order, const char TransA, const char TransB, const int M, const int N, const int K, const double alpha, const double *A, const int lda, const double *B, const int ldb, const double beta, double *C, const int ldc)
Add to double precision matrix C the reproducible matrix-matrix product of double precision matrices ...
Definition: rdgemm.c:41
void reproBLAS_dgemv(const char Order, const char TransA, const int M, const int N, const double alpha, const double *A, const int lda, const double *X, const int incX, const double beta, double *Y, const int incY)
Add to double precision vector Y the reproducible matrix-vector product of double precision matrix A ...
Definition: dgemv.c:32
float reproBLAS_scnrm2(const int N, const void *X, const int incX)
Compute the reproducible Euclidian norm of complex single precision vector X.
Definition: scnrm2.c:20
double reproBLAS_dasum(const int N, const double *X, const int incX)
Compute the reproducible absolute sum of double precision vector X.
Definition: dasum.c:20
void reproBLAS_rcdotc_sub(const int fold, const int N, const void *X, const int incX, const void *Y, const int incY, void *dotc)
Compute the reproducible conjugated dot product of complex single precision vectors X and Y...
Definition: rcdotc_sub.c:22
void reproBLAS_cdotu_sub(const int N, const void *X, const int incX, const void *Y, const int incY, void *dotu)
Compute the reproducible unconjugated dot product of complex single precision vectors X and Y...
Definition: cdotu_sub.c:22
double reproBLAS_rdsum(const int fold, const int N, const double *X, const int incX)
Compute the reproducible sum of double precision vector X.
Definition: rdsum.c:20
float reproBLAS_rsnrm2(const int fold, const int N, const float *X, const int incX)
Compute the reproducible Euclidian norm of single precision vector X.
Definition: rsnrm2.c:22
double reproBLAS_dsum(const int N, const double *X, const int incX)
Compute the reproducible sum of double precision vector X.
Definition: dsum.c:20
void reproBLAS_rcgemv(const int fold, const char Order, const char TransA, const int M, const int N, const void *alpha, const void *A, const int lda, const void *X, const int incX, const void *beta, void *Y, const int incY)
Add to complex single precision vector Y the reproducible matrix-vector product of complex single pre...
Definition: rcgemv.c:35
void reproBLAS_zdotu_sub(const int N, const void *X, const int incX, const void *Y, const int incY, void *dotu)
Compute the reproducible unconjugated dot product of complex double precision vectors X and Y...
Definition: zdotu_sub.c:22
void reproBLAS_rcsum_sub(const int fold, const int N, const void *X, const int incX, void *sum)
Compute the reproducible sum of complex single precision vector X.
Definition: rcsum_sub.c:20
void reproBLAS_rcgemm(const int fold, const char Order, const char TransA, const char TransB, const int M, const int N, const int K, const void *alpha, const void *A, const int lda, const void *B, const int ldb, const void *beta, void *C, const int ldc)
Add to complex single precision matrix C the reproducible matrix-matrix product of complex single pre...
Definition: rcgemm.c:41
double reproBLAS_rdasum(const int fold, const int N, const double *X, const int incX)
Compute the reproducible absolute sum of double precision vector X.
Definition: rdasum.c:20
void reproBLAS_zgemv(const char Order, const char TransA, const int M, const int N, const void *alpha, const void *A, const int lda, const void *X, const int incX, const void *beta, void *Y, const int incY)
Add to complex double precision vector Y the reproducible matrix-vector product of complex double pre...
Definition: zgemv.c:32
void reproBLAS_rzsum_sub(const int fold, const int N, const void *X, int incX, void *sum)
Compute the reproducible sum of complex double precision vector X.
Definition: rzsum_sub.c:20
double reproBLAS_rddot(const int fold, const int N, const double *X, const int incX, const double *Y, const int incY)
Compute the reproducible dot product of double precision vectors X and Y.
Definition: rddot.c:22
void reproBLAS_rsgemm(const int fold, const char Order, const char TransA, const char TransB, const int M, const int N, const int K, const float alpha, const float *A, const int lda, const float *B, const int ldb, const float beta, float *C, const int ldc)
Add to single precision matrix C the reproducible matrix-matrix product of single precision matrices ...
Definition: rsgemm.c:41
float reproBLAS_rscnrm2(const int fold, const int N, const void *X, const int incX)
Compute the reproducible Euclidian norm of complex single precision vector X.
Definition: rscnrm2.c:22
void reproBLAS_csum_sub(const int N, const void *X, const int incX, void *sum)
Compute the reproducible sum of complex single precision vector X.
Definition: csum_sub.c:20
float reproBLAS_rsdot(const int fold, const int N, const float *X, const int incX, const float *Y, const int incY)
Compute the reproducible dot product of single precision vectors X and Y.
Definition: rsdot.c:22
double reproBLAS_dzasum(const int N, const void *X, const int incX)
Compute the reproducible absolute sum of complex double precision vector X.
Definition: dzasum.c:20
void reproBLAS_rzgemm(const int fold, const char Order, const char TransA, const char TransB, const int M, const int N, const int K, const void *alpha, const void *A, const int lda, const void *B, const int ldb, const void *beta, void *C, const int ldc)
Add to complex double precision matrix C the reproducible matrix-matrix product of complex double pre...
Definition: rzgemm.c:41
void reproBLAS_cgemm(const char Order, const char TransA, const char TransB, const int M, const int N, const int K, const void *alpha, const void *A, const int lda, const void *B, const int ldb, const void *beta, void *C, const int ldc)
Add to complex single precision matrix C the reproducible matrix-matrix product of complex single pre...
Definition: cgemm.c:38
float reproBLAS_sdot(const int N, const float *X, const int incX, const float *Y, const int incY)
Compute the reproducible dot product of single precision vectors X and Y.
Definition: sdot.c:22
void reproBLAS_rzgemv(const int fold, const char Order, const char TransA, const int M, const int N, const void *alpha, const void *A, const int lda, const void *X, const int incX, const void *beta, void *Y, const int incY)
Add to complex double precision vector Y the reproducible matrix-vector product of complex double pre...
Definition: rzgemv.c:35
double reproBLAS_rdznrm2(const int fold, const int N, const void *X, int incX)
Compute the reproducible Euclidian norm of complex double precision vector X.
Definition: rdznrm2.c:22
void reproBLAS_cdotc_sub(const int N, const void *X, const int incX, const void *Y, const int incY, void *dotc)
Compute the reproducible conjugated dot product of complex single precision vectors X and Y...
Definition: cdotc_sub.c:22
void reproBLAS_rzdotu_sub(const int fold, const int N, const void *X, const int incX, const void *Y, const int incY, void *dotu)
Compute the reproducible unconjugated dot product of complex double precision vectors X and Y...
Definition: rzdotu_sub.c:22
void reproBLAS_rsgemv(const int fold, const char Order, const char TransA, const int M, const int N, const float alpha, const float *A, const int lda, const float *X, const int incX, const float beta, float *Y, const int incY)
Add to single precision vector Y the reproducible matrix-vector product of single precision matrix A ...
Definition: rsgemv.c:35
double reproBLAS_rdnrm2(const int fold, const int N, const double *X, const int incX)
Compute the reproducible Euclidian norm of double precision vector X.
Definition: rdnrm2.c:22
void reproBLAS_rdgemv(const int fold, const char Order, const char TransA, const int M, const int N, const double alpha, const double *A, const int lda, const double *X, const int incX, const double beta, double *Y, const int incY)
Add to double precision vector Y the reproducible matrix-vector product of double precision matrix A ...
Definition: rdgemv.c:35
double reproBLAS_rdzasum(const int fold, const int N, const void *X, const int incX)
Compute the reproducible absolute sum of complex double precision vector X.
Definition: rdzasum.c:20
float reproBLAS_rssum(const int fold, const int N, const float *X, const int incX)
Compute the reproducible sum of single precision vector X.
Definition: rssum.c:20
double reproBLAS_dnrm2(const int N, const double *X, const int incX)
Compute the reproducible Euclidian norm of double precision vector X.
Definition: dnrm2.c:20
float reproBLAS_scasum(const int N, const void *X, const int incX)
Compute the reproducible absolute sum of complex single precision vector X.
Definition: scasum.c:20
void reproBLAS_zgemm(const char Order, const char TransA, const char TransB, const int M, const int N, const int K, const void *alpha, const void *A, const int lda, const void *B, const int ldb, const void *beta, void *C, const int ldc)
Add to complex double precision matrix C the reproducible matrix-matrix product of complex double pre...
Definition: zgemm.c:38
float reproBLAS_rscasum(const int fold, const int N, const void *X, const int incX)
Compute the reproducible absolute sum of complex single precision vector X.
Definition: rscasum.c:20
void reproBLAS_sgemm(const char Order, const char TransA, const char TransB, const int M, const int N, const int K, const float alpha, const float *A, const int lda, const float *B, const int ldb, const float beta, float *C, const int ldc)
Add to single precision matrix C the reproducible matrix-matrix product of single precision matrices ...
Definition: sgemm.c:38
double reproBLAS_ddot(const int N, const double *X, const int incX, const double *Y, const int incY)
Compute the reproducible dot product of double precision vectors X and Y.
Definition: ddot.c:22