38{
41
42 LAPACK_sgesv( &n, &nrhs, a, &lda, ipiv, b, &ldb, &info );
43 if( info < 0 ) {
44 info = info - 1;
45 }
49 float* a_t = NULL;
50 float* b_t = NULL;
51
52 if( lda < n ) {
53 info = -5;
55 return info;
56 }
57 if( ldb < nrhs ) {
58 info = -8;
60 return info;
61 }
62
64 if( a_t == NULL ) {
66 goto exit_level_0;
67 }
69 if( b_t == NULL ) {
71 goto exit_level_1;
72 }
73
76
77 LAPACK_sgesv( &n, &nrhs, a_t, &lda_t, ipiv, b_t, &ldb_t, &info );
78 if( info < 0 ) {
79 info = info - 1;
80 }
81
84
86exit_level_1:
88exit_level_0:
91 }
92 } else {
93 info = -1;
95 }
96 return info;
97}
#define LAPACKE_malloc(size)
#define LAPACK_TRANSPOSE_MEMORY_ERROR
void LAPACKE_xerbla(const char *name, lapack_int info)
void LAPACKE_sge_trans(int matrix_layout, lapack_int m, lapack_int n, const float *in, lapack_int ldin, float *out, lapack_int ldout)