328 {
330 float *A, *B;
335
340
343 LDA = *m+1;
344 A = ( float* )malloc( (*m)*LDA*sizeof( float ) );
345 for( i=0; i<*m; i++ )
346 for( j=0; j<*m; j++ )
347 A[i*LDA+j]=a[j*(*lda)+i];
348 }
349 else{
350 LDA = *n+1;
351 A = ( float* )malloc( (*n)*LDA*sizeof( float ) );
352 for( i=0; i<*n; i++ )
353 for( j=0; j<*n; j++ )
354 A[i*LDA+j]=a[j*(*lda)+i];
355 }
356 LDB = *n+1;
357 B = ( float* )malloc( (*m)*LDB*sizeof( float ) );
358 for( i=0; i<*m; i++ )
359 for( j=0; j<*n; j++ )
360 B[i*LDB+j]=b[j*(*ldb)+i];
362 A, LDA, B, LDB );
363 for( j=0; j<*n; j++ )
364 for( i=0; i<*m; i++ )
365 b[j*(*ldb)+i]=B[i*LDB+j];
366 free(A);
367 free(B);
368 }
371 a, *lda, b, *ldb);
372 else
374 a, *lda, b, *ldb);
375}
void cblas_strmm(CBLAS_LAYOUT layout, CBLAS_SIDE Side, CBLAS_UPLO Uplo, CBLAS_TRANSPOSE TransA, CBLAS_DIAG Diag, const CBLAS_INT M, const CBLAS_INT N, const float alpha, const float *A, const CBLAS_INT lda, float *B, const CBLAS_INT ldb)
void get_diag_type(char *type, CBLAS_DIAG *diag)
void get_side_type(char *type, CBLAS_SIDE *side)
void get_uplo_type(char *type, CBLAS_UPLO *uplo)
void get_transpose_type(char *type, CBLAS_TRANSPOSE *trans)