The R Project SVN R

Rev

Rev 36352 | Rev 42308 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

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