Statistics
| Revision:

root / tmp / org.txm.statsengine.r.core.win32 / res / win32 / include / R_ext / BLAS.h @ 2486

History | View | Annotate | Download (15.5 kB)

1 2486 sjacqu01
/*
2 2486 sjacqu01
 *  R : A Computer Language for Statistical Data Analysis
3 2486 sjacqu01
 *  Copyright (C) 2003-12 The R Core Team.
4 2486 sjacqu01
 *
5 2486 sjacqu01
 *  This program is free software; you can redistribute it and/or modify
6 2486 sjacqu01
 *  it under the terms of the GNU Lesser General Public License as published by
7 2486 sjacqu01
 *  the Free Software Foundation; either version 2.1 of the License, or
8 2486 sjacqu01
 *  (at your option) any later version.
9 2486 sjacqu01
 *
10 2486 sjacqu01
 *  This program is distributed in the hope that it will be useful,
11 2486 sjacqu01
 *  but WITHOUT ANY WARRANTY; without even the implied warranty of
12 2486 sjacqu01
 *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13 2486 sjacqu01
 *  GNU Lesser General Public License for more details.
14 2486 sjacqu01
 *
15 2486 sjacqu01
 *  You should have received a copy of the GNU Lesser General Public License
16 2486 sjacqu01
 *  along with this program; if not, a copy is available at
17 2486 sjacqu01
 *  http://www.r-project.org/Licenses/
18 2486 sjacqu01
 */
19 2486 sjacqu01
20 2486 sjacqu01
/*
21 2486 sjacqu01
   C declarations of BLAS Fortran subroutines always available in R.
22 2486 sjacqu01

23 2486 sjacqu01
   Part of the API.
24 2486 sjacqu01

25 2486 sjacqu01
   R packages that use these should have PKG_LIBS in src/Makevars include
26 2486 sjacqu01
   $(BLAS_LIBS) $(FLIBS)
27 2486 sjacqu01
 */
28 2486 sjacqu01
29 2486 sjacqu01
/* Part of the API */
30 2486 sjacqu01
31 2486 sjacqu01
#ifndef R_BLAS_H
32 2486 sjacqu01
#define R_BLAS_H
33 2486 sjacqu01
34 2486 sjacqu01
#include <R_ext/RS.h>                /* for F77_... */
35 2486 sjacqu01
#include <R_ext/Complex.h>        /* for Rcomplex */
36 2486 sjacqu01
37 2486 sjacqu01
#ifdef  __cplusplus
38 2486 sjacqu01
extern "C" {
39 2486 sjacqu01
#endif
40 2486 sjacqu01
41 2486 sjacqu01
// never defined in R itself.
42 2486 sjacqu01
#ifndef BLAS_extern
43 2486 sjacqu01
#define BLAS_extern extern
44 2486 sjacqu01
#endif
45 2486 sjacqu01
46 2486 sjacqu01
/* Double Precision Level 1 BLAS */
47 2486 sjacqu01
48 2486 sjacqu01
BLAS_extern double /* DASUM - sum of absolute values of a one-dimensional array */
49 2486 sjacqu01
F77_NAME(dasum)(const int *n, const double *dx, const int *incx);
50 2486 sjacqu01
BLAS_extern void   /* DAXPY - replace y by alpha*x + y */
51 2486 sjacqu01
F77_NAME(daxpy)(const int *n, const double *alpha,
52 2486 sjacqu01
                const double *dx, const int *incx,
53 2486 sjacqu01
                double *dy, const int *incy);
54 2486 sjacqu01
BLAS_extern void   /* DCOPY - copy x to y */
55 2486 sjacqu01
F77_NAME(dcopy)(const int *n, const double *dx, const int *incx,
56 2486 sjacqu01
                double *dy, const int *incy);
57 2486 sjacqu01
BLAS_extern double /* DDOT - inner product of x and y */
58 2486 sjacqu01
F77_NAME(ddot)(const int *n, const double *dx, const int *incx,
59 2486 sjacqu01
               const double *dy, const int *incy);
60 2486 sjacqu01
BLAS_extern double /* DNRM2 - 2-norm of a vector */
61 2486 sjacqu01
F77_NAME(dnrm2)(const int *n, const double *dx, const int *incx);
62 2486 sjacqu01
BLAS_extern void   /* DROT - apply a Given's rotation */
63 2486 sjacqu01
F77_NAME(drot)(const int *n, double *dx, const int *incx,
64 2486 sjacqu01
               double *dy, const int *incy, const double *c, const double *s);
65 2486 sjacqu01
BLAS_extern void   /* DROTG - generate a Given's rotation */
66 2486 sjacqu01
F77_NAME(drotg)(const double *a, const double *b, double *c, double *s);
67 2486 sjacqu01
BLAS_extern void   /* DROTM - apply a modified Given's rotation */
68 2486 sjacqu01
F77_NAME(drotm)(const int *n, double *dx, const int *incx,
69 2486 sjacqu01
                double *dy, const int *incy, const double *dparam);
70 2486 sjacqu01
BLAS_extern void   /* DROTMG - generate a modified Given's rotation */
71 2486 sjacqu01
F77_NAME(drotmg)(const double *dd1, const double *dd2, const double *dx1,
72 2486 sjacqu01
                 const double *dy1, double *param);
73 2486 sjacqu01
BLAS_extern void   /* DSCAL - scale a one-dimensional array */
74 2486 sjacqu01
F77_NAME(dscal)(const int *n, const double *alpha, double *dx, const int *incx);
75 2486 sjacqu01
BLAS_extern void   /* DSWAP - interchange one-dimensional arrays */
76 2486 sjacqu01
F77_NAME(dswap)(const int *n, double *dx, const int *incx,
77 2486 sjacqu01
                double *dy, const int *incy);
78 2486 sjacqu01
BLAS_extern int    /* IDAMAX - return the index of the element with max abs value */
79 2486 sjacqu01
F77_NAME(idamax)(const int *n, const double *dx, const int *incx);
80 2486 sjacqu01
81 2486 sjacqu01
/* Double Precision Level 2 BLAS */
82 2486 sjacqu01
83 2486 sjacqu01
/* DGBMV - perform one of the matrix-vector operations */
84 2486 sjacqu01
/* y := alpha*A*x + beta*y, or y := alpha*A'*x + beta*y, */
85 2486 sjacqu01
BLAS_extern void
86 2486 sjacqu01
F77_NAME(dgbmv)(const char *trans, const int *m, const int *n,
87 2486 sjacqu01
                const int *kl,const int *ku,
88 2486 sjacqu01
                const double *alpha, const double *a, const int *lda,
89 2486 sjacqu01
                const double *x, const int *incx,
90 2486 sjacqu01
                const double *beta, double *y, const int *incy);
91 2486 sjacqu01
/* DGEMV - perform one of the matrix-vector operations */
92 2486 sjacqu01
/* y := alpha*A*x + beta*y, or y := alpha*A'*x + beta*y,  */
93 2486 sjacqu01
BLAS_extern void
94 2486 sjacqu01
F77_NAME(dgemv)(const char *trans, const int *m, const int *n,
95 2486 sjacqu01
                const double *alpha, const double *a, const int *lda,
96 2486 sjacqu01
                const double *x, const int *incx, const double *beta,
97 2486 sjacqu01
                double *y, const int *incy);
98 2486 sjacqu01
/* DSBMV - perform the matrix-vector operation */
99 2486 sjacqu01
/* y := alpha*A*x + beta*y, */
100 2486 sjacqu01
BLAS_extern void
101 2486 sjacqu01
F77_NAME(dsbmv)(const char *uplo, const int *n, const int *k,
102 2486 sjacqu01
                const double *alpha, const double *a, const int *lda,
103 2486 sjacqu01
                const double *x, const int *incx,
104 2486 sjacqu01
                const double *beta, double *y, const int *incy);
105 2486 sjacqu01
/* DSPMV - perform the matrix-vector operation */
106 2486 sjacqu01
/* y := alpha*A*x + beta*y, */
107 2486 sjacqu01
BLAS_extern void
108 2486 sjacqu01
F77_NAME(dspmv)(const char *uplo, const int *n,
109 2486 sjacqu01
                const double *alpha, const double *ap,
110 2486 sjacqu01
                const double *x, const int *incx,
111 2486 sjacqu01
                const double *beta, double *y, const int *incy);
112 2486 sjacqu01
113 2486 sjacqu01
/* DSYMV - perform the matrix-vector operation */
114 2486 sjacqu01
/*  y := alpha*A*x + beta*y, */
115 2486 sjacqu01
BLAS_extern void
116 2486 sjacqu01
F77_NAME(dsymv)(const char *uplo, const int *n, const double *alpha,
117 2486 sjacqu01
                const double *a, const int *lda,
118 2486 sjacqu01
                const double *x, const int *incx,
119 2486 sjacqu01
                const double *beta, double *y, const int *incy);
120 2486 sjacqu01
/* DTBMV - perform one of the matrix-vector operations */
121 2486 sjacqu01
/* x := A*x, or x := A'*x, */
122 2486 sjacqu01
BLAS_extern void
123 2486 sjacqu01
F77_NAME(dtbmv)(const char *uplo, const char *trans,
124 2486 sjacqu01
                const char *diag, const int *n, const int *k,
125 2486 sjacqu01
                const double *a, const int *lda,
126 2486 sjacqu01
                double *x, const int *incx);
127 2486 sjacqu01
/* DTPMV - perform one of the matrix-vector operations */
128 2486 sjacqu01
/* x := A*x, or x := A'*x, */
129 2486 sjacqu01
BLAS_extern void
130 2486 sjacqu01
F77_NAME(dtpmv)(const char *uplo, const char *trans, const char *diag,
131 2486 sjacqu01
                const int *n, const double *ap,
132 2486 sjacqu01
                double *x, const int *incx);
133 2486 sjacqu01
/* DTRMV - perform one of the matrix-vector operations  */
134 2486 sjacqu01
/* x := A*x, or x := A'*x, */
135 2486 sjacqu01
BLAS_extern void
136 2486 sjacqu01
F77_NAME(dtrmv)(const char *uplo, const char *trans, const char *diag,
137 2486 sjacqu01
                const int *n, const double *a, const int *lda,
138 2486 sjacqu01
                double *x, const int *incx);
139 2486 sjacqu01
/* DTBSV - solve one of the systems of equations */
140 2486 sjacqu01
/* A*x = b, or A'*x = b, */
141 2486 sjacqu01
BLAS_extern void
142 2486 sjacqu01
F77_NAME(dtbsv)(const char *uplo, const char *trans,
143 2486 sjacqu01
                const char *diag, const int *n, const int *k,
144 2486 sjacqu01
                const double *a, const int *lda,
145 2486 sjacqu01
                double *x, const int *incx);
146 2486 sjacqu01
/* DTPSV - solve one of the systems of equations */
147 2486 sjacqu01
/* A*x = b, or A'*x = b, */
148 2486 sjacqu01
BLAS_extern void
149 2486 sjacqu01
F77_NAME(dtpsv)(const char *uplo, const char *trans,
150 2486 sjacqu01
                const char *diag, const int *n,
151 2486 sjacqu01
                const double *ap, double *x, const int *incx);
152 2486 sjacqu01
/* DTRSV - solve one of the systems of equations */
153 2486 sjacqu01
/* A*x = b, or A'*x = b, */
154 2486 sjacqu01
BLAS_extern void
155 2486 sjacqu01
F77_NAME(dtrsv)(const char *uplo, const char *trans,
156 2486 sjacqu01
                const char *diag, const int *n,
157 2486 sjacqu01
                const double *a, const int *lda,
158 2486 sjacqu01
                double *x, const int *incx);
159 2486 sjacqu01
/* DGER - perform the rank 1 operation   A := alpha*x*y' + A */
160 2486 sjacqu01
BLAS_extern void
161 2486 sjacqu01
F77_NAME(dger)(const int *m, const int *n, const double *alpha,
162 2486 sjacqu01
               const double *x, const int *incx,
163 2486 sjacqu01
               const double *y, const int *incy,
164 2486 sjacqu01
               double *a, const int *lda);
165 2486 sjacqu01
/* DSYR - perform the symmetric rank 1 operation A := alpha*x*x' + A */
166 2486 sjacqu01
BLAS_extern void
167 2486 sjacqu01
F77_NAME(dsyr)(const char *uplo, const int *n, const double *alpha,
168 2486 sjacqu01
               const double *x, const int *incx,
169 2486 sjacqu01
               double *a, const int *lda);
170 2486 sjacqu01
/* DSPR - perform the symmetric rank 1 operation A := alpha*x*x' + A */
171 2486 sjacqu01
BLAS_extern void
172 2486 sjacqu01
F77_NAME(dspr)(const char *uplo, const int *n, const double *alpha,
173 2486 sjacqu01
               const double *x, const int *incx, double *ap);
174 2486 sjacqu01
/* DSYR2 - perform the symmetric rank 2 operation */
175 2486 sjacqu01
/* A := alpha*x*y' + alpha*y*x' + A, */
176 2486 sjacqu01
BLAS_extern void
177 2486 sjacqu01
F77_NAME(dsyr2)(const char *uplo, const int *n, const double *alpha,
178 2486 sjacqu01
                const double *x, const int *incx,
179 2486 sjacqu01
                const double *y, const int *incy,
180 2486 sjacqu01
                double *a, const int *lda);
181 2486 sjacqu01
/* DSPR2 - perform the symmetric rank 2 operation */
182 2486 sjacqu01
/* A := alpha*x*y' + alpha*y*x' + A,  */
183 2486 sjacqu01
BLAS_extern void
184 2486 sjacqu01
F77_NAME(dspr2)(const char *uplo, const int *n, const double *alpha,
185 2486 sjacqu01
                const double *x, const int *incx,
186 2486 sjacqu01
                const double *y, const int *incy, double *ap);
187 2486 sjacqu01
188 2486 sjacqu01
/* Double Precision Level 3 BLAS */
189 2486 sjacqu01
190 2486 sjacqu01
/* DGEMM - perform one of the matrix-matrix operations    */
191 2486 sjacqu01
/* C := alpha*op( A )*op( B ) + beta*C */
192 2486 sjacqu01
BLAS_extern void
193 2486 sjacqu01
F77_NAME(dgemm)(const char *transa, const char *transb, const int *m,
194 2486 sjacqu01
                const int *n, const int *k, const double *alpha,
195 2486 sjacqu01
                const double *a, const int *lda,
196 2486 sjacqu01
                const double *b, const int *ldb,
197 2486 sjacqu01
                const double *beta, double *c, const int *ldc);
198 2486 sjacqu01
/* DTRSM - solve one of the matrix equations  */
199 2486 sjacqu01
/* op(A)*X = alpha*B, or  X*op(A) = alpha*B  */
200 2486 sjacqu01
BLAS_extern void
201 2486 sjacqu01
F77_NAME(dtrsm)(const char *side, const char *uplo,
202 2486 sjacqu01
                const char *transa, const char *diag,
203 2486 sjacqu01
                const int *m, const int *n, const double *alpha,
204 2486 sjacqu01
                const double *a, const int *lda,
205 2486 sjacqu01
                double *b, const int *ldb);
206 2486 sjacqu01
/* DTRMM - perform one of the matrix-matrix operations */
207 2486 sjacqu01
/* B := alpha*op( A )*B, or B := alpha*B*op( A ) */
208 2486 sjacqu01
BLAS_extern void
209 2486 sjacqu01
F77_NAME(dtrmm)(const char *side, const char *uplo, const char *transa,
210 2486 sjacqu01
                const char *diag, const int *m, const int *n,
211 2486 sjacqu01
                const double *alpha, const double *a, const int *lda,
212 2486 sjacqu01
                double *b, const int *ldb);
213 2486 sjacqu01
/* DSYMM - perform one of the matrix-matrix operations   */
214 2486 sjacqu01
/*  C := alpha*A*B + beta*C, */
215 2486 sjacqu01
BLAS_extern void
216 2486 sjacqu01
F77_NAME(dsymm)(const char *side, const char *uplo, const int *m,
217 2486 sjacqu01
                const int *n, const double *alpha,
218 2486 sjacqu01
                const double *a, const int *lda,
219 2486 sjacqu01
                const double *b, const int *ldb,
220 2486 sjacqu01
                const double *beta, double *c, const int *ldc);
221 2486 sjacqu01
/* DSYRK - perform one of the symmetric rank k operations */
222 2486 sjacqu01
/* C := alpha*A*A' + beta*C or C := alpha*A'*A + beta*C */
223 2486 sjacqu01
BLAS_extern void
224 2486 sjacqu01
F77_NAME(dsyrk)(const char *uplo, const char *trans,
225 2486 sjacqu01
                const int *n, const int *k,
226 2486 sjacqu01
                const double *alpha, const double *a, const int *lda,
227 2486 sjacqu01
                const double *beta, double *c, const int *ldc);
228 2486 sjacqu01
/* DSYR2K - perform one of the symmetric rank 2k operations */
229 2486 sjacqu01
/* C := alpha*A*B' + alpha*B*A' + beta*C or */
230 2486 sjacqu01
/* C := alpha*A'*B + alpha*B'*A + beta*C */
231 2486 sjacqu01
BLAS_extern void
232 2486 sjacqu01
F77_NAME(dsyr2k)(const char *uplo, const char *trans,
233 2486 sjacqu01
                 const int *n, const int *k,
234 2486 sjacqu01
                 const double *alpha, const double *a, const int *lda,
235 2486 sjacqu01
                 const double *b, const int *ldb,
236 2486 sjacqu01
                 const double *beta, double *c, const int *ldc);
237 2486 sjacqu01
/*
238 2486 sjacqu01
  LSAME is a LAPACK support routine, not part of BLAS
239 2486 sjacqu01
*/
240 2486 sjacqu01
241 2486 sjacqu01
/* Double complex BLAS routines added for 2.3.0 */
242 2486 sjacqu01
/* #ifdef HAVE_FORTRAN_DOUBLE_COMPLEX */
243 2486 sjacqu01
    BLAS_extern double
244 2486 sjacqu01
    F77_NAME(dcabs1)(double *z);
245 2486 sjacqu01
    BLAS_extern double
246 2486 sjacqu01
    F77_NAME(dzasum)(int *n, Rcomplex *zx, int *incx);
247 2486 sjacqu01
    BLAS_extern double
248 2486 sjacqu01
    F77_NAME(dznrm2)(int *n, Rcomplex *x, int *incx);
249 2486 sjacqu01
    BLAS_extern int
250 2486 sjacqu01
    F77_NAME(izamax)(int *n, Rcomplex *zx, int *incx);
251 2486 sjacqu01
    BLAS_extern void
252 2486 sjacqu01
    F77_NAME(zaxpy)(int *n, Rcomplex *za, Rcomplex *zx,
253 2486 sjacqu01
                    int *incx, Rcomplex *zy, int *incy);
254 2486 sjacqu01
    BLAS_extern void
255 2486 sjacqu01
    F77_NAME(zcopy)(int *n, Rcomplex *zx, int *incx,
256 2486 sjacqu01
                    Rcomplex *zy, int *incy);
257 2486 sjacqu01
258 2486 sjacqu01
    /* WARNING!  The next two return a value that may not be
259 2486 sjacqu01
       compatible between C and Fortran, and even if it is, this might
260 2486 sjacqu01
       not be the right translation to C.  Only use after
261 2486 sjacqu01
       configure-testing with your compilers.
262 2486 sjacqu01
     */
263 2486 sjacqu01
    BLAS_extern Rcomplex
264 2486 sjacqu01
    F77_NAME(zdotc)(int *n,
265 2486 sjacqu01
                    Rcomplex *zx, int *incx, Rcomplex *zy, int *incy);
266 2486 sjacqu01
    BLAS_extern Rcomplex
267 2486 sjacqu01
    F77_NAME(zdotu)(int *n,
268 2486 sjacqu01
                    Rcomplex *zx, int *incx, Rcomplex *zy, int *incy);
269 2486 sjacqu01
270 2486 sjacqu01
    BLAS_extern void
271 2486 sjacqu01
    F77_NAME(zdrot)(int *n, Rcomplex *zx, int *incx, Rcomplex *zy,
272 2486 sjacqu01
                int *incy, double *c, double *s);
273 2486 sjacqu01
    BLAS_extern void
274 2486 sjacqu01
    F77_NAME(zdscal)(int *n, double *da, Rcomplex *zx, int *incx);
275 2486 sjacqu01
    BLAS_extern void
276 2486 sjacqu01
    F77_NAME(zgbmv)(char *trans, int *m, int *n, int *kl,
277 2486 sjacqu01
                    int *ku, Rcomplex *alpha, Rcomplex *a, int *lda,
278 2486 sjacqu01
                    Rcomplex *x, int *incx, Rcomplex *beta, Rcomplex *y,
279 2486 sjacqu01
                    int *incy);
280 2486 sjacqu01
    BLAS_extern void
281 2486 sjacqu01
    F77_NAME(zgemm)(const char *transa, const char *transb, const int *m,
282 2486 sjacqu01
                    const int *n, const int *k, const Rcomplex *alpha,
283 2486 sjacqu01
                    const Rcomplex *a, const int *lda,
284 2486 sjacqu01
                    const Rcomplex *b, const int *ldb,
285 2486 sjacqu01
                    const Rcomplex *beta, Rcomplex *c, const int *ldc);
286 2486 sjacqu01
    BLAS_extern void
287 2486 sjacqu01
    F77_NAME(zgemv)(char *trans, int *m, int *n, Rcomplex *alpha,
288 2486 sjacqu01
                    Rcomplex *a, int *lda, Rcomplex *x, int *incx,
289 2486 sjacqu01
                    Rcomplex *beta, Rcomplex *y, int * incy);
290 2486 sjacqu01
    BLAS_extern void
291 2486 sjacqu01
    F77_NAME(zgerc)(int *m, int *n, Rcomplex *alpha, Rcomplex *x,
292 2486 sjacqu01
                    int *incx, Rcomplex *y, int *incy, Rcomplex *a, int *lda);
293 2486 sjacqu01
    BLAS_extern void
294 2486 sjacqu01
    F77_NAME(zgeru)(int *m, int *n, Rcomplex *alpha, Rcomplex *x,
295 2486 sjacqu01
                    int *incx, Rcomplex *y, int *incy, Rcomplex *a, int *lda);
296 2486 sjacqu01
    BLAS_extern void
297 2486 sjacqu01
    F77_NAME(zhbmv)(char *uplo, int *n, int *k, Rcomplex *alpha,
298 2486 sjacqu01
                    Rcomplex *a, int *lda, Rcomplex *x, int *incx,
299 2486 sjacqu01
                    Rcomplex *beta, Rcomplex *y, int *incy);
300 2486 sjacqu01
    BLAS_extern void
301 2486 sjacqu01
    F77_NAME(zhemm)(char *side, char *uplo, int *m, int *n,
302 2486 sjacqu01
                    Rcomplex *alpha, Rcomplex *a, int *lda, Rcomplex *b,
303 2486 sjacqu01
                    int *ldb, Rcomplex *beta, Rcomplex *c, int *ldc);
304 2486 sjacqu01
    BLAS_extern void
305 2486 sjacqu01
    F77_NAME(zhemv)(char *uplo, int *n, Rcomplex *alpha, Rcomplex *a,
306 2486 sjacqu01
                    int *lda, Rcomplex *x, int *incx, Rcomplex *beta,
307 2486 sjacqu01
                    Rcomplex *y, int *incy);
308 2486 sjacqu01
    BLAS_extern void
309 2486 sjacqu01
    F77_NAME(zher)(char *uplo, int *n, double *alpha, Rcomplex *x,
310 2486 sjacqu01
                   int *incx, Rcomplex *a, int *lda);
311 2486 sjacqu01
    BLAS_extern void
312 2486 sjacqu01
    F77_NAME(zher2)(char *uplo, int *n, Rcomplex *alpha, Rcomplex *x,
313 2486 sjacqu01
                    int *incx, Rcomplex *y, int *incy, Rcomplex *a, int *lda);
314 2486 sjacqu01
    BLAS_extern void
315 2486 sjacqu01
    F77_NAME(zher2k)(char *uplo, char *trans, int *n, int *k,
316 2486 sjacqu01
                     Rcomplex *alpha, Rcomplex *a, int *lda, Rcomplex *b,
317 2486 sjacqu01
                     int *ldb, double *beta, Rcomplex *c, int *ldc);
318 2486 sjacqu01
    BLAS_extern void
319 2486 sjacqu01
    F77_NAME(zherk)(char *uplo, char *trans, int *n, int *k,
320 2486 sjacqu01
                    double *alpha, Rcomplex *a, int *lda, double *beta,
321 2486 sjacqu01
                    Rcomplex *c, int *ldc);
322 2486 sjacqu01
    BLAS_extern void
323 2486 sjacqu01
    F77_NAME(zhpmv)(char *uplo, int *n, Rcomplex *alpha, Rcomplex *ap,
324 2486 sjacqu01
                    Rcomplex *x, int *incx, Rcomplex * beta, Rcomplex *y,
325 2486 sjacqu01
                    int *incy);
326 2486 sjacqu01
    BLAS_extern void
327 2486 sjacqu01
    F77_NAME(zhpr)(char *uplo, int *n, double *alpha,
328 2486 sjacqu01
                   Rcomplex *x, int *incx, Rcomplex *ap);
329 2486 sjacqu01
    BLAS_extern void
330 2486 sjacqu01
    F77_NAME(zhpr2)(char *uplo, int *n, Rcomplex *alpha, Rcomplex *x,
331 2486 sjacqu01
                    int *incx, Rcomplex *y, int *incy, Rcomplex *ap);
332 2486 sjacqu01
    BLAS_extern void
333 2486 sjacqu01
    F77_NAME(zrotg)(Rcomplex *ca, Rcomplex *cb, double *c, Rcomplex *s);
334 2486 sjacqu01
    BLAS_extern void
335 2486 sjacqu01
    F77_NAME(zscal)(int *n, Rcomplex *za, Rcomplex *zx, int *incx);
336 2486 sjacqu01
    BLAS_extern void
337 2486 sjacqu01
    F77_NAME(zswap)(int *n, Rcomplex *zx, int *incx, Rcomplex *zy, int *incy);
338 2486 sjacqu01
    BLAS_extern void
339 2486 sjacqu01
    F77_NAME(zsymm)(char *side, char *uplo, int *m, int *n,
340 2486 sjacqu01
                    Rcomplex *alpha, Rcomplex *a, int *lda, Rcomplex *b,
341 2486 sjacqu01
                    int *ldb, Rcomplex *beta, Rcomplex *c, int *ldc);
342 2486 sjacqu01
    BLAS_extern void
343 2486 sjacqu01
    F77_NAME(zsyr2k)(char *uplo, char *trans, int *n, int *k,
344 2486 sjacqu01
                     Rcomplex *alpha, Rcomplex *a, int *lda, Rcomplex *b,
345 2486 sjacqu01
                     int *ldb, Rcomplex *beta, Rcomplex *c, int *ldc);
346 2486 sjacqu01
    BLAS_extern void
347 2486 sjacqu01
    F77_NAME(zsyrk)(char *uplo, char *trans, int *n, int *k,
348 2486 sjacqu01
                    Rcomplex *alpha, Rcomplex *a, int *lda,
349 2486 sjacqu01
                    Rcomplex *beta, Rcomplex *c, int *ldc);
350 2486 sjacqu01
    BLAS_extern void
351 2486 sjacqu01
    F77_NAME(ztbmv)(char *uplo, char *trans, char *diag, int *n, int *k,
352 2486 sjacqu01
                    Rcomplex *a, int *lda, Rcomplex *x, int *incx);
353 2486 sjacqu01
    BLAS_extern void
354 2486 sjacqu01
    F77_NAME(ztbsv)(char *uplo, char *trans, char *diag, int *n, int *k,
355 2486 sjacqu01
                    Rcomplex *a, int *lda, Rcomplex *x, int *incx);
356 2486 sjacqu01
    BLAS_extern void
357 2486 sjacqu01
    F77_NAME(ztpmv)(char *uplo, char *trans, char *diag, int *n,
358 2486 sjacqu01
                    Rcomplex *ap, Rcomplex *x, int *incx);
359 2486 sjacqu01
    BLAS_extern void
360 2486 sjacqu01
    F77_NAME(ztpsv)(char *uplo, char *trans, char *diag, int *n,
361 2486 sjacqu01
                    Rcomplex *ap, Rcomplex *x, int *incx);
362 2486 sjacqu01
    BLAS_extern void
363 2486 sjacqu01
    F77_NAME(ztrmm)(char *side, char *uplo, char *transa, char *diag,
364 2486 sjacqu01
                    int *m, int *n, Rcomplex *alpha, Rcomplex *a,
365 2486 sjacqu01
                    int *lda, Rcomplex *b, int *ldb);
366 2486 sjacqu01
    BLAS_extern void
367 2486 sjacqu01
    F77_NAME(ztrmv)(char *uplo, char *trans, char *diag, int *n,
368 2486 sjacqu01
                    Rcomplex *a, int *lda, Rcomplex *x, int *incx);
369 2486 sjacqu01
    BLAS_extern void
370 2486 sjacqu01
    F77_NAME(ztrsm)(char *side, char *uplo, char *transa, char *diag,
371 2486 sjacqu01
                    int *m, int *n, Rcomplex *alpha, Rcomplex *a,
372 2486 sjacqu01
                    int *lda, Rcomplex *b, int *ldb);
373 2486 sjacqu01
    BLAS_extern void
374 2486 sjacqu01
    F77_NAME(ztrsv)(char *uplo, char *trans, char *diag, int *n,
375 2486 sjacqu01
                    Rcomplex *a, int *lda, Rcomplex *x, int *incx);
376 2486 sjacqu01
/* #endif */
377 2486 sjacqu01
378 2486 sjacqu01
#ifdef  __cplusplus
379 2486 sjacqu01
}
380 2486 sjacqu01
#endif
381 2486 sjacqu01
382 2486 sjacqu01
#endif /* R_BLAS_H */