383 {
385 float *A, *B;
390
395
398 LDA = *m+1;
399 A = ( float* )malloc( (*m)*LDA*sizeof( float ) );
400 for( i=0; i<*m; i++ )
401 for( j=0; j<*m; j++ )
402 A[i*LDA+j]=a[j*(*lda)+i];
403 }
404 else{
405 LDA = *n+1;
406 A = ( float* )malloc( (*n)*LDA*sizeof( float ) );
407 for( i=0; i<*n; i++ )
408 for( j=0; j<*n; j++ )
409 A[i*LDA+j]=a[j*(*lda)+i];
410 }
411 LDB = *n+1;
412 B = ( float* )malloc( (*m)*LDB*sizeof( float ) );
413 for( i=0; i<*m; i++ )
414 for( j=0; j<*n; j++ )
415 B[i*LDB+j]=b[j*(*ldb)+i];
417 A, LDA, B, LDB );
418 for( j=0; j<*n; j++ )
419 for( i=0; i<*m; i++ )
420 b[j*(*ldb)+i]=B[i*LDB+j];
421 free(A);
422 free(B);
423 }
426 a, *lda, b, *ldb);
427 else
429 a, *lda, b, *ldb);
430}
void cblas_strsm(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)