11 #include "cblas_f77.h" 12 void cblas_chemm(
const CBLAS_LAYOUT layout,
const CBLAS_SIDE Side,
13 const CBLAS_UPLO Uplo,
const CBLAS_INT M,
const CBLAS_INT N,
14 const void *alpha,
const void *A,
const CBLAS_INT lda,
15 const void *B,
const CBLAS_INT ldb,
const void *beta,
16 void *C,
const CBLAS_INT ldc)
20 F77_CHAR F77_SD, F77_UL;
27 F77_INT F77_M=M, F77_N=N, F77_lda=lda, F77_ldb=ldb;
37 extern int CBLAS_CallFromC;
38 extern int RowMajorStrg;
42 if( layout == CblasColMajor )
44 if( Side == CblasRight) SD=
'R';
45 else if ( Side == CblasLeft ) SD=
'L';
48 cblas_xerbla(2,
"cblas_chemm",
"Illegal Side setting, %d\n", Side);
54 if( Uplo == CblasUpper) UL=
'U';
55 else if ( Uplo == CblasLower ) UL=
'L';
58 cblas_xerbla(3,
"cblas_chemm",
"Illegal Uplo setting, %d\n", Uplo);
65 F77_UL = C2F_CHAR(&UL);
66 F77_SD = C2F_CHAR(&SD);
69 F77_chemm(F77_SD, F77_UL, &F77_M, &F77_N, alpha, A, &F77_lda,
70 B, &F77_ldb, beta, C, &F77_ldc);
71 }
else if (layout == CblasRowMajor)
74 if( Side == CblasRight) SD=
'L';
75 else if ( Side == CblasLeft ) SD=
'R';
78 cblas_xerbla(2,
"cblas_chemm",
"Illegal Side setting, %d\n", Side);
84 if( Uplo == CblasUpper) UL=
'L';
85 else if ( Uplo == CblasLower ) UL=
'U';
88 cblas_xerbla(3,
"cblas_chemm",
"Illegal Uplo setting, %d\n", Uplo);
95 F77_UL = C2F_CHAR(&UL);
96 F77_SD = C2F_CHAR(&SD);
99 F77_chemm(F77_SD, F77_UL, &F77_N, &F77_M, alpha, A,
100 &F77_lda, B, &F77_ldb, beta, C, &F77_ldc);
102 else cblas_xerbla(1,
"cblas_chemm",
"Illegal layout setting, %d\n", layout);