~ubuntu-branches/ubuntu/vivid/atlas/vivid

« back to all changes in this revision

Viewing changes to include/atlas_lvl2.h

  • Committer: Bazaar Package Importer
  • Author(s): Camm Maguire
  • Date: 2002-04-13 10:07:52 UTC
  • Revision ID: james.westby@ubuntu.com-20020413100752-va9zm0rd4gpurdkq
Tags: upstream-3.2.1ln
ImportĀ upstreamĀ versionĀ 3.2.1ln

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
/*
 
2
 *             Automatically Tuned Linear Algebra Software v3.2
 
3
 *                    (C) Copyright 1999 R. Clint Whaley                     
 
4
 *
 
5
 * Redistribution and use in source and binary forms, with or without
 
6
 * modification, are permitted provided that the following conditions
 
7
 * are met:
 
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
 
16
 *      written permission.
 
17
 *
 
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. 
 
29
 *
 
30
 */
 
31
 
 
32
#include "atlas_level2.h"
 
33
#include "atlas_kernel2.h"
 
34
#ifndef ATLAS_LVL2_H
 
35
#define ATLAS_LVL2_H
 
36
 
 
37
/*
 
38
 * Real kernels
 
39
 */
 
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);
 
94
 
 
95
/*
 
96
 * Complex kernels
 
97
 */
 
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);
 
238
 
 
239
#endif