LAPACK  3.10.0
LAPACK: Linear Algebra PACKage
c_dblas2.c
Go to the documentation of this file.
1 /*
2  * Written by D.P. Manley, Digital Equipment Corporation.
3  * Prefixed "C_" to BLAS routines and their declarations.
4  *
5  * Modified by T. H. Do, 1/23/98, SGI/CRAY Research.
6  */
7 #include <stdlib.h>
8 #include "cblas.h"
9 #include "cblas_test.h"
10 
11 void F77_dgemv(int *layout, char *transp, int *m, int *n, double *alpha,
12  double *a, int *lda, double *x, int *incx, double *beta,
13  double *y, int *incy ) {
14 
15  double *A;
16  int i,j,LDA;
17  CBLAS_TRANSPOSE trans;
18 
19  get_transpose_type(transp, &trans);
20  if (*layout == TEST_ROW_MJR) {
21  LDA = *n+1;
22  A = ( double* )malloc( (*m)*LDA*sizeof( double ) );
23  for( i=0; i<*m; i++ )
24  for( j=0; j<*n; j++ )
25  A[ LDA*i+j ]=a[ (*lda)*j+i ];
26  cblas_dgemv( CblasRowMajor, trans,
27  *m, *n, *alpha, A, LDA, x, *incx, *beta, y, *incy );
28  free(A);
29  }
30  else if (*layout == TEST_COL_MJR)
31  cblas_dgemv( CblasColMajor, trans,
32  *m, *n, *alpha, a, *lda, x, *incx, *beta, y, *incy );
33  else
34  cblas_dgemv( UNDEFINED, trans,
35  *m, *n, *alpha, a, *lda, x, *incx, *beta, y, *incy );
36 }
37 
38 void F77_dger(int *layout, int *m, int *n, double *alpha, double *x, int *incx,
39  double *y, int *incy, double *a, int *lda ) {
40 
41  double *A;
42  int i,j,LDA;
43 
44  if (*layout == TEST_ROW_MJR) {
45  LDA = *n+1;
46  A = ( double* )malloc( (*m)*LDA*sizeof( double ) );
47 
48  for( i=0; i<*m; i++ ) {
49  for( j=0; j<*n; j++ )
50  A[ LDA*i+j ]=a[ (*lda)*j+i ];
51  }
52 
53  cblas_dger(CblasRowMajor, *m, *n, *alpha, x, *incx, y, *incy, A, LDA );
54  for( i=0; i<*m; i++ )
55  for( j=0; j<*n; j++ )
56  a[ (*lda)*j+i ]=A[ LDA*i+j ];
57  free(A);
58  }
59  else
60  cblas_dger( CblasColMajor, *m, *n, *alpha, x, *incx, y, *incy, a, *lda );
61 }
62 
63 void F77_dtrmv(int *layout, char *uplow, char *transp, char *diagn,
64  int *n, double *a, int *lda, double *x, int *incx) {
65  double *A;
66  int i,j,LDA;
67  CBLAS_TRANSPOSE trans;
68  CBLAS_UPLO uplo;
69  CBLAS_DIAG diag;
70 
71  get_transpose_type(transp,&trans);
72  get_uplo_type(uplow,&uplo);
73  get_diag_type(diagn,&diag);
74 
75  if (*layout == TEST_ROW_MJR) {
76  LDA = *n+1;
77  A = ( double* )malloc( (*n)*LDA*sizeof( double ) );
78  for( i=0; i<*n; i++ )
79  for( j=0; j<*n; j++ )
80  A[ LDA*i+j ]=a[ (*lda)*j+i ];
81  cblas_dtrmv(CblasRowMajor, uplo, trans, diag, *n, A, LDA, x, *incx);
82  free(A);
83  }
84  else if (*layout == TEST_COL_MJR)
85  cblas_dtrmv(CblasColMajor, uplo, trans, diag, *n, a, *lda, x, *incx);
86  else {
87  cblas_dtrmv(UNDEFINED, uplo, trans, diag, *n, a, *lda, x, *incx);
88  }
89 }
90 
91 void F77_dtrsv(int *layout, char *uplow, char *transp, char *diagn,
92  int *n, double *a, int *lda, double *x, int *incx ) {
93  double *A;
94  int i,j,LDA;
95  CBLAS_TRANSPOSE trans;
96  CBLAS_UPLO uplo;
97  CBLAS_DIAG diag;
98 
99  get_transpose_type(transp,&trans);
100  get_uplo_type(uplow,&uplo);
101  get_diag_type(diagn,&diag);
102 
103  if (*layout == TEST_ROW_MJR) {
104  LDA = *n+1;
105  A = ( double* )malloc( (*n)*LDA*sizeof( double ) );
106  for( i=0; i<*n; i++ )
107  for( j=0; j<*n; j++ )
108  A[ LDA*i+j ]=a[ (*lda)*j+i ];
109  cblas_dtrsv(CblasRowMajor, uplo, trans, diag, *n, A, LDA, x, *incx );
110  free(A);
111  }
112  else
113  cblas_dtrsv(CblasColMajor, uplo, trans, diag, *n, a, *lda, x, *incx );
114 }
115 void F77_dsymv(int *layout, char *uplow, int *n, double *alpha, double *a,
116  int *lda, double *x, int *incx, double *beta, double *y,
117  int *incy) {
118  double *A;
119  int i,j,LDA;
120  CBLAS_UPLO uplo;
121 
122  get_uplo_type(uplow,&uplo);
123 
124  if (*layout == TEST_ROW_MJR) {
125  LDA = *n+1;
126  A = ( double* )malloc( (*n)*LDA*sizeof( double ) );
127  for( i=0; i<*n; i++ )
128  for( j=0; j<*n; j++ )
129  A[ LDA*i+j ]=a[ (*lda)*j+i ];
130  cblas_dsymv(CblasRowMajor, uplo, *n, *alpha, A, LDA, x, *incx,
131  *beta, y, *incy );
132  free(A);
133  }
134  else
135  cblas_dsymv(CblasColMajor, uplo, *n, *alpha, a, *lda, x, *incx,
136  *beta, y, *incy );
137 }
138 
139 void F77_dsyr(int *layout, char *uplow, int *n, double *alpha, double *x,
140  int *incx, double *a, int *lda) {
141  double *A;
142  int i,j,LDA;
143  CBLAS_UPLO uplo;
144 
145  get_uplo_type(uplow,&uplo);
146 
147  if (*layout == TEST_ROW_MJR) {
148  LDA = *n+1;
149  A = ( double* )malloc( (*n)*LDA*sizeof( double ) );
150  for( i=0; i<*n; i++ )
151  for( j=0; j<*n; j++ )
152  A[ LDA*i+j ]=a[ (*lda)*j+i ];
153  cblas_dsyr(CblasRowMajor, uplo, *n, *alpha, x, *incx, A, LDA);
154  for( i=0; i<*n; i++ )
155  for( j=0; j<*n; j++ )
156  a[ (*lda)*j+i ]=A[ LDA*i+j ];
157  free(A);
158  }
159  else
160  cblas_dsyr(CblasColMajor, uplo, *n, *alpha, x, *incx, a, *lda);
161 }
162 
163 void F77_dsyr2(int *layout, char *uplow, int *n, double *alpha, double *x,
164  int *incx, double *y, int *incy, double *a, int *lda) {
165  double *A;
166  int i,j,LDA;
167  CBLAS_UPLO uplo;
168 
169  get_uplo_type(uplow,&uplo);
170 
171  if (*layout == TEST_ROW_MJR) {
172  LDA = *n+1;
173  A = ( double* )malloc( (*n)*LDA*sizeof( double ) );
174  for( i=0; i<*n; i++ )
175  for( j=0; j<*n; j++ )
176  A[ LDA*i+j ]=a[ (*lda)*j+i ];
177  cblas_dsyr2(CblasRowMajor, uplo, *n, *alpha, x, *incx, y, *incy, A, LDA);
178  for( i=0; i<*n; i++ )
179  for( j=0; j<*n; j++ )
180  a[ (*lda)*j+i ]=A[ LDA*i+j ];
181  free(A);
182  }
183  else
184  cblas_dsyr2(CblasColMajor, uplo, *n, *alpha, x, *incx, y, *incy, a, *lda);
185 }
186 
187 void F77_dgbmv(int *layout, char *transp, int *m, int *n, int *kl, int *ku,
188  double *alpha, double *a, int *lda, double *x, int *incx,
189  double *beta, double *y, int *incy ) {
190 
191  double *A;
192  int i,irow,j,jcol,LDA;
193  CBLAS_TRANSPOSE trans;
194 
195  get_transpose_type(transp, &trans);
196 
197  if (*layout == TEST_ROW_MJR) {
198  LDA = *ku+*kl+2;
199  A = ( double* )malloc( (*n+*kl)*LDA*sizeof( double ) );
200  for( i=0; i<*ku; i++ ){
201  irow=*ku+*kl-i;
202  jcol=(*ku)-i;
203  for( j=jcol; j<*n; j++ )
204  A[ LDA*(j-jcol)+irow ]=a[ (*lda)*j+i ];
205  }
206  i=*ku;
207  irow=*ku+*kl-i;
208  for( j=0; j<*n; j++ )
209  A[ LDA*j+irow ]=a[ (*lda)*j+i ];
210  for( i=*ku+1; i<*ku+*kl+1; i++ ){
211  irow=*ku+*kl-i;
212  jcol=i-(*ku);
213  for( j=jcol; j<(*n+*kl); j++ )
214  A[ LDA*j+irow ]=a[ (*lda)*(j-jcol)+i ];
215  }
216  cblas_dgbmv( CblasRowMajor, trans, *m, *n, *kl, *ku, *alpha,
217  A, LDA, x, *incx, *beta, y, *incy );
218  free(A);
219  }
220  else
221  cblas_dgbmv( CblasColMajor, trans, *m, *n, *kl, *ku, *alpha,
222  a, *lda, x, *incx, *beta, y, *incy );
223 }
224 
225 void F77_dtbmv(int *layout, char *uplow, char *transp, char *diagn,
226  int *n, int *k, double *a, int *lda, double *x, int *incx) {
227  double *A;
228  int irow, jcol, i, j, LDA;
229  CBLAS_TRANSPOSE trans;
230  CBLAS_UPLO uplo;
231  CBLAS_DIAG diag;
232 
233  get_transpose_type(transp,&trans);
234  get_uplo_type(uplow,&uplo);
235  get_diag_type(diagn,&diag);
236 
237  if (*layout == TEST_ROW_MJR) {
238  LDA = *k+1;
239  A = ( double* )malloc( (*n+*k)*LDA*sizeof( double ) );
240  if (uplo == CblasUpper) {
241  for( i=0; i<*k; i++ ){
242  irow=*k-i;
243  jcol=(*k)-i;
244  for( j=jcol; j<*n; j++ )
245  A[ LDA*(j-jcol)+irow ]=a[ (*lda)*j+i ];
246  }
247  i=*k;
248  irow=*k-i;
249  for( j=0; j<*n; j++ )
250  A[ LDA*j+irow ]=a[ (*lda)*j+i ];
251  }
252  else {
253  i=0;
254  irow=*k-i;
255  for( j=0; j<*n; j++ )
256  A[ LDA*j+irow ]=a[ (*lda)*j+i ];
257  for( i=1; i<*k+1; i++ ){
258  irow=*k-i;
259  jcol=i;
260  for( j=jcol; j<(*n+*k); j++ )
261  A[ LDA*j+irow ]=a[ (*lda)*(j-jcol)+i ];
262  }
263  }
264  cblas_dtbmv(CblasRowMajor, uplo, trans, diag, *n, *k, A, LDA, x, *incx);
265  free(A);
266  }
267  else
268  cblas_dtbmv(CblasColMajor, uplo, trans, diag, *n, *k, a, *lda, x, *incx);
269 }
270 
271 void F77_dtbsv(int *layout, char *uplow, char *transp, char *diagn,
272  int *n, int *k, double *a, int *lda, double *x, int *incx) {
273  double *A;
274  int irow, jcol, i, j, LDA;
275  CBLAS_TRANSPOSE trans;
276  CBLAS_UPLO uplo;
277  CBLAS_DIAG diag;
278 
279  get_transpose_type(transp,&trans);
280  get_uplo_type(uplow,&uplo);
281  get_diag_type(diagn,&diag);
282 
283  if (*layout == TEST_ROW_MJR) {
284  LDA = *k+1;
285  A = ( double* )malloc( (*n+*k)*LDA*sizeof( double ) );
286  if (uplo == CblasUpper) {
287  for( i=0; i<*k; i++ ){
288  irow=*k-i;
289  jcol=(*k)-i;
290  for( j=jcol; j<*n; j++ )
291  A[ LDA*(j-jcol)+irow ]=a[ (*lda)*j+i ];
292  }
293  i=*k;
294  irow=*k-i;
295  for( j=0; j<*n; j++ )
296  A[ LDA*j+irow ]=a[ (*lda)*j+i ];
297  }
298  else {
299  i=0;
300  irow=*k-i;
301  for( j=0; j<*n; j++ )
302  A[ LDA*j+irow ]=a[ (*lda)*j+i ];
303  for( i=1; i<*k+1; i++ ){
304  irow=*k-i;
305  jcol=i;
306  for( j=jcol; j<(*n+*k); j++ )
307  A[ LDA*j+irow ]=a[ (*lda)*(j-jcol)+i ];
308  }
309  }
310  cblas_dtbsv(CblasRowMajor, uplo, trans, diag, *n, *k, A, LDA, x, *incx);
311  free(A);
312  }
313  else
314  cblas_dtbsv(CblasColMajor, uplo, trans, diag, *n, *k, a, *lda, x, *incx);
315 }
316 
317 void F77_dsbmv(int *layout, char *uplow, int *n, int *k, double *alpha,
318  double *a, int *lda, double *x, int *incx, double *beta,
319  double *y, int *incy) {
320  double *A;
321  int i,j,irow,jcol,LDA;
322  CBLAS_UPLO uplo;
323 
324  get_uplo_type(uplow,&uplo);
325 
326  if (*layout == TEST_ROW_MJR) {
327  LDA = *k+1;
328  A = ( double* )malloc( (*n+*k)*LDA*sizeof( double ) );
329  if (uplo == CblasUpper) {
330  for( i=0; i<*k; i++ ){
331  irow=*k-i;
332  jcol=(*k)-i;
333  for( j=jcol; j<*n; j++ )
334  A[ LDA*(j-jcol)+irow ]=a[ (*lda)*j+i ];
335  }
336  i=*k;
337  irow=*k-i;
338  for( j=0; j<*n; j++ )
339  A[ LDA*j+irow ]=a[ (*lda)*j+i ];
340  }
341  else {
342  i=0;
343  irow=*k-i;
344  for( j=0; j<*n; j++ )
345  A[ LDA*j+irow ]=a[ (*lda)*j+i ];
346  for( i=1; i<*k+1; i++ ){
347  irow=*k-i;
348  jcol=i;
349  for( j=jcol; j<(*n+*k); j++ )
350  A[ LDA*j+irow ]=a[ (*lda)*(j-jcol)+i ];
351  }
352  }
353  cblas_dsbmv(CblasRowMajor, uplo, *n, *k, *alpha, A, LDA, x, *incx,
354  *beta, y, *incy );
355  free(A);
356  }
357  else
358  cblas_dsbmv(CblasColMajor, uplo, *n, *k, *alpha, a, *lda, x, *incx,
359  *beta, y, *incy );
360 }
361 
362 void F77_dspmv(int *layout, char *uplow, int *n, double *alpha, double *ap,
363  double *x, int *incx, double *beta, double *y, int *incy) {
364  double *A,*AP;
365  int i,j,k,LDA;
366  CBLAS_UPLO uplo;
367 
368  get_uplo_type(uplow,&uplo);
369 
370  if (*layout == TEST_ROW_MJR) {
371  LDA = *n;
372  A = ( double* )malloc( LDA*LDA*sizeof( double ) );
373  AP = ( double* )malloc( (((LDA+1)*LDA)/2)*sizeof( double ) );
374  if (uplo == CblasUpper) {
375  for( j=0, k=0; j<*n; j++ )
376  for( i=0; i<j+1; i++, k++ )
377  A[ LDA*i+j ]=ap[ k ];
378  for( i=0, k=0; i<*n; i++ )
379  for( j=i; j<*n; j++, k++ )
380  AP[ k ]=A[ LDA*i+j ];
381  }
382  else {
383  for( j=0, k=0; j<*n; j++ )
384  for( i=j; i<*n; i++, k++ )
385  A[ LDA*i+j ]=ap[ k ];
386  for( i=0, k=0; i<*n; i++ )
387  for( j=0; j<i+1; j++, k++ )
388  AP[ k ]=A[ LDA*i+j ];
389  }
390  cblas_dspmv( CblasRowMajor, uplo, *n, *alpha, AP, x, *incx, *beta, y,
391  *incy );
392  free(A);
393  free(AP);
394  }
395  else
396  cblas_dspmv( CblasColMajor, uplo, *n, *alpha, ap, x, *incx, *beta, y,
397  *incy );
398 }
399 
400 void F77_dtpmv(int *layout, char *uplow, char *transp, char *diagn,
401  int *n, double *ap, double *x, int *incx) {
402  double *A, *AP;
403  int i, j, k, LDA;
404  CBLAS_TRANSPOSE trans;
405  CBLAS_UPLO uplo;
406  CBLAS_DIAG diag;
407 
408  get_transpose_type(transp,&trans);
409  get_uplo_type(uplow,&uplo);
410  get_diag_type(diagn,&diag);
411 
412  if (*layout == TEST_ROW_MJR) {
413  LDA = *n;
414  A = ( double* )malloc( LDA*LDA*sizeof( double ) );
415  AP = ( double* )malloc( (((LDA+1)*LDA)/2)*sizeof( double ) );
416  if (uplo == CblasUpper) {
417  for( j=0, k=0; j<*n; j++ )
418  for( i=0; i<j+1; i++, k++ )
419  A[ LDA*i+j ]=ap[ k ];
420  for( i=0, k=0; i<*n; i++ )
421  for( j=i; j<*n; j++, k++ )
422  AP[ k ]=A[ LDA*i+j ];
423  }
424  else {
425  for( j=0, k=0; j<*n; j++ )
426  for( i=j; i<*n; i++, k++ )
427  A[ LDA*i+j ]=ap[ k ];
428  for( i=0, k=0; i<*n; i++ )
429  for( j=0; j<i+1; j++, k++ )
430  AP[ k ]=A[ LDA*i+j ];
431  }
432  cblas_dtpmv( CblasRowMajor, uplo, trans, diag, *n, AP, x, *incx );
433  free(A);
434  free(AP);
435  }
436  else
437  cblas_dtpmv( CblasColMajor, uplo, trans, diag, *n, ap, x, *incx );
438 }
439 
440 void F77_dtpsv(int *layout, char *uplow, char *transp, char *diagn,
441  int *n, double *ap, double *x, int *incx) {
442  double *A, *AP;
443  int i, j, k, LDA;
444  CBLAS_TRANSPOSE trans;
445  CBLAS_UPLO uplo;
446  CBLAS_DIAG diag;
447 
448  get_transpose_type(transp,&trans);
449  get_uplo_type(uplow,&uplo);
450  get_diag_type(diagn,&diag);
451 
452  if (*layout == TEST_ROW_MJR) {
453  LDA = *n;
454  A = ( double* )malloc( LDA*LDA*sizeof( double ) );
455  AP = ( double* )malloc( (((LDA+1)*LDA)/2)*sizeof( double ) );
456  if (uplo == CblasUpper) {
457  for( j=0, k=0; j<*n; j++ )
458  for( i=0; i<j+1; i++, k++ )
459  A[ LDA*i+j ]=ap[ k ];
460  for( i=0, k=0; i<*n; i++ )
461  for( j=i; j<*n; j++, k++ )
462  AP[ k ]=A[ LDA*i+j ];
463 
464  }
465  else {
466  for( j=0, k=0; j<*n; j++ )
467  for( i=j; i<*n; i++, k++ )
468  A[ LDA*i+j ]=ap[ k ];
469  for( i=0, k=0; i<*n; i++ )
470  for( j=0; j<i+1; j++, k++ )
471  AP[ k ]=A[ LDA*i+j ];
472  }
473  cblas_dtpsv( CblasRowMajor, uplo, trans, diag, *n, AP, x, *incx );
474  free(A);
475  free(AP);
476  }
477  else
478  cblas_dtpsv( CblasColMajor, uplo, trans, diag, *n, ap, x, *incx );
479 }
480 
481 void F77_dspr(int *layout, char *uplow, int *n, double *alpha, double *x,
482  int *incx, double *ap ){
483  double *A, *AP;
484  int i,j,k,LDA;
485  CBLAS_UPLO uplo;
486 
487  get_uplo_type(uplow,&uplo);
488 
489  if (*layout == TEST_ROW_MJR) {
490  LDA = *n;
491  A = ( double* )malloc( LDA*LDA*sizeof( double ) );
492  AP = ( double* )malloc( (((LDA+1)*LDA)/2)*sizeof( double ) );
493  if (uplo == CblasUpper) {
494  for( j=0, k=0; j<*n; j++ )
495  for( i=0; i<j+1; i++, k++ )
496  A[ LDA*i+j ]=ap[ k ];
497  for( i=0, k=0; i<*n; i++ )
498  for( j=i; j<*n; j++, k++ )
499  AP[ k ]=A[ LDA*i+j ];
500  }
501  else {
502  for( j=0, k=0; j<*n; j++ )
503  for( i=j; i<*n; i++, k++ )
504  A[ LDA*i+j ]=ap[ k ];
505  for( i=0, k=0; i<*n; i++ )
506  for( j=0; j<i+1; j++, k++ )
507  AP[ k ]=A[ LDA*i+j ];
508  }
509  cblas_dspr( CblasRowMajor, uplo, *n, *alpha, x, *incx, AP );
510  if (uplo == CblasUpper) {
511  for( i=0, k=0; i<*n; i++ )
512  for( j=i; j<*n; j++, k++ )
513  A[ LDA*i+j ]=AP[ k ];
514  for( j=0, k=0; j<*n; j++ )
515  for( i=0; i<j+1; i++, k++ )
516  ap[ k ]=A[ LDA*i+j ];
517  }
518  else {
519  for( i=0, k=0; i<*n; i++ )
520  for( j=0; j<i+1; j++, k++ )
521  A[ LDA*i+j ]=AP[ k ];
522  for( j=0, k=0; j<*n; j++ )
523  for( i=j; i<*n; i++, k++ )
524  ap[ k ]=A[ LDA*i+j ];
525  }
526  free(A);
527  free(AP);
528  }
529  else
530  cblas_dspr( CblasColMajor, uplo, *n, *alpha, x, *incx, ap );
531 }
532 
533 void F77_dspr2(int *layout, char *uplow, int *n, double *alpha, double *x,
534  int *incx, double *y, int *incy, double *ap ){
535  double *A, *AP;
536  int i,j,k,LDA;
537  CBLAS_UPLO uplo;
538 
539  get_uplo_type(uplow,&uplo);
540 
541  if (*layout == TEST_ROW_MJR) {
542  LDA = *n;
543  A = ( double* )malloc( LDA*LDA*sizeof( double ) );
544  AP = ( double* )malloc( (((LDA+1)*LDA)/2)*sizeof( double ) );
545  if (uplo == CblasUpper) {
546  for( j=0, k=0; j<*n; j++ )
547  for( i=0; i<j+1; i++, k++ )
548  A[ LDA*i+j ]=ap[ k ];
549  for( i=0, k=0; i<*n; i++ )
550  for( j=i; j<*n; j++, k++ )
551  AP[ k ]=A[ LDA*i+j ];
552  }
553  else {
554  for( j=0, k=0; j<*n; j++ )
555  for( i=j; i<*n; i++, k++ )
556  A[ LDA*i+j ]=ap[ k ];
557  for( i=0, k=0; i<*n; i++ )
558  for( j=0; j<i+1; j++, k++ )
559  AP[ k ]=A[ LDA*i+j ];
560  }
561  cblas_dspr2( CblasRowMajor, uplo, *n, *alpha, x, *incx, y, *incy, AP );
562  if (uplo == CblasUpper) {
563  for( i=0, k=0; i<*n; i++ )
564  for( j=i; j<*n; j++, k++ )
565  A[ LDA*i+j ]=AP[ k ];
566  for( j=0, k=0; j<*n; j++ )
567  for( i=0; i<j+1; i++, k++ )
568  ap[ k ]=A[ LDA*i+j ];
569  }
570  else {
571  for( i=0, k=0; i<*n; i++ )
572  for( j=0; j<i+1; j++, k++ )
573  A[ LDA*i+j ]=AP[ k ];
574  for( j=0, k=0; j<*n; j++ )
575  for( i=j; i<*n; i++, k++ )
576  ap[ k ]=A[ LDA*i+j ];
577  }
578  free(A);
579  free(AP);
580  }
581  else
582  cblas_dspr2( CblasColMajor, uplo, *n, *alpha, x, *incx, y, *incy, ap );
583 }
void F77_dtbsv(int *layout, char *uplow, char *transp, char *diagn, int *n, int *k, double *a, int *lda, double *x, int *incx)
Definition: c_dblas2.c:271
void F77_dspr2(int *layout, char *uplow, int *n, double *alpha, double *x, int *incx, double *y, int *incy, double *ap)
Definition: c_dblas2.c:533
void F77_dger(int *layout, int *m, int *n, double *alpha, double *x, int *incx, double *y, int *incy, double *a, int *lda)
Definition: c_dblas2.c:38
void F77_dsyr(int *layout, char *uplow, int *n, double *alpha, double *x, int *incx, double *a, int *lda)
Definition: c_dblas2.c:139
void F77_dtrsv(int *layout, char *uplow, char *transp, char *diagn, int *n, double *a, int *lda, double *x, int *incx)
Definition: c_dblas2.c:91
void F77_dsymv(int *layout, char *uplow, int *n, double *alpha, double *a, int *lda, double *x, int *incx, double *beta, double *y, int *incy)
Definition: c_dblas2.c:115
void F77_dgbmv(int *layout, char *transp, int *m, int *n, int *kl, int *ku, double *alpha, double *a, int *lda, double *x, int *incx, double *beta, double *y, int *incy)
Definition: c_dblas2.c:187
void F77_dtrmv(int *layout, char *uplow, char *transp, char *diagn, int *n, double *a, int *lda, double *x, int *incx)
Definition: c_dblas2.c:63
void F77_dtbmv(int *layout, char *uplow, char *transp, char *diagn, int *n, int *k, double *a, int *lda, double *x, int *incx)
Definition: c_dblas2.c:225
void F77_dsbmv(int *layout, char *uplow, int *n, int *k, double *alpha, double *a, int *lda, double *x, int *incx, double *beta, double *y, int *incy)
Definition: c_dblas2.c:317
void F77_dsyr2(int *layout, char *uplow, int *n, double *alpha, double *x, int *incx, double *y, int *incy, double *a, int *lda)
Definition: c_dblas2.c:163
void F77_dtpsv(int *layout, char *uplow, char *transp, char *diagn, int *n, double *ap, double *x, int *incx)
Definition: c_dblas2.c:440
void F77_dgemv(int *layout, char *transp, int *m, int *n, double *alpha, double *a, int *lda, double *x, int *incx, double *beta, double *y, int *incy)
Definition: c_dblas2.c:11
void F77_dspmv(int *layout, char *uplow, int *n, double *alpha, double *ap, double *x, int *incx, double *beta, double *y, int *incy)
Definition: c_dblas2.c:362
void F77_dspr(int *layout, char *uplow, int *n, double *alpha, double *x, int *incx, double *ap)
Definition: c_dblas2.c:481
void F77_dtpmv(int *layout, char *uplow, char *transp, char *diagn, int *n, double *ap, double *x, int *incx)
Definition: c_dblas2.c:400
CBLAS_UPLO
Definition: cblas.h:21
@ CblasUpper
Definition: cblas.h:21
void cblas_dgemv(CBLAS_LAYOUT layout, CBLAS_TRANSPOSE TransA, const CBLAS_INDEX M, const CBLAS_INDEX N, const double alpha, const double *A, const CBLAS_INDEX lda, const double *X, const CBLAS_INDEX incX, const double beta, double *Y, const CBLAS_INDEX incY)
Definition: cblas_dgemv.c:11
void cblas_dsymv(CBLAS_LAYOUT layout, CBLAS_UPLO Uplo, const CBLAS_INDEX N, const double alpha, const double *A, const CBLAS_INDEX lda, const double *X, const CBLAS_INDEX incX, const double beta, double *Y, const CBLAS_INDEX incY)
Definition: cblas_dsymv.c:12
void cblas_dger(CBLAS_LAYOUT layout, const CBLAS_INDEX M, const CBLAS_INDEX N, const double alpha, const double *X, const CBLAS_INDEX incX, const double *Y, const CBLAS_INDEX incY, double *A, const CBLAS_INDEX lda)
Definition: cblas_dger.c:12
CBLAS_TRANSPOSE
Definition: cblas.h:20
void cblas_dtbsv(CBLAS_LAYOUT layout, CBLAS_UPLO Uplo, CBLAS_TRANSPOSE TransA, CBLAS_DIAG Diag, const CBLAS_INDEX N, const CBLAS_INDEX K, const double *A, const CBLAS_INDEX lda, double *X, const CBLAS_INDEX incX)
Definition: cblas_dtbsv.c:10
void cblas_dspr2(CBLAS_LAYOUT layout, CBLAS_UPLO Uplo, const CBLAS_INDEX N, const double alpha, const double *X, const CBLAS_INDEX incX, const double *Y, const CBLAS_INDEX incY, double *A)
Definition: cblas_dspr2.c:10
void cblas_dtpmv(CBLAS_LAYOUT layout, CBLAS_UPLO Uplo, CBLAS_TRANSPOSE TransA, CBLAS_DIAG Diag, const CBLAS_INDEX N, const double *Ap, double *X, const CBLAS_INDEX incX)
Definition: cblas_dtpmv.c:10
void cblas_dtpsv(CBLAS_LAYOUT layout, CBLAS_UPLO Uplo, CBLAS_TRANSPOSE TransA, CBLAS_DIAG Diag, const CBLAS_INDEX N, const double *Ap, double *X, const CBLAS_INDEX incX)
Definition: cblas_dtpsv.c:10
@ CblasColMajor
Definition: cblas.h:19
@ CblasRowMajor
Definition: cblas.h:19
void cblas_dtrmv(CBLAS_LAYOUT layout, CBLAS_UPLO Uplo, CBLAS_TRANSPOSE TransA, CBLAS_DIAG Diag, const CBLAS_INDEX N, const double *A, const CBLAS_INDEX lda, double *X, const CBLAS_INDEX incX)
Definition: cblas_dtrmv.c:12
CBLAS_DIAG
Definition: cblas.h:22
void cblas_dsbmv(CBLAS_LAYOUT layout, CBLAS_UPLO Uplo, const CBLAS_INDEX N, const CBLAS_INDEX K, const double alpha, const double *A, const CBLAS_INDEX lda, const double *X, const CBLAS_INDEX incX, const double beta, double *Y, const CBLAS_INDEX incY)
Definition: cblas_dsbmv.c:12
void cblas_dtbmv(CBLAS_LAYOUT layout, CBLAS_UPLO Uplo, CBLAS_TRANSPOSE TransA, CBLAS_DIAG Diag, const CBLAS_INDEX N, const CBLAS_INDEX K, const double *A, const CBLAS_INDEX lda, double *X, const CBLAS_INDEX incX)
Definition: cblas_dtbmv.c:10
void cblas_dgbmv(CBLAS_LAYOUT layout, CBLAS_TRANSPOSE TransA, const CBLAS_INDEX M, const CBLAS_INDEX N, const CBLAS_INDEX KL, const CBLAS_INDEX KU, const double alpha, const double *A, const CBLAS_INDEX lda, const double *X, const CBLAS_INDEX incX, const double beta, double *Y, const CBLAS_INDEX incY)
Definition: cblas_dgbmv.c:11
void cblas_dspr(CBLAS_LAYOUT layout, CBLAS_UPLO Uplo, const CBLAS_INDEX N, const double alpha, const double *X, const CBLAS_INDEX incX, double *Ap)
Definition: cblas_dspr.c:12
void cblas_dtrsv(CBLAS_LAYOUT layout, CBLAS_UPLO Uplo, CBLAS_TRANSPOSE TransA, CBLAS_DIAG Diag, const CBLAS_INDEX N, const double *A, const CBLAS_INDEX lda, double *X, const CBLAS_INDEX incX)
Definition: cblas_dtrsv.c:10
void cblas_dsyr(CBLAS_LAYOUT layout, CBLAS_UPLO Uplo, const CBLAS_INDEX N, const double alpha, const double *X, const CBLAS_INDEX incX, double *A, const CBLAS_INDEX lda)
Definition: cblas_dsyr.c:12
void cblas_dspmv(CBLAS_LAYOUT layout, CBLAS_UPLO Uplo, const CBLAS_INDEX N, const double alpha, const double *Ap, const double *X, const CBLAS_INDEX incX, const double beta, double *Y, const CBLAS_INDEX incY)
Definition: cblas_dspmv.c:13
void cblas_dsyr2(CBLAS_LAYOUT layout, CBLAS_UPLO Uplo, const CBLAS_INDEX N, const double alpha, const double *X, const CBLAS_INDEX incX, const double *Y, const CBLAS_INDEX incY, double *A, const CBLAS_INDEX lda)
Definition: cblas_dsyr2.c:12
#define UNDEFINED
Definition: cblas_test.h:19
void get_diag_type(char *type, CBLAS_DIAG *diag)
Definition: auxiliary.c:25
#define TEST_ROW_MJR
Definition: cblas_test.h:12
#define TEST_COL_MJR
Definition: cblas_test.h:16
void get_uplo_type(char *type, CBLAS_UPLO *uplo)
Definition: auxiliary.c:18
void get_transpose_type(char *type, CBLAS_TRANSPOSE *trans)
Definition: auxiliary.c:8
#define LDA
Definition: example_user.c:12