11 #include "cblas_f77.h" 12 void cblas_ssyr2k(
const CBLAS_LAYOUT layout,
const CBLAS_UPLO Uplo,
13 const CBLAS_TRANSPOSE Trans,
const CBLAS_INT N,
const CBLAS_INT K,
14 const float alpha,
const float *A,
const CBLAS_INT lda,
15 const float *B,
const CBLAS_INT ldb,
const float beta,
16 float *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_ssyr2k",
50 "Illegal Uplo setting, %d\n", Uplo);
56 if( Trans == CblasTrans) TR =
'T';
57 else if ( Trans == CblasConjTrans ) TR=
'C';
58 else if ( Trans == CblasNoTrans ) TR=
'N';
61 cblas_xerbla(3,
"cblas_ssyr2k",
62 "Illegal Trans setting, %d\n", Trans);
70 F77_UL = C2F_CHAR(&UL);
71 F77_TR = C2F_CHAR(&TR);
74 F77_ssyr2k(F77_UL, F77_TR, &F77_N, &F77_K, &alpha, A, &F77_lda, B, &F77_ldb, &beta, C, &F77_ldc);
75 }
else if (layout == CblasRowMajor)
78 if( Uplo == CblasUpper) UL=
'L';
79 else if ( Uplo == CblasLower ) UL=
'U';
82 cblas_xerbla(3,
"cblas_ssyr2k",
83 "Illegal Uplo setting, %d\n", Uplo);
88 if( Trans == CblasTrans) TR =
'N';
89 else if ( Trans == CblasConjTrans ) TR=
'N';
90 else if ( Trans == CblasNoTrans ) TR=
'T';
93 cblas_xerbla(3,
"cblas_ssyr2k",
94 "Illegal Trans setting, %d\n", Trans);
101 F77_UL = C2F_CHAR(&UL);
102 F77_TR = C2F_CHAR(&TR);
105 F77_ssyr2k(F77_UL, F77_TR, &F77_N, &F77_K, &alpha, A, &F77_lda, B, &F77_ldb, &beta, C, &F77_ldc);
106 }
else cblas_xerbla(1,
"cblas_ssyr2k",
107 "Illegal layout setting, %d\n", layout);