From 70f2328a0222f55fb6bf4de61d8ed97f1bbbaa34 Mon Sep 17 00:00:00 2001 From: Martin Kroeker Date: Sun, 9 Jul 2023 18:02:09 +0200 Subject: [PATCH] Fix prototypes for ?GEDMD/?GEDMDQ and their LAPACKE interfaces --- lapack-netlib/LAPACKE/include/lapack.h | 176 +++++++++++++++++------- lapack-netlib/LAPACKE/include/lapacke.h | 102 +++++++------- 2 files changed, 179 insertions(+), 99 deletions(-) diff --git a/lapack-netlib/LAPACKE/include/lapack.h b/lapack-netlib/LAPACKE/include/lapack.h index f510c8c80..28f8ad655 100644 --- a/lapack-netlib/LAPACKE/include/lapack.h +++ b/lapack-netlib/LAPACKE/include/lapack.h @@ -3323,68 +3323,107 @@ void LAPACK_zgesdd_base( #define LAPACK_zgesdd(...) LAPACK_zgesdd_base(__VA_ARGS__) #endif -#define LAPACK_cgedmd LAPACK_GLOBAL(cgedmd,CGEDMD) -void LAPACK_cgedmd( - char const* jobs, char const* jobz, char const* jobf, +#define LAPACK_cgedmd_base LAPACK_GLOBAL(cgedmd,CGEDMD) +void LAPACK_cgedmd_base( + char const* jobs, char const* jobz, char const* jobr, char const* jobf, lapack_int const* whtsvd, lapack_int const* m, lapack_int const* n, lapack_complex_float* x, lapack_int const* ldx, - lapack_complex_float* y, lapack_int const* ldy, lapack_int const* k, - lapack_complex_float* reig, lapack_complex_float* imeig, - lapack_complex_float* z, lapack_int const* ldz, lapack_complex_float* res, + lapack_complex_float* y, lapack_int const* ldy, lapack_int const* nrnk, + const float* tol, lapack_int* k, lapack_complex_float* eigs, + lapack_complex_float* z, lapack_int const* ldz, float* res, lapack_complex_float* b, lapack_int const* ldb, lapack_complex_float* w, lapack_int const* ldw, lapack_complex_float* s, lapack_int const* lds, - lapack_complex_float* work, lapack_int const* lwork, + lapack_complex_float* zwork, lapack_int const* lzwork, + float* work, lapack_int const* lwork, lapack_int* iwork, lapack_int const* liwork, - lapack_int* info ); + lapack_int* info +#ifdef LAPACK_FORTRAN_STRLEN_END + , size_t, size_t, size_t, size_t +#endif +); +#ifdef LAPACK_FORTRAN_STRLEN_END + #define LAPACK_cgedmd(...) LAPACK_cgedmd_base(__VA_ARGS__, 1, 1, 1, 1) +#else + #define LAPACK_cgedmd(...) LAPACK_cgedmd_base(__VA_ARGS__) +#endif -#define LAPACK_dgedmd LAPACK_GLOBAL(dgedmd,DGEDMD) -void LAPACK_dgedmd( - char const* jobs, char const* jobz, char const* jobf, + +#define LAPACK_dgedmd_base LAPACK_GLOBAL(dgedmd,DGEDMD) +void LAPACK_dgedmd_base( + char const* jobs, char const* jobz, char const* jobr, char const* jobf, lapack_int const* whtsvd, lapack_int const* m, lapack_int const* n, double* x, lapack_int const* ldx, - double* y, lapack_int const* ldy, lapack_int const* k, - double* reig, double* imeig, + double* y, lapack_int const* ldy, lapack_int const* nrnk, + const double* tol, lapack_int* k, double* reig, double* imeig, double* z, lapack_int const* ldz, double* res, double* b, lapack_int const* ldb, double* w, lapack_int const* ldw, double* s, lapack_int const* lds, double* work, lapack_int const* lwork, lapack_int* iwork, lapack_int const* liwork, - lapack_int* info ); + lapack_int* info +#ifdef LAPACK_FORTRAN_STRLEN_END + , size_t, size_t, size_t, size_t +#endif +); +#ifdef LAPACK_FORTRAN_STRLEN_END + #define LAPACK_dgedmd(...) LAPACK_dgedmd_base(__VA_ARGS__, 1, 1, 1, 1) +#else + #define LAPACK_dgedmd(...) LAPACK_dgedmd_base(__VA_ARGS__) +#endif -#define LAPACK_sgedmd LAPACK_GLOBAL(sgedmd,SGEDMD) -void LAPACK_sgedmd( - char const* jobs, char const* jobz, char const* jobf, +#define LAPACK_sgedmd_base LAPACK_GLOBAL(sgedmd,SGEDMD) +void LAPACK_sgedmd_base( + char const* jobs, char const* jobz, char const* jobr, char const* jobf, lapack_int const* whtsvd, lapack_int const* m, lapack_int const* n, float* x, lapack_int const* ldx, - float* y, lapack_int const* ldy, lapack_int const* k, - float* reig, float* imeig, + float* y, lapack_int const* ldy, lapack_int const* nrnk, + const float* tol, lapack_int* k, float* reig, float *imeig, float* z, lapack_int const* ldz, float* res, float* b, lapack_int const* ldb, float* w, lapack_int const* ldw, float* s, lapack_int const* lds, float* work, lapack_int const* lwork, lapack_int* iwork, lapack_int const* liwork, - lapack_int* info ); + lapack_int* info +#ifdef LAPACK_FORTRAN_STRLEN_END + , size_t, size_t, size_t, size_t +#endif +); +#ifdef LAPACK_FORTRAN_STRLEN_END + #define LAPACK_sgedmd(...) LAPACK_sgedmd_base(__VA_ARGS__, 1, 1, 1, 1) +#else + #define LAPACK_sgedmd(...) LAPACK_sgedmd_base(__VA_ARGS__) +#endif -#define LAPACK_zgedmd LAPACK_GLOBAL(zgedmd,ZGEDMD) -void LAPACK_zgedmd( - char const* jobs, char const* jobz, char const* jobf, +#define LAPACK_zgedmd_base LAPACK_GLOBAL(zgedmd,ZGEDMD) +void LAPACK_zgedmd_base( + char const* jobs, char const* jobz, char const* jobr, char const* jobf, lapack_int const* whtsvd, lapack_int const* m, lapack_int const* n, lapack_complex_double* x, lapack_int const* ldx, - lapack_complex_double* y, lapack_int const* ldy, lapack_int const* k, - lapack_complex_double* reig, lapack_complex_double* imeig, - lapack_complex_double* z, lapack_int const* ldz, lapack_complex_double* res, + lapack_complex_double* y, lapack_int const* ldy, lapack_int const* nrnk, + const double* tol, lapack_int *k, lapack_complex_double* eigs, + lapack_complex_double* z, lapack_int const* ldz, double* res, lapack_complex_double* b, lapack_int const* ldb, lapack_complex_double* w, lapack_int const* ldw, lapack_complex_double* s, lapack_int const* lds, - lapack_complex_double* work, lapack_int const* lwork, + lapack_complex_double* zwork, lapack_int const* lzwork, + double* rwork, lapack_int const* lrwork, lapack_int* iwork, lapack_int const* liwork, - lapack_int* info ); + lapack_int* info +#ifdef LAPACK_FORTRAN_STRLEN_END + , size_t, size_t, size_t, size_t +#endif +); +#ifdef LAPACK_FORTRAN_STRLEN_END + #define LAPACK_zgedmd(...) LAPACK_zgedmd_base(__VA_ARGS__, 1, 1, 1, 1) +#else + #define LAPACK_zgedmd(...) LAPACK_zgedmd_base(__VA_ARGS__) +#endif -#define LAPACK_cgedmdq LAPACK_GLOBAL(cgedmdq,CGEDMDQ) -void LAPACK_cgedmdq( +#define LAPACK_cgedmdq_base LAPACK_GLOBAL(cgedmdq,CGEDMDQ) +void LAPACK_cgedmdq_base( char const* jobs, char const* jobz, char const* jobr, char const* jobq, char const* jobt, char const* jobf, lapack_int const* whtsvd, lapack_int const* m, lapack_int const* n, @@ -3392,35 +3431,54 @@ void LAPACK_cgedmdq( lapack_complex_float* x, lapack_int const* ldx, lapack_complex_float* y, lapack_int const* ldy, lapack_int const* nrnk, float const* tol, lapack_int const* k, - lapack_complex_float* reig, lapack_complex_float* imeig, - lapack_complex_float* z, lapack_int const* ldz, lapack_complex_float* res, + lapack_complex_float* eigs, + lapack_complex_float* z, lapack_int const* ldz, float* res, lapack_complex_float* b, lapack_int const* ldb, lapack_complex_float* v, lapack_int const* ldv, lapack_complex_float* s, lapack_int const* lds, - lapack_complex_float* work, lapack_int const* lwork, + lapack_complex_float* zwork, lapack_int const* lzwork, + float* work, lapack_int const* lwork, lapack_int* iwork, lapack_int const* liwork, - lapack_int* info ); + lapack_int* info +#ifdef LAPACK_FORTRAN_STRLEN_END + , size_t, size_t, size_t, size_t, size_t, size_t +#endif +); +#ifdef LAPACK_FORTRAN_STRLEN_END + #define LAPACK_cgedmdq(...) LAPACK_cgedmdq_base(__VA_ARGS__, 1, 1, 1, 1, 1, 1) +#else + #define LAPACK_cgedmdq(...) LAPACK_cgedmdq_base(__VA_ARGS__) +#endif -#define LAPACK_dgedmdq LAPACK_GLOBAL(dgedmdq,DGEDMDQ) -void LAPACK_dgedmdq( +#define LAPACK_dgedmdq_base LAPACK_GLOBAL(dgedmdq,DGEDMDQ) +void LAPACK_dgedmdq_base( char const* jobs, char const* jobz, char const* jobr, char const* jobq, char const* jobt, char const* jobf, lapack_int const* whtsvd, lapack_int const* m, lapack_int const* n, double* f, lapack_int const* ldf, double* x, lapack_int const* ldx, double* y, lapack_int const* ldy, lapack_int const* nrnk, - double const* tol, lapack_int const* k, - double* reig, double* imeig, + double const* tol, lapack_int* k, + double* reig, double *imeig, double* z, lapack_int const* ldz, double* res, double* b, lapack_int const* ldb, double* v, lapack_int const* ldv, double* s, lapack_int const* lds, double* work, lapack_int const* lwork, lapack_int* iwork, lapack_int const* liwork, - lapack_int* info ); + lapack_int* info +#ifdef LAPACK_FORTRAN_STRLEN_END + , size_t, size_t, size_t, size_t, size_t, size_t +#endif +); +#ifdef LAPACK_FORTRAN_STRLEN_END + #define LAPACK_dgedmdq(...) LAPACK_dgedmdq_base(__VA_ARGS__, 1, 1, 1, 1, 1, 1) +#else + #define LAPACK_dgedmdq(...) LAPACK_dgedmdq_base(__VA_ARGS__) +#endif -#define LAPACK_sgedmdq LAPACK_GLOBAL(sgedmdq,SGEDMDQ) -void LAPACK_sgedmdq( +#define LAPACK_sgedmdq_base LAPACK_GLOBAL(sgedmdq,SGEDMDQ) +void LAPACK_sgedmdq_base( char const* jobs, char const* jobz, char const* jobr, char const* jobq, char const* jobt, char const* jobf, lapack_int const* whtsvd, lapack_int const* m, lapack_int const* n, @@ -3435,10 +3493,19 @@ void LAPACK_sgedmdq( float* s, lapack_int const* lds, float* work, lapack_int const* lwork, lapack_int* iwork, lapack_int const* liwork, - lapack_int* info ); + lapack_int* info +#ifdef LAPACK_FORTRAN_STRLEN_END + , size_t, size_t, size_t, size_t, size_t, size_t +#endif +); +#ifdef LAPACK_FORTRAN_STRLEN_END + #define LAPACK_sgedmdq(...) LAPACK_sgedmdq_base(__VA_ARGS__, 1, 1, 1, 1, 1, 1) +#else + #define LAPACK_sgedmdq(...) LAPACK_sgedmdq_base(__VA_ARGS__) +#endif -#define LAPACK_zgedmdq LAPACK_GLOBAL(zgedmdq,ZGEDMDQ) -void LAPACK_zgedmdq( +#define LAPACK_zgedmdq_base LAPACK_GLOBAL(zgedmdq,ZGEDMDQ) +void LAPACK_zgedmdq_base( char const* jobs, char const* jobz, char const* jobr, char const* jobq, char const* jobt, char const* jobf, lapack_int const* whtsvd, lapack_int const* m, lapack_int const* n, @@ -3446,14 +3513,25 @@ void LAPACK_zgedmdq( lapack_complex_double* x, lapack_int const* ldx, lapack_complex_double* y, lapack_int const* ldy, lapack_int const* nrnk, double const* tol, lapack_int const* k, - lapack_complex_double* reig, lapack_complex_double* imeig, - lapack_complex_double* z, lapack_int const* ldz, lapack_complex_double* res, + lapack_complex_double* eigs, + lapack_complex_double* z, lapack_int const* ldz, double* res, lapack_complex_double* b, lapack_int const* ldb, lapack_complex_double* v, lapack_int const* ldv, lapack_complex_double* s, lapack_int const* lds, - lapack_complex_double* work, lapack_int const* lwork, + lapack_complex_double* zwork, lapack_int const* lzwork, + double* work, lapack_int const* lwork, lapack_int* iwork, lapack_int const* liwork, - lapack_int* info ); + lapack_int* info + +#ifdef LAPACK_FORTRAN_STRLEN_END + , size_t, size_t, size_t, size_t, size_t, size_t +#endif +); +#ifdef LAPACK_FORTRAN_STRLEN_END + #define LAPACK_zgedmdq(...) LAPACK_zgedmdq_base(__VA_ARGS__, 1, 1, 1, 1, 1, 1) +#else + #define LAPACK_zgedmdq(...) LAPACK_zgedmdq_base(__VA_ARGS__) +#endif #define LAPACK_cgesv LAPACK_GLOBAL(cgesv,CGESV) lapack_int LAPACK_cgesv( @@ -21649,7 +21727,7 @@ void LAPACK_ztrevc_base( #endif ); #ifdef LAPACK_FORTRAN_STRLEN_END - #define LAPACK_ztrevc(...) LAPACK_ztrevc_base(__VA_ARGS__, 1, 1) + #define LAPACK_ztrevc(...) LAPACK_ztrevc_base(__VA_ARGS__, (size_t)1, 1) #else #define LAPACK_ztrevc(...) LAPACK_ztrevc_base(__VA_ARGS__) #endif diff --git a/lapack-netlib/LAPACKE/include/lapacke.h b/lapack-netlib/LAPACKE/include/lapacke.h index 9a9ab4753..bc2123c89 100644 --- a/lapack-netlib/LAPACKE/include/lapacke.h +++ b/lapack-netlib/LAPACKE/include/lapacke.h @@ -5713,55 +5713,59 @@ lapack_int LAPACKE_zgesdd_work( int matrix_layout, char jobz, lapack_int m, double* rwork, lapack_int* iwork ); lapack_int LAPACKE_sgedmd_work( int matrix_layout, char jobs, char jobz, - char jobf, lapack_int whtsvd, lapack_int m, - lapack_int n, float* x, lapack_int ldx, - float* y, lapack_int ldy, lapack_int k, - float* reig, float* imeig, float* z, - lapack_int ldz, float* res, float* b, - lapack_int ldb, float* w, lapack_int ldw, - float* s, lapack_int lds, float* work, - lapack_int lwork, lapack_int* iwork, - lapack_int liwork ); + char jobr, char jobf, lapack_int whtsvd, + lapack_int m, lapack_int n, float* x, + lapack_int ldx, float* y, lapack_int ldy, + lapack_int nrnk, float* tol, lapack_int k, + float* reig, float* imeig, + float* z, lapack_int ldz, float* res, + float* b, lapack_int ldb, float* w, + lapack_int ldw, float* s, lapack_int lds, + float* work, lapack_int lwork, + lapack_int* iwork, lapack_int liwork ); lapack_int LAPACKE_dgedmd_work( int matrix_layout, char jobs, char jobz, - char jobf, lapack_int whtsvd, lapack_int m, - lapack_int n, double* x, lapack_int ldx, - double* y, lapack_int ldy, lapack_int k, - double* reig, double* imeig, double* z, - lapack_int ldz, double* res, double* b, - lapack_int ldb, double* w, lapack_int ldw, - double* s, lapack_int lds, double* work, - lapack_int lwork, lapack_int* iwork, - lapack_int liwork ); + char jobr, char jobf, lapack_int whtsvd, + lapack_int m, lapack_int n, double* x, + lapack_int ldx, double* y, lapack_int ldy, + lapack_int nrnk, double* tol, lapack_int k, + double* reig, double *imeig, + double* z, lapack_int ldz, double* res, + double* b, lapack_int ldb, double* w, + lapack_int ldw, double* s, lapack_int lds, + double* work, lapack_int lwork, + lapack_int* iwork, lapack_int liwork ); lapack_int LAPACKE_cgedmd_work( int matrix_layout, char jobs, char jobz, - char jobf, lapack_int whtsvd, lapack_int m, - lapack_int n, lapack_complex_float* x, - lapack_int ldx, lapack_complex_float* y, - lapack_int ldy, lapack_int k, - lapack_complex_float* reig, - lapack_complex_float* imeig, + char jobr, char jobf, lapack_int whtsvd, + lapack_int m, lapack_int n, + lapack_complex_float* x, lapack_int ldx, + lapack_complex_float* y, lapack_int ldy, + lapack_int nrnk, float* tol, lapack_int k, + lapack_complex_float* eigs, lapack_complex_float* z, lapack_int ldz, - lapack_complex_float* res, + float* res, lapack_complex_float* b, lapack_int ldb, lapack_complex_float* w, lapack_int ldw, lapack_complex_float* s, lapack_int lds, - lapack_complex_float* work, lapack_int lwork, + lapack_complex_float* zwork, lapack_int lzwork, + float* work, lapack_int lwork, lapack_int* iwork, lapack_int liwork ); lapack_int LAPACKE_zgedmd_work( int matrix_layout, char jobs, char jobz, - char jobf, lapack_int whtsvd, lapack_int m, - lapack_int n, lapack_complex_double* x, - lapack_int ldx, lapack_complex_double* y, - lapack_int ldy, lapack_int k, - lapack_complex_double* reig, - lapack_complex_double* imeig, + char jobr, char jobf, lapack_int whtsvd, + lapack_int m, lapack_int n, + lapack_complex_double* x, lapack_int ldx, + lapack_complex_double* y, lapack_int ldy, + lapack_int nrnk, double* tol, lapack_int k, + lapack_complex_double* eigs, lapack_complex_double* z, lapack_int ldz, - lapack_complex_double* res, + double* res, lapack_complex_double* b, lapack_int ldb, lapack_complex_double* w, lapack_int ldw, lapack_complex_double* s, lapack_int lds, - lapack_complex_double* work, lapack_int lwork, + lapack_complex_double* zwork, lapack_int lzwork, + double* work, lapack_int lwork, lapack_int* iwork, lapack_int liwork ); lapack_int LAPACKE_sgedmdq_work( int matrix_layout, char jobs, char jobz, @@ -5769,8 +5773,8 @@ lapack_int LAPACKE_sgedmdq_work( int matrix_layout, char jobs, char jobz, lapack_int whtsvd, lapack_int m, lapack_int n, float* f, lapack_int ldf, float* x, lapack_int ldx, float* y, lapack_int ldy, - lapack_int nrnk, float tol, lapack_int k, - float* reig, float* imeig, float* z, + lapack_int nrnk, float* tol, lapack_int k, + float* reig, float *imeig, float* z, lapack_int ldz, float* res, float* b, lapack_int ldb, float* v, lapack_int ldv, float* s, lapack_int lds, float* work, @@ -5782,8 +5786,8 @@ lapack_int LAPACKE_dgedmdq_work( int matrix_layout, char jobs, char jobz, lapack_int whtsvd, lapack_int m, lapack_int n, double* f, lapack_int ldf, double* x, lapack_int ldx, double* y, lapack_int ldy, - lapack_int nrnk, double tol, lapack_int k, - double* reig, double* imeig, double* z, + lapack_int nrnk, double* tol, lapack_int k, + double* reig, double* imeig, double* z, lapack_int ldz, double* res, double* b, lapack_int ldb, double* v, lapack_int ldv, double* s, lapack_int lds, double* work, @@ -5796,17 +5800,16 @@ lapack_int LAPACKE_cgedmdq_work( int matrix_layout, char jobs, char jobz, lapack_complex_float* f, lapack_int ldf, lapack_complex_float* x, lapack_int ldx, lapack_complex_float* y, lapack_int ldy, - lapack_int nrnk, float tol, lapack_int k, - lapack_complex_float* reig, - lapack_complex_float* imeig, + lapack_int nrnk, float* tol, lapack_int k, + lapack_complex_float* eigs, lapack_complex_float* z, lapack_int ldz, - lapack_complex_float* res, + float* res, lapack_complex_float* b, lapack_int ldb, lapack_complex_float* v, lapack_int ldv, lapack_complex_float* s, lapack_int lds, + lapack_complex_float* zwork, lapack_int lzwork, lapack_complex_float* work, lapack_int lwork, - lapack_int* iwork, - lapack_int liwork ); + lapack_int* iwork, lapack_int liwork); lapack_int LAPACKE_zgedmdq_work( int matrix_layout, char jobs, char jobz, char jobr, char jobq, char jobt, char jobf, @@ -5814,17 +5817,16 @@ lapack_int LAPACKE_zgedmdq_work( int matrix_layout, char jobs, char jobz, lapack_complex_double* f, lapack_int ldf, lapack_complex_double* x, lapack_int ldx, lapack_complex_double* y, lapack_int ldy, - lapack_int nrnk, double tol, lapack_int k, - lapack_complex_double* reig, - lapack_complex_double* imeig, + lapack_int nrnk, double* tol, lapack_int k, + lapack_complex_double* eigs, lapack_complex_double* z, lapack_int ldz, - lapack_complex_double* res, + double* res, lapack_complex_double* b, lapack_int ldb, lapack_complex_double* v, lapack_int ldv, lapack_complex_double* s, lapack_int lds, + lapack_complex_double* zwork, lapack_int lzwork, lapack_complex_double* work, lapack_int lwork, - lapack_int* iwork, - lapack_int liwork ); + lapack_int* iwork, lapack_int liwork); lapack_int LAPACKE_sgesv_work( int matrix_layout, lapack_int n, lapack_int nrhs, float* a, lapack_int lda, lapack_int* ipiv,