Skip to content

Commit 4c43d1e

Browse files
authored
Fix C prototypes and LAPACKE headers for ?GEDMD/?GEDMDQ (#4134)
* Fix prototypes for ?GEDMD/?GEDMDQ and their LAPACKE interfaces
1 parent 49077e7 commit 4c43d1e

18 files changed

+454
-313
lines changed

lapack-netlib/LAPACKE/include/lapack.h

Lines changed: 127 additions & 49 deletions
Original file line numberDiff line numberDiff line change
@@ -3323,104 +3323,162 @@ void LAPACK_zgesdd_base(
33233323
#define LAPACK_zgesdd(...) LAPACK_zgesdd_base(__VA_ARGS__)
33243324
#endif
33253325

3326-
#define LAPACK_cgedmd LAPACK_GLOBAL(cgedmd,CGEDMD)
3327-
void LAPACK_cgedmd(
3328-
char const* jobs, char const* jobz, char const* jobf,
3326+
#define LAPACK_cgedmd_base LAPACK_GLOBAL(cgedmd,CGEDMD)
3327+
void LAPACK_cgedmd_base(
3328+
char const* jobs, char const* jobz, char const* jobr, char const* jobf,
33293329
lapack_int const* whtsvd, lapack_int const* m, lapack_int const* n,
33303330
lapack_complex_float* x, lapack_int const* ldx,
3331-
lapack_complex_float* y, lapack_int const* ldy, lapack_int const* k,
3332-
lapack_complex_float* reig, lapack_complex_float* imeig,
3333-
lapack_complex_float* z, lapack_int const* ldz, lapack_complex_float* res,
3331+
lapack_complex_float* y, lapack_int const* ldy, lapack_int const* nrnk,
3332+
const float* tol, lapack_int* k, lapack_complex_float* eigs,
3333+
lapack_complex_float* z, lapack_int const* ldz, float* res,
33343334
lapack_complex_float* b, lapack_int const* ldb,
33353335
lapack_complex_float* w, lapack_int const* ldw,
33363336
lapack_complex_float* s, lapack_int const* lds,
3337-
lapack_complex_float* work, lapack_int const* lwork,
3337+
lapack_complex_float* zwork, lapack_int const* lzwork,
3338+
float* work, lapack_int const* lwork,
33383339
lapack_int* iwork, lapack_int const* liwork,
3339-
lapack_int* info );
3340+
lapack_int* info
3341+
#ifdef LAPACK_FORTRAN_STRLEN_END
3342+
, size_t, size_t, size_t, size_t
3343+
#endif
3344+
);
3345+
#ifdef LAPACK_FORTRAN_STRLEN_END
3346+
#define LAPACK_cgedmd(...) LAPACK_cgedmd_base(__VA_ARGS__, 1, 1, 1, 1)
3347+
#else
3348+
#define LAPACK_cgedmd(...) LAPACK_cgedmd_base(__VA_ARGS__)
3349+
#endif
3350+
33403351

3341-
#define LAPACK_dgedmd LAPACK_GLOBAL(dgedmd,DGEDMD)
3342-
void LAPACK_dgedmd(
3343-
char const* jobs, char const* jobz, char const* jobf,
3352+
#define LAPACK_dgedmd_base LAPACK_GLOBAL(dgedmd,DGEDMD)
3353+
void LAPACK_dgedmd_base(
3354+
char const* jobs, char const* jobz, char const* jobr, char const* jobf,
33443355
lapack_int const* whtsvd, lapack_int const* m, lapack_int const* n,
33453356
double* x, lapack_int const* ldx,
3346-
double* y, lapack_int const* ldy, lapack_int const* k,
3347-
double* reig, double* imeig,
3357+
double* y, lapack_int const* ldy, lapack_int const* nrnk,
3358+
const double* tol, lapack_int* k, double* reig, double* imeig,
33483359
double* z, lapack_int const* ldz, double* res,
33493360
double* b, lapack_int const* ldb,
33503361
double* w, lapack_int const* ldw,
33513362
double* s, lapack_int const* lds,
33523363
double* work, lapack_int const* lwork,
33533364
lapack_int* iwork, lapack_int const* liwork,
3354-
lapack_int* info );
3365+
lapack_int* info
3366+
#ifdef LAPACK_FORTRAN_STRLEN_END
3367+
, size_t, size_t, size_t, size_t
3368+
#endif
3369+
);
3370+
#ifdef LAPACK_FORTRAN_STRLEN_END
3371+
#define LAPACK_dgedmd(...) LAPACK_dgedmd_base(__VA_ARGS__, 1, 1, 1, 1)
3372+
#else
3373+
#define LAPACK_dgedmd(...) LAPACK_dgedmd_base(__VA_ARGS__)
3374+
#endif
33553375

3356-
#define LAPACK_sgedmd LAPACK_GLOBAL(sgedmd,SGEDMD)
3357-
void LAPACK_sgedmd(
3358-
char const* jobs, char const* jobz, char const* jobf,
3376+
#define LAPACK_sgedmd_base LAPACK_GLOBAL(sgedmd,SGEDMD)
3377+
void LAPACK_sgedmd_base(
3378+
char const* jobs, char const* jobz, char const* jobr, char const* jobf,
33593379
lapack_int const* whtsvd, lapack_int const* m, lapack_int const* n,
33603380
float* x, lapack_int const* ldx,
3361-
float* y, lapack_int const* ldy, lapack_int const* k,
3362-
float* reig, float* imeig,
3381+
float* y, lapack_int const* ldy, lapack_int const* nrnk,
3382+
const float* tol, lapack_int* k, float* reig, float *imeig,
33633383
float* z, lapack_int const* ldz, float* res,
33643384
float* b, lapack_int const* ldb,
33653385
float* w, lapack_int const* ldw,
33663386
float* s, lapack_int const* lds,
33673387
float* work, lapack_int const* lwork,
33683388
lapack_int* iwork, lapack_int const* liwork,
3369-
lapack_int* info );
3389+
lapack_int* info
3390+
#ifdef LAPACK_FORTRAN_STRLEN_END
3391+
, size_t, size_t, size_t, size_t
3392+
#endif
3393+
);
3394+
#ifdef LAPACK_FORTRAN_STRLEN_END
3395+
#define LAPACK_sgedmd(...) LAPACK_sgedmd_base(__VA_ARGS__, 1, 1, 1, 1)
3396+
#else
3397+
#define LAPACK_sgedmd(...) LAPACK_sgedmd_base(__VA_ARGS__)
3398+
#endif
33703399

3371-
#define LAPACK_zgedmd LAPACK_GLOBAL(zgedmd,ZGEDMD)
3372-
void LAPACK_zgedmd(
3373-
char const* jobs, char const* jobz, char const* jobf,
3400+
#define LAPACK_zgedmd_base LAPACK_GLOBAL(zgedmd,ZGEDMD)
3401+
void LAPACK_zgedmd_base(
3402+
char const* jobs, char const* jobz, char const* jobr, char const* jobf,
33743403
lapack_int const* whtsvd, lapack_int const* m, lapack_int const* n,
33753404
lapack_complex_double* x, lapack_int const* ldx,
3376-
lapack_complex_double* y, lapack_int const* ldy, lapack_int const* k,
3377-
lapack_complex_double* reig, lapack_complex_double* imeig,
3378-
lapack_complex_double* z, lapack_int const* ldz, lapack_complex_double* res,
3405+
lapack_complex_double* y, lapack_int const* ldy, lapack_int const* nrnk,
3406+
const double* tol, lapack_int *k, lapack_complex_double* eigs,
3407+
lapack_complex_double* z, lapack_int const* ldz, double* res,
33793408
lapack_complex_double* b, lapack_int const* ldb,
33803409
lapack_complex_double* w, lapack_int const* ldw,
33813410
lapack_complex_double* s, lapack_int const* lds,
3382-
lapack_complex_double* work, lapack_int const* lwork,
3411+
lapack_complex_double* zwork, lapack_int const* lzwork,
3412+
double* rwork, lapack_int const* lrwork,
33833413
lapack_int* iwork, lapack_int const* liwork,
3384-
lapack_int* info );
3414+
lapack_int* info
3415+
#ifdef LAPACK_FORTRAN_STRLEN_END
3416+
, size_t, size_t, size_t, size_t
3417+
#endif
3418+
);
3419+
#ifdef LAPACK_FORTRAN_STRLEN_END
3420+
#define LAPACK_zgedmd(...) LAPACK_zgedmd_base(__VA_ARGS__, 1, 1, 1, 1)
3421+
#else
3422+
#define LAPACK_zgedmd(...) LAPACK_zgedmd_base(__VA_ARGS__)
3423+
#endif
33853424

3386-
#define LAPACK_cgedmdq LAPACK_GLOBAL(cgedmdq,CGEDMDQ)
3387-
void LAPACK_cgedmdq(
3425+
#define LAPACK_cgedmdq_base LAPACK_GLOBAL(cgedmdq,CGEDMDQ)
3426+
void LAPACK_cgedmdq_base(
33883427
char const* jobs, char const* jobz, char const* jobr, char const* jobq,
33893428
char const* jobt, char const* jobf, lapack_int const* whtsvd,
33903429
lapack_int const* m, lapack_int const* n,
33913430
lapack_complex_float* f, lapack_int const* ldf,
33923431
lapack_complex_float* x, lapack_int const* ldx,
33933432
lapack_complex_float* y, lapack_int const* ldy, lapack_int const* nrnk,
33943433
float const* tol, lapack_int const* k,
3395-
lapack_complex_float* reig, lapack_complex_float* imeig,
3396-
lapack_complex_float* z, lapack_int const* ldz, lapack_complex_float* res,
3434+
lapack_complex_float* eigs,
3435+
lapack_complex_float* z, lapack_int const* ldz, float* res,
33973436
lapack_complex_float* b, lapack_int const* ldb,
33983437
lapack_complex_float* v, lapack_int const* ldv,
33993438
lapack_complex_float* s, lapack_int const* lds,
3400-
lapack_complex_float* work, lapack_int const* lwork,
3439+
lapack_complex_float* zwork, lapack_int const* lzwork,
3440+
float* work, lapack_int const* lwork,
34013441
lapack_int* iwork, lapack_int const* liwork,
3402-
lapack_int* info );
3442+
lapack_int* info
3443+
#ifdef LAPACK_FORTRAN_STRLEN_END
3444+
, size_t, size_t, size_t, size_t, size_t, size_t
3445+
#endif
3446+
);
3447+
#ifdef LAPACK_FORTRAN_STRLEN_END
3448+
#define LAPACK_cgedmdq(...) LAPACK_cgedmdq_base(__VA_ARGS__, 1, 1, 1, 1, 1, 1)
3449+
#else
3450+
#define LAPACK_cgedmdq(...) LAPACK_cgedmdq_base(__VA_ARGS__)
3451+
#endif
34033452

3404-
#define LAPACK_dgedmdq LAPACK_GLOBAL(dgedmdq,DGEDMDQ)
3405-
void LAPACK_dgedmdq(
3453+
#define LAPACK_dgedmdq_base LAPACK_GLOBAL(dgedmdq,DGEDMDQ)
3454+
void LAPACK_dgedmdq_base(
34063455
char const* jobs, char const* jobz, char const* jobr, char const* jobq,
34073456
char const* jobt, char const* jobf, lapack_int const* whtsvd,
34083457
lapack_int const* m, lapack_int const* n,
34093458
double* f, lapack_int const* ldf,
34103459
double* x, lapack_int const* ldx,
34113460
double* y, lapack_int const* ldy, lapack_int const* nrnk,
3412-
double const* tol, lapack_int const* k,
3413-
double* reig, double* imeig,
3461+
double const* tol, lapack_int* k,
3462+
double* reig, double *imeig,
34143463
double* z, lapack_int const* ldz, double* res,
34153464
double* b, lapack_int const* ldb,
34163465
double* v, lapack_int const* ldv,
34173466
double* s, lapack_int const* lds,
34183467
double* work, lapack_int const* lwork,
34193468
lapack_int* iwork, lapack_int const* liwork,
3420-
lapack_int* info );
3469+
lapack_int* info
3470+
#ifdef LAPACK_FORTRAN_STRLEN_END
3471+
, size_t, size_t, size_t, size_t, size_t, size_t
3472+
#endif
3473+
);
3474+
#ifdef LAPACK_FORTRAN_STRLEN_END
3475+
#define LAPACK_dgedmdq(...) LAPACK_dgedmdq_base(__VA_ARGS__, 1, 1, 1, 1, 1, 1)
3476+
#else
3477+
#define LAPACK_dgedmdq(...) LAPACK_dgedmdq_base(__VA_ARGS__)
3478+
#endif
34213479

3422-
#define LAPACK_sgedmdq LAPACK_GLOBAL(sgedmdq,SGEDMDQ)
3423-
void LAPACK_sgedmdq(
3480+
#define LAPACK_sgedmdq_base LAPACK_GLOBAL(sgedmdq,SGEDMDQ)
3481+
void LAPACK_sgedmdq_base(
34243482
char const* jobs, char const* jobz, char const* jobr, char const* jobq,
34253483
char const* jobt, char const* jobf, lapack_int const* whtsvd,
34263484
lapack_int const* m, lapack_int const* n,
@@ -3435,25 +3493,45 @@ void LAPACK_sgedmdq(
34353493
float* s, lapack_int const* lds,
34363494
float* work, lapack_int const* lwork,
34373495
lapack_int* iwork, lapack_int const* liwork,
3438-
lapack_int* info );
3496+
lapack_int* info
3497+
#ifdef LAPACK_FORTRAN_STRLEN_END
3498+
, size_t, size_t, size_t, size_t, size_t, size_t
3499+
#endif
3500+
);
3501+
#ifdef LAPACK_FORTRAN_STRLEN_END
3502+
#define LAPACK_sgedmdq(...) LAPACK_sgedmdq_base(__VA_ARGS__, 1, 1, 1, 1, 1, 1)
3503+
#else
3504+
#define LAPACK_sgedmdq(...) LAPACK_sgedmdq_base(__VA_ARGS__)
3505+
#endif
34393506

3440-
#define LAPACK_zgedmdq LAPACK_GLOBAL(zgedmdq,ZGEDMDQ)
3441-
void LAPACK_zgedmdq(
3507+
#define LAPACK_zgedmdq_base LAPACK_GLOBAL(zgedmdq,ZGEDMDQ)
3508+
void LAPACK_zgedmdq_base(
34423509
char const* jobs, char const* jobz, char const* jobr, char const* jobq,
34433510
char const* jobt, char const* jobf, lapack_int const* whtsvd,
34443511
lapack_int const* m, lapack_int const* n,
34453512
lapack_complex_double* f, lapack_int const* ldf,
34463513
lapack_complex_double* x, lapack_int const* ldx,
34473514
lapack_complex_double* y, lapack_int const* ldy, lapack_int const* nrnk,
34483515
double const* tol, lapack_int const* k,
3449-
lapack_complex_double* reig, lapack_complex_double* imeig,
3450-
lapack_complex_double* z, lapack_int const* ldz, lapack_complex_double* res,
3516+
lapack_complex_double* eigs,
3517+
lapack_complex_double* z, lapack_int const* ldz, double* res,
34513518
lapack_complex_double* b, lapack_int const* ldb,
34523519
lapack_complex_double* v, lapack_int const* ldv,
34533520
lapack_complex_double* s, lapack_int const* lds,
3454-
lapack_complex_double* work, lapack_int const* lwork,
3521+
lapack_complex_double* zwork, lapack_int const* lzwork,
3522+
double* work, lapack_int const* lwork,
34553523
lapack_int* iwork, lapack_int const* liwork,
3456-
lapack_int* info );
3524+
lapack_int* info
3525+
3526+
#ifdef LAPACK_FORTRAN_STRLEN_END
3527+
, size_t, size_t, size_t, size_t, size_t, size_t
3528+
#endif
3529+
);
3530+
#ifdef LAPACK_FORTRAN_STRLEN_END
3531+
#define LAPACK_zgedmdq(...) LAPACK_zgedmdq_base(__VA_ARGS__, 1, 1, 1, 1, 1, 1)
3532+
#else
3533+
#define LAPACK_zgedmdq(...) LAPACK_zgedmdq_base(__VA_ARGS__)
3534+
#endif
34573535

34583536
#define LAPACK_cgesv LAPACK_GLOBAL(cgesv,CGESV)
34593537
lapack_int LAPACK_cgesv(
@@ -21649,7 +21727,7 @@ void LAPACK_ztrevc_base(
2164921727
#endif
2165021728
);
2165121729
#ifdef LAPACK_FORTRAN_STRLEN_END
21652-
#define LAPACK_ztrevc(...) LAPACK_ztrevc_base(__VA_ARGS__, 1, 1)
21730+
#define LAPACK_ztrevc(...) LAPACK_ztrevc_base(__VA_ARGS__, (size_t)1, 1)
2165321731
#else
2165421732
#define LAPACK_ztrevc(...) LAPACK_ztrevc_base(__VA_ARGS__)
2165521733
#endif

0 commit comments

Comments
 (0)