|
12 | 12 |
|
13 | 13 | #include <stdlib.h>
|
14 | 14 | #include <stdarg.h>
|
| 15 | +#include <inttypes.h> |
15 | 16 |
|
16 | 17 | /* It seems all current Fortran compilers put strlen at end.
|
17 | 18 | * Some historical compilers put strlen after the str argument
|
@@ -80,11 +81,26 @@ extern "C" {
|
80 | 81 |
|
81 | 82 | /*----------------------------------------------------------------------------*/
|
82 | 83 | #ifndef lapack_int
|
83 |
| -#define lapack_int int |
| 84 | +#if defined(LAPACK_ILP64) |
| 85 | +#define lapack_int int64_t |
| 86 | +#else |
| 87 | +#define lapack_int int32_t |
| 88 | +#endif |
| 89 | +#endif |
| 90 | + |
| 91 | +/* |
| 92 | + * Integer format string |
| 93 | + */ |
| 94 | +#ifndef LAPACK_IFMT |
| 95 | +#if defined(LAPACK_ILP64) |
| 96 | +#define LAPACK_IFMT PRId64 |
| 97 | +#else |
| 98 | +#define LAPACK_IFMT PRId32 |
| 99 | +#endif |
84 | 100 | #endif
|
85 | 101 |
|
86 | 102 | #ifndef lapack_logical
|
87 |
| -#define lapack_logical lapack_int |
| 103 | +#define lapack_logical lapack_int |
88 | 104 | #endif
|
89 | 105 |
|
90 | 106 | /* f2c, hence clapack and MacOS Accelerate, returns double instead of float
|
@@ -115,7 +131,7 @@ typedef lapack_logical (*LAPACK_Z_SELECT2)
|
115 | 131 | ( const lapack_complex_double*, const lapack_complex_double* );
|
116 | 132 |
|
117 | 133 | #define LAPACK_lsame_base LAPACK_GLOBAL(lsame,LSAME)
|
118 |
| -lapack_logical LAPACK_lsame_base( const char* ca, const char* cb, |
| 134 | +lapack_logical LAPACK_lsame_base( const char* ca, const char* cb, |
119 | 135 | lapack_int lca, lapack_int lcb
|
120 | 136 | #ifdef LAPACK_FORTRAN_STRLEN_END
|
121 | 137 | , size_t, size_t
|
@@ -21986,6 +22002,84 @@ void LAPACK_ztrsyl_base(
|
21986 | 22002 | #define LAPACK_ztrsyl(...) LAPACK_ztrsyl_base(__VA_ARGS__)
|
21987 | 22003 | #endif
|
21988 | 22004 |
|
| 22005 | +#define LAPACK_ctrsyl3_base LAPACK_GLOBAL(ctrsyl3,CTRSYL3) |
| 22006 | +void LAPACK_ctrsyl3_base( |
| 22007 | + char const* trana, char const* tranb, |
| 22008 | + lapack_int const* isgn, lapack_int const* m, lapack_int const* n, |
| 22009 | + lapack_complex_float const* A, lapack_int const* lda, |
| 22010 | + lapack_complex_float const* B, lapack_int const* ldb, |
| 22011 | + lapack_complex_float* C, lapack_int const* ldc, float* scale, |
| 22012 | + float* swork, lapack_int const *ldswork, |
| 22013 | + lapack_int* info |
| 22014 | +#ifdef LAPACK_FORTRAN_STRLEN_END |
| 22015 | + , size_t, size_t |
| 22016 | +#endif |
| 22017 | +); |
| 22018 | +#ifdef LAPACK_FORTRAN_STRLEN_END |
| 22019 | + #define LAPACK_ctrsyl3(...) LAPACK_ctrsyl3_base(__VA_ARGS__, 1, 1) |
| 22020 | +#else |
| 22021 | + #define LAPACK_ctrsyl3(...) LAPACK_ctrsyl3_base(__VA_ARGS__) |
| 22022 | +#endif |
| 22023 | + |
| 22024 | +#define LAPACK_dtrsyl3_base LAPACK_GLOBAL(dtrsyl3,DTRSYL3) |
| 22025 | +void LAPACK_dtrsyl3_base( |
| 22026 | + char const* trana, char const* tranb, |
| 22027 | + lapack_int const* isgn, lapack_int const* m, lapack_int const* n, |
| 22028 | + double const* A, lapack_int const* lda, |
| 22029 | + double const* B, lapack_int const* ldb, |
| 22030 | + double* C, lapack_int const* ldc, double* scale, |
| 22031 | + lapack_int* iwork, lapack_int const* liwork, |
| 22032 | + double* swork, lapack_int const *ldswork, |
| 22033 | + lapack_int* info |
| 22034 | +#ifdef LAPACK_FORTRAN_STRLEN_END |
| 22035 | + , size_t, size_t |
| 22036 | +#endif |
| 22037 | +); |
| 22038 | +#ifdef LAPACK_FORTRAN_STRLEN_END |
| 22039 | + #define LAPACK_dtrsyl3(...) LAPACK_dtrsyl3_base(__VA_ARGS__, 1, 1) |
| 22040 | +#else |
| 22041 | + #define LAPACK_dtrsyl3(...) LAPACK_dtrsyl3_base(__VA_ARGS__) |
| 22042 | +#endif |
| 22043 | + |
| 22044 | +#define LAPACK_strsyl3_base LAPACK_GLOBAL(strsyl3,STRSYL3) |
| 22045 | +void LAPACK_strsyl3_base( |
| 22046 | + char const* trana, char const* tranb, |
| 22047 | + lapack_int const* isgn, lapack_int const* m, lapack_int const* n, |
| 22048 | + float const* A, lapack_int const* lda, |
| 22049 | + float const* B, lapack_int const* ldb, |
| 22050 | + float* C, lapack_int const* ldc, float* scale, |
| 22051 | + lapack_int* iwork, lapack_int const* liwork, |
| 22052 | + float* swork, lapack_int const *ldswork, |
| 22053 | + lapack_int* info |
| 22054 | +#ifdef LAPACK_FORTRAN_STRLEN_END |
| 22055 | + , size_t, size_t |
| 22056 | +#endif |
| 22057 | +); |
| 22058 | +#ifdef LAPACK_FORTRAN_STRLEN_END |
| 22059 | + #define LAPACK_strsyl3(...) LAPACK_strsyl3_base(__VA_ARGS__, 1, 1) |
| 22060 | +#else |
| 22061 | + #define LAPACK_strsyl3(...) LAPACK_strsyl3_base(__VA_ARGS__) |
| 22062 | +#endif |
| 22063 | + |
| 22064 | +#define LAPACK_ztrsyl3_base LAPACK_GLOBAL(ztrsyl3,ZTRSYL3) |
| 22065 | +void LAPACK_ztrsyl3_base( |
| 22066 | + char const* trana, char const* tranb, |
| 22067 | + lapack_int const* isgn, lapack_int const* m, lapack_int const* n, |
| 22068 | + lapack_complex_double const* A, lapack_int const* lda, |
| 22069 | + lapack_complex_double const* B, lapack_int const* ldb, |
| 22070 | + lapack_complex_double* C, lapack_int const* ldc, double* scale, |
| 22071 | + double* swork, lapack_int const *ldswork, |
| 22072 | + lapack_int* info |
| 22073 | +#ifdef LAPACK_FORTRAN_STRLEN_END |
| 22074 | + , size_t, size_t |
| 22075 | +#endif |
| 22076 | +); |
| 22077 | +#ifdef LAPACK_FORTRAN_STRLEN_END |
| 22078 | + #define LAPACK_ztrsyl3(...) LAPACK_ztrsyl3_base(__VA_ARGS__, 1, 1) |
| 22079 | +#else |
| 22080 | + #define LAPACK_ztrsyl3(...) LAPACK_ztrsyl3_base(__VA_ARGS__) |
| 22081 | +#endif |
| 22082 | + |
21989 | 22083 | #define LAPACK_ctrtri_base LAPACK_GLOBAL(ctrtri,CTRTRI)
|
21990 | 22084 | void LAPACK_ctrtri_base(
|
21991 | 22085 | char const* uplo, char const* diag,
|
|
0 commit comments