| 29932 |
ripley |
1 |
/*
|
|
|
2 |
* R : A Computer Language for Statistical Data Analysis
|
| 76573 |
ripley |
3 |
* Copyright (C) 2003-2019 The R Core Team.
|
| 29932 |
ripley |
4 |
*
|
| 71657 |
plummer |
5 |
* This header file is free software; you can redistribute it and/or modify
|
| 29932 |
ripley |
6 |
* it under the terms of the GNU Lesser General Public License as published by
|
|
|
7 |
* the Free Software Foundation; either version 2.1 of the License, or
|
|
|
8 |
* (at your option) any later version.
|
|
|
9 |
*
|
| 71657 |
plummer |
10 |
* This file is part of R. R is distributed under the terms of the
|
|
|
11 |
* GNU General Public License, either Version 2, June 1991 or Version 3,
|
|
|
12 |
* June 2007. See doc/COPYRIGHTS for details of the copyright status of R.
|
|
|
13 |
*
|
| 29932 |
ripley |
14 |
* This program is distributed in the hope that it will be useful,
|
|
|
15 |
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
|
16 |
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
|
17 |
* GNU Lesser General Public License for more details.
|
|
|
18 |
*
|
|
|
19 |
* You should have received a copy of the GNU Lesser General Public License
|
| 42308 |
ripley |
20 |
* along with this program; if not, a copy is available at
|
| 68949 |
ripley |
21 |
* https://www.R-project.org/Licenses/
|
| 29932 |
ripley |
22 |
*/
|
|
|
23 |
|
| 60961 |
ripley |
24 |
/*
|
|
|
25 |
C declarations of BLAS Fortran subroutines always available in R.
|
|
|
26 |
|
|
|
27 |
Part of the API.
|
|
|
28 |
|
| 71463 |
ripley |
29 |
R packages that use these should have PKG_LIBS in src/Makevars include
|
| 60961 |
ripley |
30 |
$(BLAS_LIBS) $(FLIBS)
|
|
|
31 |
*/
|
|
|
32 |
|
| 60253 |
ripley |
33 |
/* Part of the API */
|
|
|
34 |
|
| 23063 |
bates |
35 |
#ifndef R_BLAS_H
|
|
|
36 |
#define R_BLAS_H
|
|
|
37 |
|
|
|
38 |
#include <R_ext/RS.h> /* for F77_... */
|
|
|
39 |
#include <R_ext/Complex.h> /* for Rcomplex */
|
|
|
40 |
|
| 76600 |
ripley |
41 |
#ifdef FC_LEN_T
|
| 76585 |
ripley |
42 |
# include <stddef.h> // for size_t if needed
|
|
|
43 |
# define FCLEN ,FC_LEN_T
|
|
|
44 |
# define FCONE ,(FC_LEN_T)1
|
|
|
45 |
#else
|
|
|
46 |
# define FCLEN
|
|
|
47 |
# define FCONE
|
|
|
48 |
#endif
|
|
|
49 |
|
| 23063 |
bates |
50 |
#ifdef __cplusplus
|
|
|
51 |
extern "C" {
|
|
|
52 |
#endif
|
|
|
53 |
|
| 60961 |
ripley |
54 |
// never defined in R itself.
|
| 44687 |
maechler |
55 |
#ifndef BLAS_extern
|
|
|
56 |
#define BLAS_extern extern
|
|
|
57 |
#endif
|
|
|
58 |
|
| 23063 |
bates |
59 |
/* Double Precision Level 1 BLAS */
|
|
|
60 |
|
| 44687 |
maechler |
61 |
BLAS_extern double /* DASUM - sum of absolute values of a one-dimensional array */
|
| 23063 |
bates |
62 |
F77_NAME(dasum)(const int *n, const double *dx, const int *incx);
|
| 76573 |
ripley |
63 |
BLAS_extern void /* DAXPY - replace y by da*x + y */
|
|
|
64 |
F77_NAME(daxpy)(const int *n, const double *da,
|
| 23063 |
bates |
65 |
const double *dx, const int *incx,
|
|
|
66 |
double *dy, const int *incy);
|
| 44687 |
maechler |
67 |
BLAS_extern void /* DCOPY - copy x to y */
|
| 23063 |
bates |
68 |
F77_NAME(dcopy)(const int *n, const double *dx, const int *incx,
|
|
|
69 |
double *dy, const int *incy);
|
| 44687 |
maechler |
70 |
BLAS_extern double /* DDOT - inner product of x and y */
|
| 36367 |
ripley |
71 |
F77_NAME(ddot)(const int *n, const double *dx, const int *incx,
|
| 23063 |
bates |
72 |
const double *dy, const int *incy);
|
| 44687 |
maechler |
73 |
BLAS_extern double /* DNRM2 - 2-norm of a vector */
|
| 36367 |
ripley |
74 |
F77_NAME(dnrm2)(const int *n, const double *dx, const int *incx);
|
| 44687 |
maechler |
75 |
BLAS_extern void /* DROT - apply a Given's rotation */
|
| 23063 |
bates |
76 |
F77_NAME(drot)(const int *n, double *dx, const int *incx,
|
|
|
77 |
double *dy, const int *incy, const double *c, const double *s);
|
| 44687 |
maechler |
78 |
BLAS_extern void /* DROTG - generate a Given's rotation */
|
| 23063 |
bates |
79 |
F77_NAME(drotg)(const double *a, const double *b, double *c, double *s);
|
| 44687 |
maechler |
80 |
BLAS_extern void /* DROTM - apply a modified Given's rotation */
|
| 36352 |
ripley |
81 |
F77_NAME(drotm)(const int *n, double *dx, const int *incx,
|
|
|
82 |
double *dy, const int *incy, const double *dparam);
|
| 44687 |
maechler |
83 |
BLAS_extern void /* DROTMG - generate a modified Given's rotation */
|
| 36367 |
ripley |
84 |
F77_NAME(drotmg)(const double *dd1, const double *dd2, const double *dx1,
|
| 36352 |
ripley |
85 |
const double *dy1, double *param);
|
| 44687 |
maechler |
86 |
BLAS_extern void /* DSCAL - scale a one-dimensional array */
|
| 23063 |
bates |
87 |
F77_NAME(dscal)(const int *n, const double *alpha, double *dx, const int *incx);
|
| 44687 |
maechler |
88 |
BLAS_extern void /* DSWAP - interchange one-dimensional arrays */
|
| 23063 |
bates |
89 |
F77_NAME(dswap)(const int *n, double *dx, const int *incx,
|
|
|
90 |
double *dy, const int *incy);
|
| 44687 |
maechler |
91 |
BLAS_extern int /* IDAMAX - return the index of the element with max abs value */
|
| 23063 |
bates |
92 |
F77_NAME(idamax)(const int *n, const double *dx, const int *incx);
|
|
|
93 |
|
|
|
94 |
/* Double Precision Level 2 BLAS */
|
|
|
95 |
|
|
|
96 |
/* DGBMV - perform one of the matrix-vector operations */
|
|
|
97 |
/* y := alpha*A*x + beta*y, or y := alpha*A'*x + beta*y, */
|
| 44687 |
maechler |
98 |
BLAS_extern void
|
| 23063 |
bates |
99 |
F77_NAME(dgbmv)(const char *trans, const int *m, const int *n,
|
|
|
100 |
const int *kl,const int *ku,
|
|
|
101 |
const double *alpha, const double *a, const int *lda,
|
|
|
102 |
const double *x, const int *incx,
|
| 76585 |
ripley |
103 |
const double *beta, double *y, const int *incy FCLEN);
|
| 23063 |
bates |
104 |
/* DGEMV - perform one of the matrix-vector operations */
|
|
|
105 |
/* y := alpha*A*x + beta*y, or y := alpha*A'*x + beta*y, */
|
| 44687 |
maechler |
106 |
BLAS_extern void
|
| 23063 |
bates |
107 |
F77_NAME(dgemv)(const char *trans, const int *m, const int *n,
|
|
|
108 |
const double *alpha, const double *a, const int *lda,
|
|
|
109 |
const double *x, const int *incx, const double *beta,
|
| 76585 |
ripley |
110 |
double *y, const int *incy FCLEN);
|
| 23063 |
bates |
111 |
/* DSBMV - perform the matrix-vector operation */
|
|
|
112 |
/* y := alpha*A*x + beta*y, */
|
| 44687 |
maechler |
113 |
BLAS_extern void
|
| 23063 |
bates |
114 |
F77_NAME(dsbmv)(const char *uplo, const int *n, const int *k,
|
|
|
115 |
const double *alpha, const double *a, const int *lda,
|
|
|
116 |
const double *x, const int *incx,
|
| 76585 |
ripley |
117 |
const double *beta, double *y, const int *incy FCLEN);
|
| 23063 |
bates |
118 |
/* DSPMV - perform the matrix-vector operation */
|
|
|
119 |
/* y := alpha*A*x + beta*y, */
|
| 44687 |
maechler |
120 |
BLAS_extern void
|
| 23063 |
bates |
121 |
F77_NAME(dspmv)(const char *uplo, const int *n,
|
|
|
122 |
const double *alpha, const double *ap,
|
|
|
123 |
const double *x, const int *incx,
|
| 76585 |
ripley |
124 |
const double *beta, double *y, const int *incy FCLEN);
|
| 23063 |
bates |
125 |
|
|
|
126 |
/* DSYMV - perform the matrix-vector operation */
|
|
|
127 |
/* y := alpha*A*x + beta*y, */
|
| 44687 |
maechler |
128 |
BLAS_extern void
|
| 23063 |
bates |
129 |
F77_NAME(dsymv)(const char *uplo, const int *n, const double *alpha,
|
|
|
130 |
const double *a, const int *lda,
|
|
|
131 |
const double *x, const int *incx,
|
| 76585 |
ripley |
132 |
const double *beta, double *y, const int *incy FCLEN);
|
| 23063 |
bates |
133 |
/* DTBMV - perform one of the matrix-vector operations */
|
|
|
134 |
/* x := A*x, or x := A'*x, */
|
| 44687 |
maechler |
135 |
BLAS_extern void
|
| 23063 |
bates |
136 |
F77_NAME(dtbmv)(const char *uplo, const char *trans,
|
|
|
137 |
const char *diag, const int *n, const int *k,
|
|
|
138 |
const double *a, const int *lda,
|
| 76585 |
ripley |
139 |
double *x, const int *incx FCLEN FCLEN FCLEN);
|
| 23063 |
bates |
140 |
/* DTPMV - perform one of the matrix-vector operations */
|
|
|
141 |
/* x := A*x, or x := A'*x, */
|
| 44687 |
maechler |
142 |
BLAS_extern void
|
| 23063 |
bates |
143 |
F77_NAME(dtpmv)(const char *uplo, const char *trans, const char *diag,
|
| 36367 |
ripley |
144 |
const int *n, const double *ap,
|
| 76585 |
ripley |
145 |
double *x, const int *incx FCLEN FCLEN FCLEN);
|
| 23063 |
bates |
146 |
/* DTRMV - perform one of the matrix-vector operations */
|
|
|
147 |
/* x := A*x, or x := A'*x, */
|
| 44687 |
maechler |
148 |
BLAS_extern void
|
| 23063 |
bates |
149 |
F77_NAME(dtrmv)(const char *uplo, const char *trans, const char *diag,
|
|
|
150 |
const int *n, const double *a, const int *lda,
|
| 76585 |
ripley |
151 |
double *x, const int *incx FCLEN FCLEN FCLEN);
|
| 23063 |
bates |
152 |
/* DTBSV - solve one of the systems of equations */
|
|
|
153 |
/* A*x = b, or A'*x = b, */
|
| 44687 |
maechler |
154 |
BLAS_extern void
|
| 23063 |
bates |
155 |
F77_NAME(dtbsv)(const char *uplo, const char *trans,
|
|
|
156 |
const char *diag, const int *n, const int *k,
|
|
|
157 |
const double *a, const int *lda,
|
| 76585 |
ripley |
158 |
double *x, const int *incx FCLEN FCLEN FCLEN);
|
| 23063 |
bates |
159 |
/* DTPSV - solve one of the systems of equations */
|
|
|
160 |
/* A*x = b, or A'*x = b, */
|
| 44687 |
maechler |
161 |
BLAS_extern void
|
| 23063 |
bates |
162 |
F77_NAME(dtpsv)(const char *uplo, const char *trans,
|
|
|
163 |
const char *diag, const int *n,
|
| 76585 |
ripley |
164 |
const double *ap, double *x, const int *incx
|
|
|
165 |
FCLEN FCLEN FCLEN);
|
| 23063 |
bates |
166 |
/* DTRSV - solve one of the systems of equations */
|
|
|
167 |
/* A*x = b, or A'*x = b, */
|
| 44687 |
maechler |
168 |
BLAS_extern void
|
| 23063 |
bates |
169 |
F77_NAME(dtrsv)(const char *uplo, const char *trans,
|
|
|
170 |
const char *diag, const int *n,
|
|
|
171 |
const double *a, const int *lda,
|
| 76585 |
ripley |
172 |
double *x, const int *incx FCLEN FCLEN FCLEN);
|
| 23063 |
bates |
173 |
/* DGER - perform the rank 1 operation A := alpha*x*y' + A */
|
| 44687 |
maechler |
174 |
BLAS_extern void
|
| 23063 |
bates |
175 |
F77_NAME(dger)(const int *m, const int *n, const double *alpha,
|
| 52906 |
maechler |
176 |
const double *x, const int *incx,
|
|
|
177 |
const double *y, const int *incy,
|
| 23063 |
bates |
178 |
double *a, const int *lda);
|
|
|
179 |
/* DSYR - perform the symmetric rank 1 operation A := alpha*x*x' + A */
|
| 44687 |
maechler |
180 |
BLAS_extern void
|
| 23063 |
bates |
181 |
F77_NAME(dsyr)(const char *uplo, const int *n, const double *alpha,
|
|
|
182 |
const double *x, const int *incx,
|
| 76585 |
ripley |
183 |
double *a, const int *lda FCLEN);
|
| 23063 |
bates |
184 |
/* DSPR - perform the symmetric rank 1 operation A := alpha*x*x' + A */
|
| 44687 |
maechler |
185 |
BLAS_extern void
|
| 23063 |
bates |
186 |
F77_NAME(dspr)(const char *uplo, const int *n, const double *alpha,
|
| 76585 |
ripley |
187 |
const double *x, const int *incx, double *ap FCLEN);
|
| 23063 |
bates |
188 |
/* DSYR2 - perform the symmetric rank 2 operation */
|
|
|
189 |
/* A := alpha*x*y' + alpha*y*x' + A, */
|
| 44687 |
maechler |
190 |
BLAS_extern void
|
| 23063 |
bates |
191 |
F77_NAME(dsyr2)(const char *uplo, const int *n, const double *alpha,
|
|
|
192 |
const double *x, const int *incx,
|
|
|
193 |
const double *y, const int *incy,
|
| 76585 |
ripley |
194 |
double *a, const int *lda FCLEN);
|
| 23063 |
bates |
195 |
/* DSPR2 - perform the symmetric rank 2 operation */
|
|
|
196 |
/* A := alpha*x*y' + alpha*y*x' + A, */
|
| 44687 |
maechler |
197 |
BLAS_extern void
|
| 23063 |
bates |
198 |
F77_NAME(dspr2)(const char *uplo, const int *n, const double *alpha,
|
|
|
199 |
const double *x, const int *incx,
|
| 76585 |
ripley |
200 |
const double *y, const int *incy, double *ap FCLEN);
|
| 23063 |
bates |
201 |
|
|
|
202 |
/* Double Precision Level 3 BLAS */
|
|
|
203 |
|
|
|
204 |
/* DGEMM - perform one of the matrix-matrix operations */
|
|
|
205 |
/* C := alpha*op( A )*op( B ) + beta*C */
|
| 44687 |
maechler |
206 |
BLAS_extern void
|
| 23063 |
bates |
207 |
F77_NAME(dgemm)(const char *transa, const char *transb, const int *m,
|
|
|
208 |
const int *n, const int *k, const double *alpha,
|
|
|
209 |
const double *a, const int *lda,
|
|
|
210 |
const double *b, const int *ldb,
|
| 76585 |
ripley |
211 |
const double *beta, double *c, const int *ldc
|
|
|
212 |
FCLEN FCLEN);
|
| 23063 |
bates |
213 |
/* DTRSM - solve one of the matrix equations */
|
|
|
214 |
/* op(A)*X = alpha*B, or X*op(A) = alpha*B */
|
| 44687 |
maechler |
215 |
BLAS_extern void
|
| 23063 |
bates |
216 |
F77_NAME(dtrsm)(const char *side, const char *uplo,
|
|
|
217 |
const char *transa, const char *diag,
|
|
|
218 |
const int *m, const int *n, const double *alpha,
|
|
|
219 |
const double *a, const int *lda,
|
| 76585 |
ripley |
220 |
double *b, const int *ldb
|
|
|
221 |
FCLEN FCLEN FCLEN FCLEN);
|
| 23063 |
bates |
222 |
/* DTRMM - perform one of the matrix-matrix operations */
|
|
|
223 |
/* B := alpha*op( A )*B, or B := alpha*B*op( A ) */
|
| 44687 |
maechler |
224 |
BLAS_extern void
|
| 23063 |
bates |
225 |
F77_NAME(dtrmm)(const char *side, const char *uplo, const char *transa,
|
|
|
226 |
const char *diag, const int *m, const int *n,
|
|
|
227 |
const double *alpha, const double *a, const int *lda,
|
| 76585 |
ripley |
228 |
double *b, const int *ldb
|
|
|
229 |
FCLEN FCLEN FCLEN FCLEN);
|
| 23063 |
bates |
230 |
/* DSYMM - perform one of the matrix-matrix operations */
|
|
|
231 |
/* C := alpha*A*B + beta*C, */
|
| 44687 |
maechler |
232 |
BLAS_extern void
|
| 23063 |
bates |
233 |
F77_NAME(dsymm)(const char *side, const char *uplo, const int *m,
|
|
|
234 |
const int *n, const double *alpha,
|
|
|
235 |
const double *a, const int *lda,
|
|
|
236 |
const double *b, const int *ldb,
|
| 76585 |
ripley |
237 |
const double *beta, double *c, const int *ldc
|
|
|
238 |
FCLEN FCLEN);
|
| 23063 |
bates |
239 |
/* DSYRK - perform one of the symmetric rank k operations */
|
|
|
240 |
/* C := alpha*A*A' + beta*C or C := alpha*A'*A + beta*C */
|
| 44687 |
maechler |
241 |
BLAS_extern void
|
| 23063 |
bates |
242 |
F77_NAME(dsyrk)(const char *uplo, const char *trans,
|
|
|
243 |
const int *n, const int *k,
|
|
|
244 |
const double *alpha, const double *a, const int *lda,
|
| 76585 |
ripley |
245 |
const double *beta, double *c, const int *ldc
|
|
|
246 |
FCLEN FCLEN);
|
| 23063 |
bates |
247 |
/* DSYR2K - perform one of the symmetric rank 2k operations */
|
|
|
248 |
/* C := alpha*A*B' + alpha*B*A' + beta*C or */
|
|
|
249 |
/* C := alpha*A'*B + alpha*B'*A + beta*C */
|
| 44687 |
maechler |
250 |
BLAS_extern void
|
| 23063 |
bates |
251 |
F77_NAME(dsyr2k)(const char *uplo, const char *trans,
|
|
|
252 |
const int *n, const int *k,
|
|
|
253 |
const double *alpha, const double *a, const int *lda,
|
|
|
254 |
const double *b, const int *ldb,
|
| 76585 |
ripley |
255 |
const double *beta, double *c, const int *ldc
|
|
|
256 |
FCLEN FCLEN);
|
| 36352 |
ripley |
257 |
/*
|
|
|
258 |
LSAME is a LAPACK support routine, not part of BLAS
|
|
|
259 |
*/
|
| 35002 |
ripley |
260 |
|
| 36367 |
ripley |
261 |
/* Double complex BLAS routines added for 2.3.0 */
|
| 44669 |
maechler |
262 |
/* #ifdef HAVE_FORTRAN_DOUBLE_COMPLEX */
|
| 44687 |
maechler |
263 |
BLAS_extern double
|
| 76573 |
ripley |
264 |
F77_NAME(dcabs1)(const Rcomplex *z);
|
| 44687 |
maechler |
265 |
BLAS_extern double
|
| 71463 |
ripley |
266 |
F77_NAME(dzasum)(const int *n, const Rcomplex *zx, const int *incx);
|
| 44687 |
maechler |
267 |
BLAS_extern double
|
| 71463 |
ripley |
268 |
F77_NAME(dznrm2)(const int *n, const Rcomplex *x, const int *incx);
|
| 44687 |
maechler |
269 |
BLAS_extern int
|
| 71463 |
ripley |
270 |
F77_NAME(izamax)(const int *n, const Rcomplex *zx, const int *incx);
|
| 44687 |
maechler |
271 |
BLAS_extern void
|
| 71463 |
ripley |
272 |
F77_NAME(zaxpy)(const int *n, const Rcomplex *za, const Rcomplex *zx,
|
|
|
273 |
const int *incx, const Rcomplex *zy, const int *incy);
|
| 44687 |
maechler |
274 |
BLAS_extern void
|
| 71463 |
ripley |
275 |
F77_NAME(zcopy)(const int *n, const Rcomplex *zx, const int *incx,
|
|
|
276 |
const Rcomplex *zy, const int *incy);
|
| 58613 |
ripley |
277 |
|
|
|
278 |
/* WARNING! The next two return a value that may not be
|
|
|
279 |
compatible between C and Fortran, and even if it is, this might
|
|
|
280 |
not be the right translation to C. Only use after
|
|
|
281 |
configure-testing with your compilers.
|
|
|
282 |
*/
|
| 44687 |
maechler |
283 |
BLAS_extern Rcomplex
|
| 71463 |
ripley |
284 |
F77_NAME(zdotc)(const int *n,
|
|
|
285 |
const Rcomplex *zx, const int *incx,
|
|
|
286 |
const Rcomplex *zy, const int *incy);
|
| 44687 |
maechler |
287 |
BLAS_extern Rcomplex
|
| 71463 |
ripley |
288 |
F77_NAME(zdotu)(const int *n,
|
|
|
289 |
const Rcomplex *zx, const int *incx,
|
|
|
290 |
const Rcomplex *zy, const int *incy);
|
| 58613 |
ripley |
291 |
|
| 44687 |
maechler |
292 |
BLAS_extern void
|
| 71463 |
ripley |
293 |
F77_NAME(zdrot)(const int *n,
|
|
|
294 |
const Rcomplex *zx, const int *incx,
|
|
|
295 |
Rcomplex *zy, const int *incy,
|
|
|
296 |
const double *c, const double *s);
|
| 44687 |
maechler |
297 |
BLAS_extern void
|
| 71463 |
ripley |
298 |
F77_NAME(zdscal)(const int *n, const double *da,
|
|
|
299 |
Rcomplex *zx, const int *incx);
|
| 44687 |
maechler |
300 |
BLAS_extern void
|
| 71463 |
ripley |
301 |
F77_NAME(zgbmv)(const char *trans, int *m, int *n, int *kl,
|
| 36367 |
ripley |
302 |
int *ku, Rcomplex *alpha, Rcomplex *a, int *lda,
|
|
|
303 |
Rcomplex *x, int *incx, Rcomplex *beta, Rcomplex *y,
|
| 76585 |
ripley |
304 |
int *incy FCLEN);
|
| 44687 |
maechler |
305 |
BLAS_extern void
|
| 36367 |
ripley |
306 |
F77_NAME(zgemm)(const char *transa, const char *transb, const int *m,
|
|
|
307 |
const int *n, const int *k, const Rcomplex *alpha,
|
|
|
308 |
const Rcomplex *a, const int *lda,
|
|
|
309 |
const Rcomplex *b, const int *ldb,
|
| 76585 |
ripley |
310 |
const Rcomplex *beta, Rcomplex *c, const int *ldc
|
|
|
311 |
FCLEN FCLEN);
|
| 44687 |
maechler |
312 |
BLAS_extern void
|
| 71463 |
ripley |
313 |
F77_NAME(zgemv)(const char *trans, const int *m, const int *n,
|
|
|
314 |
const Rcomplex *alpha, const Rcomplex *a, const int *lda,
|
|
|
315 |
const Rcomplex *x, const int *incx, const Rcomplex *beta,
|
| 76585 |
ripley |
316 |
Rcomplex *y, const int *incy FCLEN);
|
| 44687 |
maechler |
317 |
BLAS_extern void
|
| 71463 |
ripley |
318 |
F77_NAME(zgerc)(const int *m, const int *n, const Rcomplex *alpha,
|
|
|
319 |
const Rcomplex *x, const int *incx, const Rcomplex *y,
|
|
|
320 |
const int *incy, Rcomplex *a, const int *lda);
|
| 44687 |
maechler |
321 |
BLAS_extern void
|
| 71463 |
ripley |
322 |
F77_NAME(zgeru)(const int *m, const int *n, const Rcomplex *alpha,
|
|
|
323 |
const Rcomplex *x, const int *incx, const Rcomplex *y,
|
|
|
324 |
const int *incy, Rcomplex *a, const int *lda);
|
| 44687 |
maechler |
325 |
BLAS_extern void
|
| 71463 |
ripley |
326 |
F77_NAME(zhbmv)(const char *uplo, const int *n, const int *k,
|
|
|
327 |
const Rcomplex *alpha, const Rcomplex *a, const int *lda,
|
|
|
328 |
const Rcomplex *x, const int *incx, const Rcomplex *beta,
|
| 76585 |
ripley |
329 |
Rcomplex *y, const int *incy FCLEN);
|
| 44687 |
maechler |
330 |
BLAS_extern void
|
| 71463 |
ripley |
331 |
F77_NAME(zhemm)(const char *side, const char *uplo, const int *m,
|
|
|
332 |
const int *n, const Rcomplex *alpha, const Rcomplex *a,
|
|
|
333 |
const int *lda, const Rcomplex *b, const int *ldb,
|
| 76585 |
ripley |
334 |
const Rcomplex *beta, Rcomplex *c, const int *ldc
|
|
|
335 |
FCLEN FCLEN);
|
| 44687 |
maechler |
336 |
BLAS_extern void
|
| 71463 |
ripley |
337 |
F77_NAME(zhemv)(const char *uplo, const int *n, const Rcomplex *alpha,
|
|
|
338 |
const Rcomplex *a, const int *lda, const Rcomplex *x,
|
|
|
339 |
const int *incx, const Rcomplex *beta,
|
| 76585 |
ripley |
340 |
Rcomplex *y, const int *incy FCLEN);
|
| 44687 |
maechler |
341 |
BLAS_extern void
|
| 71463 |
ripley |
342 |
F77_NAME(zher)(const char *uplo, const int *n, const double *alpha,
|
|
|
343 |
const Rcomplex *x, const int *incx, Rcomplex *a,
|
| 76585 |
ripley |
344 |
const int *lda FCLEN);
|
| 44687 |
maechler |
345 |
BLAS_extern void
|
| 71463 |
ripley |
346 |
F77_NAME(zher2)(const char *uplo, const int *n, const Rcomplex *alpha,
|
|
|
347 |
const Rcomplex *x, const int *incx, const Rcomplex *y,
|
| 76585 |
ripley |
348 |
const int *incy, Rcomplex *a, const int *lda FCLEN);
|
| 44687 |
maechler |
349 |
BLAS_extern void
|
| 71463 |
ripley |
350 |
F77_NAME(zher2k)(const char *uplo, const char *trans, const int *n,
|
|
|
351 |
const int *k, const Rcomplex *alpha, const Rcomplex *a,
|
|
|
352 |
const int *lda, const Rcomplex *b, const int *ldb,
|
| 76585 |
ripley |
353 |
const double *beta, Rcomplex *c, const int *ldc
|
|
|
354 |
FCLEN FCLEN);
|
| 44687 |
maechler |
355 |
BLAS_extern void
|
| 71463 |
ripley |
356 |
F77_NAME(zherk)(const char *uplo, const char *trans, const int *n,
|
|
|
357 |
const int *k, const double *alpha, const Rcomplex *a,
|
|
|
358 |
const int *lda, const double *beta, Rcomplex *c,
|
| 76585 |
ripley |
359 |
const int *ldc FCLEN FCLEN);
|
| 44687 |
maechler |
360 |
BLAS_extern void
|
| 71463 |
ripley |
361 |
F77_NAME(zhpmv)(const char *uplo, const int *n, const Rcomplex *alpha,
|
|
|
362 |
const Rcomplex *ap, const Rcomplex *x, const int *incx,
|
| 76585 |
ripley |
363 |
const Rcomplex * beta, Rcomplex *y, const int *incy
|
|
|
364 |
FCLEN);
|
| 44687 |
maechler |
365 |
BLAS_extern void
|
| 71463 |
ripley |
366 |
F77_NAME(zhpr)(const char *uplo, const int *n, const double *alpha,
|
| 76585 |
ripley |
367 |
const Rcomplex *x, const int *incx, Rcomplex *ap
|
|
|
368 |
FCLEN);
|
| 44687 |
maechler |
369 |
BLAS_extern void
|
| 71463 |
ripley |
370 |
F77_NAME(zhpr2)(const char *uplo, const int *n, const Rcomplex *alpha,
|
|
|
371 |
const Rcomplex *x, const int *incx, const Rcomplex *y,
|
| 76585 |
ripley |
372 |
const int *incy, Rcomplex *ap FCLEN);
|
| 44687 |
maechler |
373 |
BLAS_extern void
|
| 71463 |
ripley |
374 |
F77_NAME(zrotg)(const Rcomplex *ca, const Rcomplex *cb,
|
|
|
375 |
double *c, Rcomplex *s);
|
| 44687 |
maechler |
376 |
BLAS_extern void
|
| 71463 |
ripley |
377 |
F77_NAME(zscal)(const int *n, const Rcomplex *za, Rcomplex *zx,
|
|
|
378 |
const int *incx);
|
| 44687 |
maechler |
379 |
BLAS_extern void
|
| 71463 |
ripley |
380 |
F77_NAME(zswap)(const int *n, Rcomplex *zx, const int *incx,
|
|
|
381 |
Rcomplex *zy, const int *incy);
|
| 44687 |
maechler |
382 |
BLAS_extern void
|
| 71463 |
ripley |
383 |
F77_NAME(zsymm)(const char *side, const char *uplo, const int *m,
|
|
|
384 |
const int *n, const Rcomplex *alpha, const Rcomplex *a,
|
|
|
385 |
const int *lda, const Rcomplex *b, const int *ldb,
|
| 76585 |
ripley |
386 |
const Rcomplex *beta, Rcomplex *c, const int *ldc
|
|
|
387 |
FCLEN FCLEN);
|
| 44687 |
maechler |
388 |
BLAS_extern void
|
| 71463 |
ripley |
389 |
F77_NAME(zsyr2k)(const char *uplo, const char *trans, int *n, int *k,
|
| 36367 |
ripley |
390 |
Rcomplex *alpha, Rcomplex *a, int *lda, Rcomplex *b,
|
| 76585 |
ripley |
391 |
int *ldb, Rcomplex *beta, Rcomplex *c, int *ldc
|
|
|
392 |
FCLEN FCLEN);
|
| 44687 |
maechler |
393 |
BLAS_extern void
|
| 71463 |
ripley |
394 |
F77_NAME(zsyrk)(const char *uplo, const char *trans, const int *n,
|
|
|
395 |
const int *k, const Rcomplex *alpha, const Rcomplex *a,
|
|
|
396 |
const int *lda, const Rcomplex *beta, Rcomplex *c,
|
| 76585 |
ripley |
397 |
const int *ldc FCLEN FCLEN);
|
| 44687 |
maechler |
398 |
BLAS_extern void
|
| 71463 |
ripley |
399 |
F77_NAME(ztbmv)(const char *uplo, const char *trans, const char *diag,
|
|
|
400 |
const int *n, const int *k, const Rcomplex *a,
|
| 76585 |
ripley |
401 |
const int *lda, Rcomplex *x, const int *incx
|
|
|
402 |
FCLEN FCLEN FCLEN);
|
| 44687 |
maechler |
403 |
BLAS_extern void
|
| 71463 |
ripley |
404 |
F77_NAME(ztbsv)(const char *uplo, const char *trans, const char *diag,
|
|
|
405 |
const int *n, const int *k, const Rcomplex *a,
|
| 76585 |
ripley |
406 |
const int *lda, Rcomplex *x, const int *incx
|
|
|
407 |
FCLEN FCLEN FCLEN);
|
| 44687 |
maechler |
408 |
BLAS_extern void
|
| 71463 |
ripley |
409 |
F77_NAME(ztpmv)(const char *uplo, const char *trans, const char *diag,
|
|
|
410 |
const int *n, const Rcomplex *ap, Rcomplex *x,
|
| 76585 |
ripley |
411 |
const int *incx FCLEN FCLEN FCLEN);
|
| 44687 |
maechler |
412 |
BLAS_extern void
|
| 71463 |
ripley |
413 |
F77_NAME(ztpsv)(const char *uplo, const char *trans, const char *diag,
|
|
|
414 |
const int *n, const Rcomplex *ap, Rcomplex *x,
|
| 76585 |
ripley |
415 |
const int *incx FCLEN FCLEN FCLEN);
|
| 44687 |
maechler |
416 |
BLAS_extern void
|
| 71463 |
ripley |
417 |
F77_NAME(ztrmm)(const char *side, const char *uplo, const char *transa,
|
|
|
418 |
const char *diag, const int *m, const int *n,
|
|
|
419 |
const Rcomplex *alpha, const Rcomplex *a,
|
| 76585 |
ripley |
420 |
const int *lda, Rcomplex *b, const int *ldb
|
|
|
421 |
FCLEN FCLEN FCLEN FCLEN);
|
| 44687 |
maechler |
422 |
BLAS_extern void
|
| 71463 |
ripley |
423 |
F77_NAME(ztrmv)(const char *uplo, const char *trans, const char *diag,
|
|
|
424 |
const int *n, const Rcomplex *a, const int *lda,
|
| 76585 |
ripley |
425 |
Rcomplex *x, const int *incx
|
|
|
426 |
FCLEN FCLEN FCLEN);
|
| 44687 |
maechler |
427 |
BLAS_extern void
|
| 71463 |
ripley |
428 |
F77_NAME(ztrsm)(const char *side, const char *uplo, const char *transa,
|
|
|
429 |
const char *diag, int *m, int *n, Rcomplex *alpha,
|
| 76585 |
ripley |
430 |
Rcomplex *a, int *lda, Rcomplex *b, int *ldb
|
|
|
431 |
FCLEN FCLEN FCLEN FCLEN);
|
| 44687 |
maechler |
432 |
BLAS_extern void
|
| 71463 |
ripley |
433 |
F77_NAME(ztrsv)(const char *uplo, const char *trans, const char *diag,
|
|
|
434 |
const int *n, const Rcomplex *a, const int *lda,
|
| 76585 |
ripley |
435 |
Rcomplex *x, const int *incx
|
|
|
436 |
FCLEN FCLEN FCLEN);
|
| 44669 |
maechler |
437 |
/* #endif */
|
| 36367 |
ripley |
438 |
|
| 23063 |
bates |
439 |
#ifdef __cplusplus
|
|
|
440 |
}
|
|
|
441 |
#endif
|
|
|
442 |
|
|
|
443 |
#endif /* R_BLAS_H */
|