11 #include "cblas_f77.h" 12 void cblas_ssymm(
const CBLAS_LAYOUT layout,
const CBLAS_SIDE Side,
13 const CBLAS_UPLO Uplo,
const CBLAS_INT M,
const CBLAS_INT N,
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_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_ssymm",
49 "Illegal Side setting, %d\n", Side);
55 if( Uplo == CblasUpper) UL=
'U';
56 else if ( Uplo == CblasLower ) UL=
'L';
59 cblas_xerbla(3,
"cblas_ssymm",
60 "Illegal Uplo setting, %d\n", Uplo);
67 F77_UL = C2F_CHAR(&UL);
68 F77_SD = C2F_CHAR(&SD);
71 F77_ssymm(F77_SD, F77_UL, &F77_M, &F77_N, &alpha, A, &F77_lda, B, &F77_ldb, &beta, C, &F77_ldc);
72 }
else if (layout == CblasRowMajor)
75 if( Side == CblasRight) SD=
'L';
76 else if ( Side == CblasLeft ) SD=
'R';
79 cblas_xerbla(2,
"cblas_ssymm",
80 "Illegal Side setting, %d\n", Side);
86 if( Uplo == CblasUpper) UL=
'L';
87 else if ( Uplo == CblasLower ) UL=
'U';
90 cblas_xerbla(3,
"cblas_ssymm",
91 "Illegal Uplo setting, %d\n", Uplo);
98 F77_UL = C2F_CHAR(&UL);
99 F77_SD = C2F_CHAR(&SD);
102 F77_ssymm(F77_SD, F77_UL, &F77_N, &F77_M, &alpha, A, &F77_lda, B, &F77_ldb, &beta, C, &F77_ldc);
103 }
else cblas_xerbla(1,
"cblas_ssymm",
104 "Illegal layout setting, %d\n", layout);