Go to the source code of this file.
|
| lapack_int | LAPACKE_sptrfs_work (int matrix_layout, lapack_int n, lapack_int nrhs, const float *d, const float *e, const float *df, const float *ef, const float *b, lapack_int ldb, float *x, lapack_int ldx, float *ferr, float *berr, float *work) |
◆ LAPACKE_sptrfs_work()
| lapack_int LAPACKE_sptrfs_work |
( |
int | matrix_layout, |
|
|
lapack_int | n, |
|
|
lapack_int | nrhs, |
|
|
const float * | d, |
|
|
const float * | e, |
|
|
const float * | df, |
|
|
const float * | ef, |
|
|
const float * | b, |
|
|
lapack_int | ldb, |
|
|
float * | x, |
|
|
lapack_int | ldx, |
|
|
float * | ferr, |
|
|
float * | berr, |
|
|
float * | work ) |
Definition at line 35 of file lapacke_sptrfs_work.c.
40{
43
44 LAPACK_sptrfs( &
n, &nrhs, d, e, df, ef, b, &ldb,
x, &ldx, ferr, berr,
45 work, &info );
46 if( info < 0 ) {
47 info = info - 1;
48 }
52 float* b_t = NULL;
53 float* x_t = NULL;
54
55 if( ldb < nrhs ) {
56 info = -9;
58 return info;
59 }
60 if( ldx < nrhs ) {
61 info = -11;
63 return info;
64 }
65
67 if( b_t == NULL ) {
69 goto exit_level_0;
70 }
72 if( x_t == NULL ) {
74 goto exit_level_1;
75 }
76
79
80 LAPACK_sptrfs( &
n, &nrhs, d, e, df, ef, b_t, &ldb_t, x_t, &ldx_t, ferr,
81 berr, work, &info );
82 if( info < 0 ) {
83 info = info - 1;
84 }
85
87
89exit_level_1:
91exit_level_0:
94 }
95 } else {
96 info = -1;
98 }
99 return info;
100}
#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)