2
* Automatically Tuned Linear Algebra Software v3.2
3
* (C) Copyright 1999 R. Clint Whaley
5
* Redistribution and use in source and binary forms, with or without
6
* modification, are permitted provided that the following conditions
8
* 1. Redistributions of source code must retain the above copyright
9
* notice, this list of conditions and the following disclaimer.
10
* 2. Redistributions in binary form must reproduce the above copyright
11
* notice, this list of conditions, and the following disclaimer in the
12
* documentation and/or other materials provided with the distribution.
13
* 3. The name of the University of Tennessee, the ATLAS group,
14
* or the names of its contributers may not be used to endorse
15
* or promote products derived from this software without specific
18
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
19
* ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
20
* TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
21
* PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE UNIVERSITY OR CONTRIBUTORS BE
22
* LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
23
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
24
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
25
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
26
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
27
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
28
* POSSIBILITY OF SUCH DAMAGE.
32
#include "atlas_level2.h"
33
#include "atlas_kernel2.h"
40
void ATL_sger1_a1_x1_yX
41
(const int M, const int N, const float alpha, const float *X,
42
const int incX, const float *Y, const int incY, float *A, const int lda);
43
void ATL_sgemvT_a1_x1_bX_y1
44
(const int M, const int N, const float alpha, const float *A,
45
const int lda, const float *X, const int incX, const float beta,
46
float *Y, const int incY);
47
void ATL_sgemvN_a1_x1_bX_y1
48
(const int M, const int N, const float alpha, const float *A,
49
const int lda, const float *X, const int incX, const float beta,
50
float *Y, const int incY);
51
void ATL_sgemvT_a1_x1_b1_y1
52
(const int M, const int N, const float alpha, const float *A,
53
const int lda, const float *X, const int incX, const float beta,
54
float *Y, const int incY);
55
void ATL_sgemvN_a1_x1_b1_y1
56
(const int M, const int N, const float alpha, const float *A,
57
const int lda, const float *X, const int incX, const float beta,
58
float *Y, const int incY);
59
void ATL_sgemvT_a1_x1_b0_y1
60
(const int M, const int N, const float alpha, const float *A,
61
const int lda, const float *X, const int incX, const float beta,
62
float *Y, const int incY);
63
void ATL_sgemvN_a1_x1_b0_y1
64
(const int M, const int N, const float alpha, const float *A,
65
const int lda, const float *X, const int incX, const float beta,
66
float *Y, const int incY);
67
void ATL_dger1_a1_x1_yX
68
(const int M, const int N, const double alpha, const double *X,
69
const int incX, const double *Y, const int incY, double *A, const int lda);
70
void ATL_dgemvT_a1_x1_bX_y1
71
(const int M, const int N, const double alpha, const double *A,
72
const int lda, const double *X, const int incX, const double beta,
73
double *Y, const int incY);
74
void ATL_dgemvN_a1_x1_bX_y1
75
(const int M, const int N, const double alpha, const double *A,
76
const int lda, const double *X, const int incX, const double beta,
77
double *Y, const int incY);
78
void ATL_dgemvT_a1_x1_b1_y1
79
(const int M, const int N, const double alpha, const double *A,
80
const int lda, const double *X, const int incX, const double beta,
81
double *Y, const int incY);
82
void ATL_dgemvN_a1_x1_b1_y1
83
(const int M, const int N, const double alpha, const double *A,
84
const int lda, const double *X, const int incX, const double beta,
85
double *Y, const int incY);
86
void ATL_dgemvT_a1_x1_b0_y1
87
(const int M, const int N, const double alpha, const double *A,
88
const int lda, const double *X, const int incX, const double beta,
89
double *Y, const int incY);
90
void ATL_dgemvN_a1_x1_b0_y1
91
(const int M, const int N, const double alpha, const double *A,
92
const int lda, const double *X, const int incX, const double beta,
93
double *Y, const int incY);
98
void ATL_cger1u_a1_x1_yX
99
(const int M, const int N, const float *alpha, const float *X,
100
const int incX, const float *Y, const int incY, float *A, const int lda);
101
void ATL_cger1c_a1_x1_yX
102
(const int M, const int N, const float *alpha, const float *X,
103
const int incX, const float *Y, const int incY, float *A, const int lda);
104
void ATL_cgemvC_a1_x1_bXi0_y1
105
(const int M, const int N, const float *alpha, const float *A,
106
const int lda, const float *X, const int incX, const float *beta,
107
float *Y, const int incY);
108
void ATL_cgemvNc_a1_x1_bXi0_y1
109
(const int M, const int N, const float *alpha, const float *A,
110
const int lda, const float *X, const int incX, const float *beta,
111
float *Y, const int incY);
112
void ATL_cgemvT_a1_x1_bXi0_y1
113
(const int M, const int N, const float *alpha, const float *A,
114
const int lda, const float *X, const int incX, const float *beta,
115
float *Y, const int incY);
116
void ATL_cgemvN_a1_x1_bXi0_y1
117
(const int M, const int N, const float *alpha, const float *A,
118
const int lda, const float *X, const int incX, const float *beta,
119
float *Y, const int incY);
120
void ATL_cgemvC_a1_x1_bX_y1
121
(const int M, const int N, const float *alpha, const float *A,
122
const int lda, const float *X, const int incX, const float *beta,
123
float *Y, const int incY);
124
void ATL_cgemvNc_a1_x1_bX_y1
125
(const int M, const int N, const float *alpha, const float *A,
126
const int lda, const float *X, const int incX, const float *beta,
127
float *Y, const int incY);
128
void ATL_cgemvT_a1_x1_bX_y1
129
(const int M, const int N, const float *alpha, const float *A,
130
const int lda, const float *X, const int incX, const float *beta,
131
float *Y, const int incY);
132
void ATL_cgemvN_a1_x1_bX_y1
133
(const int M, const int N, const float *alpha, const float *A,
134
const int lda, const float *X, const int incX, const float *beta,
135
float *Y, const int incY);
136
void ATL_cgemvC_a1_x1_b1_y1
137
(const int M, const int N, const float *alpha, const float *A,
138
const int lda, const float *X, const int incX, const float *beta,
139
float *Y, const int incY);
140
void ATL_cgemvNc_a1_x1_b1_y1
141
(const int M, const int N, const float *alpha, const float *A,
142
const int lda, const float *X, const int incX, const float *beta,
143
float *Y, const int incY);
144
void ATL_cgemvT_a1_x1_b1_y1
145
(const int M, const int N, const float *alpha, const float *A,
146
const int lda, const float *X, const int incX, const float *beta,
147
float *Y, const int incY);
148
void ATL_cgemvN_a1_x1_b1_y1
149
(const int M, const int N, const float *alpha, const float *A,
150
const int lda, const float *X, const int incX, const float *beta,
151
float *Y, const int incY);
152
void ATL_cgemvC_a1_x1_b0_y1
153
(const int M, const int N, const float *alpha, const float *A,
154
const int lda, const float *X, const int incX, const float *beta,
155
float *Y, const int incY);
156
void ATL_cgemvNc_a1_x1_b0_y1
157
(const int M, const int N, const float *alpha, const float *A,
158
const int lda, const float *X, const int incX, const float *beta,
159
float *Y, const int incY);
160
void ATL_cgemvT_a1_x1_b0_y1
161
(const int M, const int N, const float *alpha, const float *A,
162
const int lda, const float *X, const int incX, const float *beta,
163
float *Y, const int incY);
164
void ATL_cgemvN_a1_x1_b0_y1
165
(const int M, const int N, const float *alpha, const float *A,
166
const int lda, const float *X, const int incX, const float *beta,
167
float *Y, const int incY);
168
void ATL_zger1u_a1_x1_yX
169
(const int M, const int N, const double *alpha, const double *X,
170
const int incX, const double *Y, const int incY, double *A, const int lda);
171
void ATL_zger1c_a1_x1_yX
172
(const int M, const int N, const double *alpha, const double *X,
173
const int incX, const double *Y, const int incY, double *A, const int lda);
174
void ATL_zgemvC_a1_x1_bXi0_y1
175
(const int M, const int N, const double *alpha, const double *A,
176
const int lda, const double *X, const int incX, const double *beta,
177
double *Y, const int incY);
178
void ATL_zgemvNc_a1_x1_bXi0_y1
179
(const int M, const int N, const double *alpha, const double *A,
180
const int lda, const double *X, const int incX, const double *beta,
181
double *Y, const int incY);
182
void ATL_zgemvT_a1_x1_bXi0_y1
183
(const int M, const int N, const double *alpha, const double *A,
184
const int lda, const double *X, const int incX, const double *beta,
185
double *Y, const int incY);
186
void ATL_zgemvN_a1_x1_bXi0_y1
187
(const int M, const int N, const double *alpha, const double *A,
188
const int lda, const double *X, const int incX, const double *beta,
189
double *Y, const int incY);
190
void ATL_zgemvC_a1_x1_bX_y1
191
(const int M, const int N, const double *alpha, const double *A,
192
const int lda, const double *X, const int incX, const double *beta,
193
double *Y, const int incY);
194
void ATL_zgemvNc_a1_x1_bX_y1
195
(const int M, const int N, const double *alpha, const double *A,
196
const int lda, const double *X, const int incX, const double *beta,
197
double *Y, const int incY);
198
void ATL_zgemvT_a1_x1_bX_y1
199
(const int M, const int N, const double *alpha, const double *A,
200
const int lda, const double *X, const int incX, const double *beta,
201
double *Y, const int incY);
202
void ATL_zgemvN_a1_x1_bX_y1
203
(const int M, const int N, const double *alpha, const double *A,
204
const int lda, const double *X, const int incX, const double *beta,
205
double *Y, const int incY);
206
void ATL_zgemvC_a1_x1_b1_y1
207
(const int M, const int N, const double *alpha, const double *A,
208
const int lda, const double *X, const int incX, const double *beta,
209
double *Y, const int incY);
210
void ATL_zgemvNc_a1_x1_b1_y1
211
(const int M, const int N, const double *alpha, const double *A,
212
const int lda, const double *X, const int incX, const double *beta,
213
double *Y, const int incY);
214
void ATL_zgemvT_a1_x1_b1_y1
215
(const int M, const int N, const double *alpha, const double *A,
216
const int lda, const double *X, const int incX, const double *beta,
217
double *Y, const int incY);
218
void ATL_zgemvN_a1_x1_b1_y1
219
(const int M, const int N, const double *alpha, const double *A,
220
const int lda, const double *X, const int incX, const double *beta,
221
double *Y, const int incY);
222
void ATL_zgemvC_a1_x1_b0_y1
223
(const int M, const int N, const double *alpha, const double *A,
224
const int lda, const double *X, const int incX, const double *beta,
225
double *Y, const int incY);
226
void ATL_zgemvNc_a1_x1_b0_y1
227
(const int M, const int N, const double *alpha, const double *A,
228
const int lda, const double *X, const int incX, const double *beta,
229
double *Y, const int incY);
230
void ATL_zgemvT_a1_x1_b0_y1
231
(const int M, const int N, const double *alpha, const double *A,
232
const int lda, const double *X, const int incX, const double *beta,
233
double *Y, const int incY);
234
void ATL_zgemvN_a1_x1_b0_y1
235
(const int M, const int N, const double *alpha, const double *A,
236
const int lda, const double *X, const int incX, const double *beta,
237
double *Y, const int incY);