40{
43
44 LAPACK_dbdsqr( &uplo, &
n, &ncvt, &nru, &ncc, d, e, vt, &ldvt, u, &ldu,
45 c, &ldc, work, &info );
46 if( info < 0 ) {
47 info = info - 1;
48 }
53 double* vt_t = NULL;
54 double* u_t = NULL;
55 double* c_t = NULL;
56
57 if( ldc < ncc ) {
58 info = -14;
60 return info;
61 }
63 info = -12;
65 return info;
66 }
67 if( ldvt < ncvt ) {
68 info = -10;
70 return info;
71 }
72
73 if( ncvt != 0 ) {
74 vt_t = (double*)
76 if( vt_t == NULL ) {
78 goto exit_level_0;
79 }
80 }
81 if( nru != 0 ) {
83 if( u_t == NULL ) {
85 goto exit_level_1;
86 }
87 }
88 if( ncc != 0 ) {
89 c_t = (double*)
91 if( c_t == NULL ) {
93 goto exit_level_2;
94 }
95 }
96
97 if( ncvt != 0 ) {
99 }
100 if( nru != 0 ) {
102 }
103 if( ncc != 0 ) {
105 }
106
107 LAPACK_dbdsqr( &uplo, &
n, &ncvt, &nru, &ncc, d, e, vt_t, &ldvt_t, u_t,
108 &ldu_t, c_t, &ldc_t, work, &info );
109 if( info < 0 ) {
110 info = info - 1;
111 }
112
113 if( ncvt != 0 ) {
115 ldvt );
116 }
117 if( nru != 0 ) {
119 }
120 if( ncc != 0 ) {
122 }
123
124 if( ncc != 0 ) {
126 }
127exit_level_2:
128 if( nru != 0 ) {
130 }
131exit_level_1:
132 if( ncvt != 0 ) {
134 }
135exit_level_0:
138 }
139 } else {
140 info = -1;
142 }
143 return info;
144}
#define LAPACK_dbdsqr(...)
#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)