42{
45
46 LAPACK_dposvx( &fact, &uplo, &n, &nrhs, a, &lda, af, &ldaf, equed, s, b,
47 &ldb, x, &ldx, rcond, ferr, berr, work, iwork, &info );
48 if( info < 0 ) {
49 info = info - 1;
50 }
56 double* a_t = NULL;
57 double* af_t = NULL;
58 double* b_t = NULL;
59 double* x_t = NULL;
60
61 if( lda < n ) {
62 info = -7;
64 return info;
65 }
66 if( ldaf < n ) {
67 info = -9;
69 return info;
70 }
71 if( ldb < nrhs ) {
72 info = -13;
74 return info;
75 }
76 if( ldx < nrhs ) {
77 info = -15;
79 return info;
80 }
81
83 if( a_t == NULL ) {
85 goto exit_level_0;
86 }
88 if( af_t == NULL ) {
90 goto exit_level_1;
91 }
93 if( b_t == NULL ) {
95 goto exit_level_2;
96 }
98 if( x_t == NULL ) {
100 goto exit_level_3;
101 }
102
106 }
108
109 LAPACK_dposvx( &fact, &uplo, &n, &nrhs, a_t, &lda_t, af_t, &ldaf_t,
110 equed, s, b_t, &ldb_t, x_t, &ldx_t, rcond, ferr, berr,
111 work, iwork, &info );
112 if( info < 0 ) {
113 info = info - 1;
114 }
115
118 }
121 ldaf );
122 }
125
127exit_level_3:
129exit_level_2:
131exit_level_1:
133exit_level_0:
136 }
137 } else {
138 info = -1;
140 }
141 return info;
142}
#define LAPACK_dposvx(...)
#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)
void LAPACKE_dpo_trans(int matrix_layout, char uplo, lapack_int n, const double *in, lapack_int ldin, double *out, lapack_int ldout)