11void 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 ) {
22 A = (
double* )malloc( (*m)*
LDA*
sizeof( double ) );
25 A[
LDA*i+j ]=a[ (*lda)*j+i ];
27 *m, *n, *alpha, A,
LDA, x, *incx, *beta, y, *incy );
32 *m, *n, *alpha, a, *lda, x, *incx, *beta, y, *incy );
35 *m, *n, *alpha, a, *lda, x, *incx, *beta, y, *incy );
38void F77_dger(
int *layout,
int *m,
int *n,
double *alpha,
double *x,
int *incx,
39 double *y,
int *incy,
double *a,
int *lda ) {
46 A = (
double* )malloc( (*m)*
LDA*
sizeof( double ) );
48 for( i=0; i<*m; i++ ) {
50 A[
LDA*i+j ]=a[ (*lda)*j+i ];
56 a[ (*lda)*j+i ]=A[
LDA*i+j ];
63void F77_dtrmv(
int *layout,
char *uplow,
char *transp,
char *diagn,
64 int *n,
double *a,
int *lda,
double *x,
int *incx) {
77 A = (
double* )malloc( (*n)*
LDA*
sizeof( double ) );
80 A[
LDA*i+j ]=a[ (*lda)*j+i ];
91void F77_dtrsv(
int *layout,
char *uplow,
char *transp,
char *diagn,
92 int *n,
double *a,
int *lda,
double *x,
int *incx ) {
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 ];
115void F77_dsymv(
int *layout,
char *uplow,
int *n,
double *alpha,
double *a,
116 int *lda,
double *x,
int *incx,
double *beta,
double *y,
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 ];
139void F77_dsyr(
int *layout,
char *uplow,
int *n,
double *alpha,
double *x,
140 int *incx,
double *a,
int *lda) {
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 ];
154 for( i=0; i<*n; i++ )
155 for( j=0; j<*n; j++ )
156 a[ (*lda)*j+i ]=A[
LDA*i+j ];
163void F77_dsyr2(
int *layout,
char *uplow,
int *n,
double *alpha,
double *x,
164 int *incx,
double *y,
int *incy,
double *a,
int *lda) {
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 ];
178 for( i=0; i<*n; i++ )
179 for( j=0; j<*n; j++ )
180 a[ (*lda)*j+i ]=A[
LDA*i+j ];
187void 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 ) {
192 int i,irow,j,jcol,
LDA;
199 A = (
double* )malloc( (*n+*kl)*
LDA*
sizeof( double ) );
200 for( i=0; i<*ku; i++ ){
203 for( j=jcol; j<*n; j++ )
204 A[
LDA*(j-jcol)+irow ]=a[ (*lda)*j+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++ ){
213 for( j=jcol; j<(*n+*kl); j++ )
214 A[
LDA*j+irow ]=a[ (*lda)*(j-jcol)+i ];
217 A,
LDA, x, *incx, *beta, y, *incy );
222 a, *lda, x, *incx, *beta, y, *incy );
225void F77_dtbmv(
int *layout,
char *uplow,
char *transp,
char *diagn,
226 int *n,
int *k,
double *a,
int *lda,
double *x,
int *incx) {
228 int irow, jcol, i, j,
LDA;
239 A = (
double* )malloc( (*n+*k)*
LDA*
sizeof( double ) );
241 for( i=0; i<*k; i++ ){
244 for( j=jcol; j<*n; j++ )
245 A[
LDA*(j-jcol)+irow ]=a[ (*lda)*j+i ];
249 for( j=0; j<*n; j++ )
250 A[
LDA*j+irow ]=a[ (*lda)*j+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++ ){
260 for( j=jcol; j<(*n+*k); j++ )
261 A[
LDA*j+irow ]=a[ (*lda)*(j-jcol)+i ];
271void F77_dtbsv(
int *layout,
char *uplow,
char *transp,
char *diagn,
272 int *n,
int *k,
double *a,
int *lda,
double *x,
int *incx) {
274 int irow, jcol, i, j,
LDA;
285 A = (
double* )malloc( (*n+*k)*
LDA*
sizeof( double ) );
287 for( i=0; i<*k; i++ ){
290 for( j=jcol; j<*n; j++ )
291 A[
LDA*(j-jcol)+irow ]=a[ (*lda)*j+i ];
295 for( j=0; j<*n; j++ )
296 A[
LDA*j+irow ]=a[ (*lda)*j+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++ ){
306 for( j=jcol; j<(*n+*k); j++ )
307 A[
LDA*j+irow ]=a[ (*lda)*(j-jcol)+i ];
317void 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) {
321 int i,j,irow,jcol,
LDA;
328 A = (
double* )malloc( (*n+*k)*
LDA*
sizeof( double ) );
330 for( i=0; i<*k; i++ ){
333 for( j=jcol; j<*n; j++ )
334 A[
LDA*(j-jcol)+irow ]=a[ (*lda)*j+i ];
338 for( j=0; j<*n; j++ )
339 A[
LDA*j+irow ]=a[ (*lda)*j+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++ ){
349 for( j=jcol; j<(*n+*k); j++ )
350 A[
LDA*j+irow ]=a[ (*lda)*(j-jcol)+i ];
362void F77_dspmv(
int *layout,
char *uplow,
int *n,
double *alpha,
double *ap,
363 double *x,
int *incx,
double *beta,
double *y,
int *incy) {
372 A = (
double* )malloc(
LDA*
LDA*
sizeof(
double ) );
373 AP = (
double* )malloc( (((
LDA+1)*
LDA)/2)*
sizeof(
double ) );
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 ];
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 ];
400void F77_dtpmv(
int *layout,
char *uplow,
char *transp,
char *diagn,
401 int *n,
double *ap,
double *x,
int *incx) {
414 A = (
double* )malloc(
LDA*
LDA*
sizeof(
double ) );
415 AP = (
double* )malloc( (((
LDA+1)*
LDA)/2)*
sizeof(
double ) );
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 ];
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 ];
440void F77_dtpsv(
int *layout,
char *uplow,
char *transp,
char *diagn,
441 int *n,
double *ap,
double *x,
int *incx) {
454 A = (
double* )malloc(
LDA*
LDA*
sizeof(
double ) );
455 AP = (
double* )malloc( (((
LDA+1)*
LDA)/2)*
sizeof(
double ) );
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 ];
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 ];
481void F77_dspr(
int *layout,
char *uplow,
int *n,
double *alpha,
double *x,
482 int *incx,
double *ap ){
491 A = (
double* )malloc(
LDA*
LDA*
sizeof(
double ) );
492 AP = (
double* )malloc( (((
LDA+1)*
LDA)/2)*
sizeof(
double ) );
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 ];
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 ];
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 ];
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 ];
533void F77_dspr2(
int *layout,
char *uplow,
int *n,
double *alpha,
double *x,
534 int *incx,
double *y,
int *incy,
double *ap ){
543 A = (
double* )malloc(
LDA*
LDA*
sizeof(
double ) );
544 AP = (
double* )malloc( (((
LDA+1)*
LDA)/2)*
sizeof(
double ) );
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 ];
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 ];
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 ];
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 ];
void cblas_dgemv(CBLAS_LAYOUT layout, CBLAS_TRANSPOSE TransA, const CBLAS_INT M, const CBLAS_INT N, const double alpha, const double *A, const CBLAS_INT lda, const double *X, const CBLAS_INT incX, const double beta, double *Y, const CBLAS_INT incY)
void cblas_dtbmv(CBLAS_LAYOUT layout, CBLAS_UPLO Uplo, CBLAS_TRANSPOSE TransA, CBLAS_DIAG Diag, const CBLAS_INT N, const CBLAS_INT K, const double *A, const CBLAS_INT lda, double *X, const CBLAS_INT incX)
void cblas_dsyr(CBLAS_LAYOUT layout, CBLAS_UPLO Uplo, const CBLAS_INT N, const double alpha, const double *X, const CBLAS_INT incX, double *A, const CBLAS_INT lda)
void cblas_dspr2(CBLAS_LAYOUT layout, CBLAS_UPLO Uplo, const CBLAS_INT N, const double alpha, const double *X, const CBLAS_INT incX, const double *Y, const CBLAS_INT incY, double *A)
void cblas_dspr(CBLAS_LAYOUT layout, CBLAS_UPLO Uplo, const CBLAS_INT N, const double alpha, const double *X, const CBLAS_INT incX, double *Ap)
void cblas_dtbsv(CBLAS_LAYOUT layout, CBLAS_UPLO Uplo, CBLAS_TRANSPOSE TransA, CBLAS_DIAG Diag, const CBLAS_INT N, const CBLAS_INT K, const double *A, const CBLAS_INT lda, double *X, const CBLAS_INT incX)
void cblas_dsbmv(CBLAS_LAYOUT layout, CBLAS_UPLO Uplo, const CBLAS_INT N, const CBLAS_INT K, const double alpha, const double *A, const CBLAS_INT lda, const double *X, const CBLAS_INT incX, const double beta, double *Y, const CBLAS_INT incY)
void cblas_dtrsv(CBLAS_LAYOUT layout, CBLAS_UPLO Uplo, CBLAS_TRANSPOSE TransA, CBLAS_DIAG Diag, const CBLAS_INT N, const double *A, const CBLAS_INT lda, double *X, const CBLAS_INT incX)
void cblas_dger(CBLAS_LAYOUT layout, const CBLAS_INT M, const CBLAS_INT N, const double alpha, const double *X, const CBLAS_INT incX, const double *Y, const CBLAS_INT incY, double *A, const CBLAS_INT lda)
void cblas_dspmv(CBLAS_LAYOUT layout, CBLAS_UPLO Uplo, const CBLAS_INT N, const double alpha, const double *Ap, const double *X, const CBLAS_INT incX, const double beta, double *Y, const CBLAS_INT incY)
void cblas_dgbmv(CBLAS_LAYOUT layout, CBLAS_TRANSPOSE TransA, const CBLAS_INT M, const CBLAS_INT N, const CBLAS_INT KL, const CBLAS_INT KU, const double alpha, const double *A, const CBLAS_INT lda, const double *X, const CBLAS_INT incX, const double beta, double *Y, const CBLAS_INT incY)
void cblas_dtrmv(CBLAS_LAYOUT layout, CBLAS_UPLO Uplo, CBLAS_TRANSPOSE TransA, CBLAS_DIAG Diag, const CBLAS_INT N, const double *A, const CBLAS_INT lda, double *X, const CBLAS_INT incX)
void cblas_dsymv(CBLAS_LAYOUT layout, CBLAS_UPLO Uplo, const CBLAS_INT N, const double alpha, const double *A, const CBLAS_INT lda, const double *X, const CBLAS_INT incX, const double beta, double *Y, const CBLAS_INT incY)
void cblas_dsyr2(CBLAS_LAYOUT layout, CBLAS_UPLO Uplo, const CBLAS_INT N, const double alpha, const double *X, const CBLAS_INT incX, const double *Y, const CBLAS_INT incY, double *A, const CBLAS_INT lda)
void cblas_dtpsv(CBLAS_LAYOUT layout, CBLAS_UPLO Uplo, CBLAS_TRANSPOSE TransA, CBLAS_DIAG Diag, const CBLAS_INT N, const double *Ap, double *X, const CBLAS_INT incX)
void cblas_dtpmv(CBLAS_LAYOUT layout, CBLAS_UPLO Uplo, CBLAS_TRANSPOSE TransA, CBLAS_DIAG Diag, const CBLAS_INT N, const double *Ap, double *X, const CBLAS_INT incX)
void get_diag_type(char *type, CBLAS_DIAG *diag)
void get_uplo_type(char *type, CBLAS_UPLO *uplo)
void get_transpose_type(char *type, CBLAS_TRANSPOSE *trans)