diff options
Diffstat (limited to 'numpy/linalg/umath_linalg.c.src')
-rw-r--r-- | numpy/linalg/umath_linalg.c.src | 206 |
1 files changed, 103 insertions, 103 deletions
diff --git a/numpy/linalg/umath_linalg.c.src b/numpy/linalg/umath_linalg.c.src index e5b66e276..2073ce3d5 100644 --- a/numpy/linalg/umath_linalg.c.src +++ b/numpy/linalg/umath_linalg.c.src @@ -1258,6 +1258,18 @@ typedef struct eigh_params_struct { #lapack_func=ssyevd,dsyevd# */ +static inline fortran_int +call_@lapack_func@(EIGH_PARAMS_t *params) +{ + fortran_int rv; + LAPACK(@lapack_func@)(¶ms->JOBZ, ¶ms->UPLO, ¶ms->N, + params->A, ¶ms->LDA, params->W, + params->WORK, ¶ms->LWORK, + params->IWORK, ¶ms->LIWORK, + &rv); + return rv; +} + /* * Initialize the parameters to use in for the lapack function _syevd * Handles buffer allocation @@ -1326,6 +1338,17 @@ init_@lapack_func@(EIGH_PARAMS_t* params, char JOBZ, char UPLO, return 0; } +/**end repeat**/ + + +/**begin repeat + #TYPE=CFLOAT,CDOUBLE# + #typ=npy_cfloat,npy_cdouble# + #basetyp=npy_float,npy_double# + #ftyp=fortran_complex,fortran_doublecomplex# + #fbasetyp=fortran_real,fortran_doublereal# + #lapack_func=cheevd,zheevd# +*/ static inline fortran_int call_@lapack_func@(EIGH_PARAMS_t *params) @@ -1334,21 +1357,12 @@ call_@lapack_func@(EIGH_PARAMS_t *params) LAPACK(@lapack_func@)(¶ms->JOBZ, ¶ms->UPLO, ¶ms->N, params->A, ¶ms->LDA, params->W, params->WORK, ¶ms->LWORK, + params->RWORK, ¶ms->LRWORK, params->IWORK, ¶ms->LIWORK, &rv); return rv; } -/**end repeat**/ - -/**begin repeat - #TYPE=CFLOAT,CDOUBLE# - #typ=npy_cfloat,npy_cdouble# - #basetyp=npy_float,npy_double# - #ftyp=fortran_complex,fortran_doublecomplex# - #fbasetyp=fortran_real,fortran_doublereal# - #lapack_func=cheevd,zheevd# -*/ /* * Initialize the parameters to use in for the lapack function _heev * Handles buffer allocation @@ -1424,19 +1438,6 @@ error: return 0; } - -static inline fortran_int -call_@lapack_func@(EIGH_PARAMS_t *params) -{ - fortran_int rv; - LAPACK(@lapack_func@)(¶ms->JOBZ, ¶ms->UPLO, ¶ms->N, - params->A, ¶ms->LDA, params->W, - params->WORK, ¶ms->LWORK, - params->RWORK, ¶ms->LRWORK, - params->IWORK, ¶ms->LIWORK, - &rv); - return rv; -} /**end repeat**/ @@ -1601,6 +1602,18 @@ typedef struct gesv_params_struct #lapack_func=sgesv,dgesv,cgesv,zgesv# */ +static inline fortran_int +call_@lapack_func@(GESV_PARAMS_t *params) +{ + fortran_int rv; + LAPACK(@lapack_func@)(¶ms->N, ¶ms->NRHS, + params->A, ¶ms->LDA, + params->IPIV, + params->B, ¶ms->LDB, + &rv); + return rv; +} + /* * Initialize the parameters to use in for the lapack function _heev * Handles buffer allocation @@ -1646,18 +1659,6 @@ release_@lapack_func@(GESV_PARAMS_t *params) memset(params, 0, sizeof(*params)); } -static inline fortran_int -call_@lapack_func@(GESV_PARAMS_t *params) -{ - fortran_int rv; - LAPACK(@lapack_func@)(¶ms->N, ¶ms->NRHS, - params->A, ¶ms->LDA, - params->IPIV, - params->B, ¶ms->LDB, - &rv); - return rv; -} - static void @TYPE@_solve(char **args, npy_intp *dimensions, npy_intp *steps, void *NPY_UNUSED(func)) @@ -1786,6 +1787,16 @@ typedef struct potr_params_struct #lapack_func=spotrf,dpotrf,cpotrf,zpotrf# */ +static inline fortran_int +call_@lapack_func@(POTR_PARAMS_t *params) +{ + fortran_int rv; + LAPACK(@lapack_func@)(¶ms->UPLO, + ¶ms->N, params->A, ¶ms->LDA, + &rv); + return rv; +} + static inline int init_@lapack_func@(POTR_PARAMS_t *params, char UPLO, fortran_int N) { @@ -1821,16 +1832,6 @@ release_@lapack_func@(POTR_PARAMS_t *params) memset(params, 0, sizeof(*params)); } -static inline fortran_int -call_@lapack_func@(POTR_PARAMS_t *params) -{ - fortran_int rv; - LAPACK(@lapack_func@)(¶ms->UPLO, - ¶ms->N, params->A, ¶ms->LDA, - &rv); - return rv; -} - static void @TYPE@_cholesky(char uplo, char **args, npy_intp *dimensions, npy_intp *steps) { @@ -1952,6 +1953,21 @@ dump_geev_params(const char *name, GEEV_PARAMS_t* params) #lapack_func=sgeev,dgeev# #zero=0.0f,0.0# */ + +static inline fortran_int +call_@lapack_func@(GEEV_PARAMS_t* params) +{ + fortran_int rv; + LAPACK(@lapack_func@)(¶ms->JOBVL, ¶ms->JOBVR, + ¶ms->N, params->A, ¶ms->LDA, + params->WR, params->WI, + params->VLR, ¶ms->LDVL, + params->VRR, ¶ms->LDVR, + params->WORK, ¶ms->LWORK, + &rv); + return rv; +} + static inline int init_@lapack_func@(GEEV_PARAMS_t *params, char jobvl, char jobvr, fortran_int n) { @@ -2029,21 +2045,6 @@ init_@lapack_func@(GEEV_PARAMS_t *params, char jobvl, char jobvr, fortran_int n) return 0; } -static inline fortran_int -call_@lapack_func@(GEEV_PARAMS_t* params) -{ - fortran_int rv; - LAPACK(@lapack_func@)(¶ms->JOBVL, ¶ms->JOBVR, - ¶ms->N, params->A, ¶ms->LDA, - params->WR, params->WI, - params->VLR, ¶ms->LDVL, - params->VRR, ¶ms->LDVR, - params->WORK, ¶ms->LWORK, - &rv); - return rv; -} - - static inline void mk_@TYPE@_complex_array_from_real(@complextyp@ *c, const @typ@ *re, size_t n) { @@ -2147,6 +2148,22 @@ process_@lapack_func@_results(GEEV_PARAMS_t *params) #lapack_func=cgeev,zgeev# */ +static inline fortran_int +call_@lapack_func@(GEEV_PARAMS_t* params) +{ + fortran_int rv; + + LAPACK(@lapack_func@)(¶ms->JOBVL, ¶ms->JOBVR, + ¶ms->N, params->A, ¶ms->LDA, + params->W, + params->VL, ¶ms->LDVL, + params->VR, ¶ms->LDVR, + params->WORK, ¶ms->LWORK, + params->WR, /* actually RWORK */ + &rv); + return rv; +} + static inline int init_@lapack_func@(GEEV_PARAMS_t* params, char jobvl, @@ -2223,23 +2240,6 @@ init_@lapack_func@(GEEV_PARAMS_t* params, return 0; } -static inline fortran_int -call_@lapack_func@(GEEV_PARAMS_t* params) -{ - fortran_int rv; - - LAPACK(@lapack_func@)(¶ms->JOBVL, ¶ms->JOBVR, - ¶ms->N, params->A, ¶ms->LDA, - params->W, - params->VL, ¶ms->LDVL, - params->VR, ¶ms->LDVR, - params->WORK, ¶ms->LWORK, - params->WR, /* actually RWORK */ - &rv); - return rv; -} - - static inline void process_@lapack_func@_results(GEEV_PARAMS_t *NPY_UNUSED(params)) { @@ -2478,6 +2478,21 @@ compute_urows_vtcolumns(char jobz, #ftyp=fortran_real,fortran_doublereal# */ +static inline fortran_int +call_@lapack_func@(GESDD_PARAMS_t *params) +{ + fortran_int rv; + LAPACK(@lapack_func@)(¶ms->JOBZ, ¶ms->M, ¶ms->N, + params->A, ¶ms->LDA, + params->S, + params->U, ¶ms->LDU, + params->VT, ¶ms->LDVT, + params->WORK, ¶ms->LWORK, + params->IWORK, + &rv); + return rv; +} + static inline int init_@lapack_func@(GESDD_PARAMS_t *params, char jobz, @@ -2574,6 +2589,16 @@ init_@lapack_func@(GESDD_PARAMS_t *params, return 0; } +/**end repeat**/ + +/**begin repeat + #TYPE=CFLOAT,CDOUBLE# + #ftyp=fortran_complex,fortran_doublecomplex# + #frealtyp=fortran_real,fortran_doublereal# + #typ=COMPLEX_t,DOUBLECOMPLEX_t# + #lapack_func=cgesdd,zgesdd# + */ + static inline fortran_int call_@lapack_func@(GESDD_PARAMS_t *params) { @@ -2584,21 +2609,12 @@ call_@lapack_func@(GESDD_PARAMS_t *params) params->U, ¶ms->LDU, params->VT, ¶ms->LDVT, params->WORK, ¶ms->LWORK, + params->RWORK, params->IWORK, &rv); return rv; } -/**end repeat**/ - -/**begin repeat - #TYPE=CFLOAT,CDOUBLE# - #ftyp=fortran_complex,fortran_doublecomplex# - #frealtyp=fortran_real,fortran_doublereal# - #typ=COMPLEX_t,DOUBLECOMPLEX_t# - #lapack_func=cgesdd,zgesdd# - */ - static inline int init_@lapack_func@(GESDD_PARAMS_t *params, char jobz, @@ -2699,22 +2715,6 @@ init_@lapack_func@(GESDD_PARAMS_t *params, return 0; } - -static inline fortran_int -call_@lapack_func@(GESDD_PARAMS_t *params) -{ - fortran_int rv; - LAPACK(@lapack_func@)(¶ms->JOBZ, ¶ms->M, ¶ms->N, - params->A, ¶ms->LDA, - params->S, - params->U, ¶ms->LDU, - params->VT, ¶ms->LDVT, - params->WORK, ¶ms->LWORK, - params->RWORK, - params->IWORK, - &rv); - return rv; -} /**end repeat**/ |