1 #include "../include/lass.h" 128 int ddss_dgemm(
enum DDSS_TRANS TRANS_A,
enum DDSS_TRANS TRANS_B,
130 double ALPHA,
double *A,
int LDA,
132 double BETA,
double *C,
int LDC )
139 if ( ( TRANS_A != NoTrans ) && ( TRANS_A != Trans ) )
141 fprintf( stderr,
"Illegal value of TRANS_A, in ddss_dgemm code\n" );
145 if ( ( TRANS_B != NoTrans ) && ( TRANS_B != Trans ) )
147 fprintf( stderr,
"Illegal value of TRANS_B, in ddss_dgemm code\n" );
153 fprintf( stderr,
"Illegal value of M, in ddss_dgemm code\n" );
159 fprintf( stderr,
"Illegal value of N, in ddss_dgemm code\n" );
165 fprintf( stderr,
"Illegal value of K, in ddss_dgemm code\n" );
169 if ( TRANS_A == NoTrans )
178 if ( LDA < MAX( 1, An ) )
180 fprintf( stderr,
"Illegal value of LDA, in ddss_dgemm code\n" );
184 if ( TRANS_B == NoTrans )
193 if ( LDB < MAX( 1, Bn ) )
195 fprintf( stderr,
"Illegal value of LDB, in ddss_dgemm code\n" );
199 if ( LDC < MAX( 1, N ) )
201 fprintf( stderr,
"Illegal value of LDC, in ddss_dgemm code\n" );
206 if ( M == 0 || N == 0 || ( ( ALPHA == 0.0 || K == 0 ) && BETA == 1.0 ) )
211 return kdgemm( TRANS_A, TRANS_B, M, N, K,
212 (
const double) ALPHA, A, LDA,
214 (
const double) BETA, C, LDC );
enum LASS_RETURN kdgemm(enum DDSS_TRANS TRANS_A, enum DDSS_TRANS TRANS_B, int M, int N, int K, const double ALPHA, double *A, int LDA, double *B, int LDB, const double BETA, double *C, int LDC)
int ddss_dgemm(enum DDSS_TRANS TRANS_A, enum DDSS_TRANS TRANS_B, int M, int N, int K, double ALPHA, double *A, int LDA, double *B, int LDB, double BETA, double *C, int LDC)