42{
44 float* work = NULL;
46 float work_query;
49 return -1;
50 }
51#ifndef LAPACK_DISABLE_NAN_CHECK
53
55 return -10;
56 }
58 return -12;
59 }
60 }
61#endif
62
64 k, l, a, lda, b, ldb, alpha, beta, u, ldu,
65 v, ldv, q, ldq, &work_query, lwork, iwork );
66 if( info != 0 )
67 goto exit_level_0;
68 lwork = work_query;
69
71 if( work == NULL ) {
73 goto exit_level_0;
74 }
75
77 a, lda, b, ldb, alpha, beta, u, ldu, v, ldv, q,
78 ldq, work, lwork, iwork );
79
81exit_level_0:
84 }
85 return info;
86}
#define LAPACK_WORK_MEMORY_ERROR
lapack_int LAPACKE_sggsvd3_work(int matrix_layout, char jobu, char jobv, char jobq, lapack_int m, lapack_int n, lapack_int p, lapack_int *k, lapack_int *l, float *a, lapack_int lda, float *b, lapack_int ldb, float *alpha, float *beta, float *u, lapack_int ldu, float *v, lapack_int ldv, float *q, lapack_int ldq, float *work, lapack_int lwork, lapack_int *iwork)
int LAPACKE_get_nancheck(void)
#define LAPACKE_malloc(size)
void LAPACKE_xerbla(const char *name, lapack_int info)
lapack_logical LAPACKE_sge_nancheck(int matrix_layout, lapack_int m, lapack_int n, const float *a, lapack_int lda)