42{
45
46 LAPACK_dporfs( &uplo, &n, &nrhs, a, &lda, af, &ldaf, b, &ldb, x, &ldx,
47 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 = -6;
64 return info;
65 }
66 if( ldaf < n ) {
67 info = -8;
69 return info;
70 }
71 if( ldb < nrhs ) {
72 info = -10;
74 return info;
75 }
76 if( ldx < nrhs ) {
77 info = -12;
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
107
108 LAPACK_dporfs( &uplo, &n, &nrhs, a_t, &lda_t, af_t, &ldaf_t, b_t,
109 &ldb_t, x_t, &ldx_t, ferr, berr, work, iwork, &info );
110 if( info < 0 ) {
111 info = info - 1;
112 }
113
115
117exit_level_3:
119exit_level_2:
121exit_level_1:
123exit_level_0:
126 }
127 } else {
128 info = -1;
130 }
131 return info;
132}
#define LAPACK_dporfs(...)
#define LAPACKE_malloc(size)
#define LAPACK_TRANSPOSE_MEMORY_ERROR
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)