11 #include "cblas_f77.h" 12 void cblas_cher2k(
const CBLAS_LAYOUT layout,
const CBLAS_UPLO Uplo,
13 const CBLAS_TRANSPOSE Trans,
const CBLAS_INT N,
const CBLAS_INT K,
14 const void *alpha,
const void *A,
const CBLAS_INT lda,
15 const void *B,
const CBLAS_INT ldb,
const float beta,
16 void *C,
const CBLAS_INT ldc)
20 F77_CHAR F77_TR, 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;
40 const float *alp=(
float *)alpha;
45 if( layout == CblasColMajor )
48 if( Uplo == CblasUpper) UL=
'U';
49 else if ( Uplo == CblasLower ) UL=
'L';
52 cblas_xerbla(2,
"cblas_cher2k",
"Illegal Uplo setting, %d\n", Uplo);
58 if( Trans == CblasTrans) TR =
'T';
59 else if ( Trans == CblasConjTrans ) TR=
'C';
60 else if ( Trans == CblasNoTrans ) TR=
'N';
63 cblas_xerbla(3,
"cblas_cher2k",
"Illegal Trans setting, %d\n", Trans);
70 F77_UL = C2F_CHAR(&UL);
71 F77_TR = C2F_CHAR(&TR);
74 F77_cher2k(F77_UL, F77_TR, &F77_N, &F77_K, alpha, A, &F77_lda, B, &F77_ldb, &beta, C, &F77_ldc);
75 }
else if (layout == CblasRowMajor)
79 if( Uplo == CblasUpper) UL=
'L';
80 else if ( Uplo == CblasLower ) UL=
'U';
83 cblas_xerbla(2,
"cblas_cher2k",
"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=
'C';
93 cblas_xerbla(3,
"cblas_cher2k",
"Illegal Trans setting, %d\n", Trans);
99 F77_UL = C2F_CHAR(&UL);
100 F77_TR = C2F_CHAR(&TR);
105 F77_cher2k(F77_UL,F77_TR, &F77_N, &F77_K, ALPHA, A, &F77_lda, B, &F77_ldb, &beta, C, &F77_ldc);
107 else cblas_xerbla(1,
"cblas_cher2k",
"Illegal layout setting, %d\n", layout);