11 #include "cblas_f77.h" 12 void cblas_dsyr2k(
const CBLAS_LAYOUT layout,
const CBLAS_UPLO Uplo,
13 const CBLAS_TRANSPOSE Trans,
const CBLAS_INT N,
const CBLAS_INT K,
14 const double alpha,
const double *A,
const CBLAS_INT lda,
15 const double *B,
const CBLAS_INT ldb,
const double beta,
16 double *C,
const CBLAS_INT ldc)
20 F77_CHAR F77_TA, F77_UL;
27 F77_INT F77_N=N, F77_K=K, F77_lda=lda, F77_ldb=ldb;
37 extern int CBLAS_CallFromC;
38 extern int RowMajorStrg;
42 if( layout == CblasColMajor )
45 if( Uplo == CblasUpper) UL=
'U';
46 else if ( Uplo == CblasLower ) UL=
'L';
49 cblas_xerbla(2,
"cblas_dsyr2k",
"Illegal Uplo setting, %d\n", Uplo);
55 if( Trans == CblasTrans) TR =
'T';
56 else if ( Trans == CblasConjTrans ) TR=
'C';
57 else if ( Trans == CblasNoTrans ) TR=
'N';
60 cblas_xerbla(3,
"cblas_dsyr2k",
"Illegal Trans setting, %d\n", Trans);
68 F77_UL = C2F_CHAR(&UL);
69 F77_TR = C2F_CHAR(&TR);
72 F77_dsyr2k(F77_UL, F77_TR, &F77_N, &F77_K, &alpha, A, &F77_lda,
73 B, &F77_ldb, &beta, C, &F77_ldc);
74 }
else if (layout == CblasRowMajor)
77 if( Uplo == CblasUpper) UL=
'L';
78 else if ( Uplo == CblasLower ) UL=
'U';
81 cblas_xerbla(3,
"cblas_dsyr2k",
"Illegal Uplo setting, %d\n", Uplo);
86 if( Trans == CblasTrans) TR =
'N';
87 else if ( Trans == CblasConjTrans ) TR=
'N';
88 else if ( Trans == CblasNoTrans ) TR=
'T';
91 cblas_xerbla(3,
"cblas_dsyr2k",
"Illegal Trans setting, %d\n", Trans);
98 F77_UL = C2F_CHAR(&UL);
99 F77_TR = C2F_CHAR(&TR);
102 F77_dsyr2k(F77_UL, F77_TR, &F77_N, &F77_K, &alpha, A, &F77_lda, B,
103 &F77_ldb, &beta, C, &F77_ldc);
105 else cblas_xerbla(1,
"cblas_dsyr2k",
"Illegal layout setting, %d\n", layout);