43{
46
47 LAPACK_ssysvx( &fact, &uplo, &
n, &nrhs, a, &lda, af, &ldaf, ipiv, b,
48 &ldb,
x, &ldx, rcond, ferr, berr, work, &lwork, iwork,
49 &info );
50 if( info < 0 ) {
51 info = info - 1;
52 }
58 float* a_t = NULL;
59 float* af_t = NULL;
60 float* b_t = NULL;
61 float* x_t = NULL;
62
64 info = -7;
66 return info;
67 }
69 info = -9;
71 return info;
72 }
73 if( ldb < nrhs ) {
74 info = -12;
76 return info;
77 }
78 if( ldx < nrhs ) {
79 info = -14;
81 return info;
82 }
83
84 if( lwork == -1 ) {
86 ipiv, b, &ldb_t,
x, &ldx_t, rcond, ferr, berr, work,
87 &lwork, iwork, &info );
88 return (info < 0) ? (info - 1) : info;
89 }
90
92 if( a_t == NULL ) {
94 goto exit_level_0;
95 }
97 if( af_t == NULL ) {
99 goto exit_level_1;
100 }
102 if( b_t == NULL ) {
104 goto exit_level_2;
105 }
107 if( x_t == NULL ) {
109 goto exit_level_3;
110 }
111
115 }
117
118 LAPACK_ssysvx( &fact, &uplo, &
n, &nrhs, a_t, &lda_t, af_t, &ldaf_t,
119 ipiv, b_t, &ldb_t, x_t, &ldx_t, rcond, ferr, berr, work,
120 &lwork, iwork, &info );
121 if( info < 0 ) {
122 info = info - 1;
123 }
124
127 ldaf );
128 }
130
132exit_level_3:
134exit_level_2:
136exit_level_1:
138exit_level_0:
141 }
142 } else {
143 info = -1;
145 }
146 return info;
147}
#define LAPACK_ssysvx(...)
#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_ssy_trans(int matrix_layout, char uplo, lapack_int n, const float *in, lapack_int ldin, float *out, lapack_int ldout)
void LAPACKE_sge_trans(int matrix_layout, lapack_int m, lapack_int n, const float *in, lapack_int ldin, float *out, lapack_int ldout)