42{
45
46 LAPACK_dgesvx( &fact, &trans, &n, &nrhs, a, &lda, af, &ldaf, ipiv,
47 equed, r, c, b, &ldb, x, &ldx, rcond, ferr, berr, work,
48 iwork, &info );
49 if( info < 0 ) {
50 info = info - 1;
51 }
57 double* a_t = NULL;
58 double* af_t = NULL;
59 double* b_t = NULL;
60 double* x_t = NULL;
61
62 if( lda < n ) {
63 info = -7;
65 return info;
66 }
67 if( ldaf < n ) {
68 info = -9;
70 return info;
71 }
72 if( ldb < nrhs ) {
73 info = -15;
75 return info;
76 }
77 if( ldx < nrhs ) {
78 info = -17;
80 return info;
81 }
82
84 if( a_t == NULL ) {
86 goto exit_level_0;
87 }
89 if( af_t == NULL ) {
91 goto exit_level_1;
92 }
94 if( b_t == NULL ) {
96 goto exit_level_2;
97 }
99 if( x_t == NULL ) {
101 goto exit_level_3;
102 }
103
107 }
109
110 LAPACK_dgesvx( &fact, &trans, &n, &nrhs, a_t, &lda_t, af_t, &ldaf_t,
111 ipiv, equed, r, c, b_t, &ldb_t, x_t, &ldx_t, rcond, ferr,
112 berr, work, iwork, &info );
113 if( info < 0 ) {
114 info = info - 1;
115 }
116
120 }
123 }
127 }
129
131exit_level_3:
133exit_level_2:
135exit_level_1:
137exit_level_0:
140 }
141 } else {
142 info = -1;
144 }
145 return info;
146}
#define LAPACK_dgesvx(...)
#define LAPACKE_malloc(size)
#define LAPACK_TRANSPOSE_MEMORY_ERROR
lapack_logical LAPACKE_lsame(char ca, char cb)
void LAPACKE_xerbla(const char *name, lapack_int info)
void LAPACKE_dge_trans(int matrix_layout, lapack_int m, lapack_int n, const double *in, lapack_int ldin, double *out, lapack_int ldout)