Skip to content

Commit 6ab34ef

Browse files
committed
removed redundant functions
1 parent c1f500b commit 6ab34ef

File tree

1 file changed

+49
-67
lines changed

1 file changed

+49
-67
lines changed

numpy/linalg/umath_linalg.c.src

Lines changed: 49 additions & 67 deletions
Original file line numberDiff line numberDiff line change
@@ -163,14 +163,6 @@ FNAME(zgelsd)(fortran_int *m, fortran_int *n, fortran_int *nrhs,
163163
fortran_int *info);
164164

165165
extern fortran_int
166-
FNAME(sgeqrf)(fortran_int *m, fortran_int *n, float a[], fortran_int *lda,
167-
float tau[], float work[],
168-
fortran_int *lwork, fortran_int *info);
169-
extern fortran_int
170-
FNAME(cgeqrf)(fortran_int *m, fortran_int *n, f2c_complex a[], fortran_int *lda,
171-
f2c_complex tau[], f2c_complex work[],
172-
fortran_int *lwork, fortran_int *info);
173-
extern fortran_int
174166
FNAME(dgeqrf)(fortran_int *m, fortran_int *n, double a[], fortran_int *lda,
175167
double tau[], double work[],
176168
fortran_int *lwork, fortran_int *info);
@@ -180,18 +172,10 @@ FNAME(zgeqrf)(fortran_int *m, fortran_int *n, f2c_doublecomplex a[], fortran_int
180172
fortran_int *lwork, fortran_int *info);
181173

182174
extern fortran_int
183-
FNAME(sorgqr)(fortran_int *m, fortran_int *n, fortran_int *k, float a[], fortran_int *lda,
184-
float tau[], float work[],
185-
fortran_int *lwork, fortran_int *info);
186-
extern fortran_int
187175
FNAME(dorgqr)(fortran_int *m, fortran_int *n, fortran_int *k, double a[], fortran_int *lda,
188176
double tau[], double work[],
189177
fortran_int *lwork, fortran_int *info);
190178
extern fortran_int
191-
FNAME(cungqr)(fortran_int *m, fortran_int *n, fortran_int *k, f2c_complex a[],
192-
fortran_int *lda, f2c_complex tau[],
193-
f2c_complex work[], fortran_int *lwork, fortran_int *info);
194-
extern fortran_int
195179
FNAME(zungqr)(fortran_int *m, fortran_int *n, fortran_int *k, f2c_doublecomplex a[],
196180
fortran_int *lda, f2c_doublecomplex tau[],
197181
f2c_doublecomplex work[], fortran_int *lwork, fortran_int *info);
@@ -2910,7 +2894,7 @@ dump_geqrf_params(const char *name,
29102894
}
29112895

29122896
/**begin repeat
2913-
#lapack_func=sgeqrf,dgeqrf,cgeqrf,zgeqrf#
2897+
#lapack_func=dgeqrf,zgeqrf#
29142898
*/
29152899

29162900
static inline fortran_int
@@ -2928,9 +2912,9 @@ call_@lapack_func@(GEQRF_PARAMS_t *params)
29282912
/**end repeat**/
29292913

29302914
/**begin repeat
2931-
#TYPE=FLOAT,DOUBLE#
2932-
#lapack_func=sgeqrf,dgeqrf#
2933-
#ftyp=fortran_real,fortran_doublereal#
2915+
#TYPE=DOUBLE#
2916+
#lapack_func=dgeqrf#
2917+
#ftyp=fortran_doublereal#
29342918
*/
29352919
static inline int
29362920
init_@lapack_func@(GEQRF_PARAMS_t *params,
@@ -3007,9 +2991,9 @@ init_@lapack_func@(GEQRF_PARAMS_t *params,
30072991
/**end repeat**/
30082992

30092993
/**begin repeat
3010-
#TYPE=CFLOAT,CDOUBLE#
3011-
#lapack_func=cgeqrf,zgeqrf#
3012-
#ftyp=fortran_complex,fortran_doublecomplex#
2994+
#TYPE=CDOUBLE#
2995+
#lapack_func=zgeqrf#
2996+
#ftyp=fortran_doublecomplex#
30132997
*/
30142998
static inline int
30152999
init_@lapack_func@(GEQRF_PARAMS_t *params,
@@ -3088,7 +3072,7 @@ init_@lapack_func@(GEQRF_PARAMS_t *params,
30883072
/**end repeat**/
30893073

30903074
/**begin repeat
3091-
#lapack_func=sgeqrf,dgeqrf,cgeqrf,zgeqrf#
3075+
#lapack_func=dgeqrf,zgeqrf#
30923076
*/
30933077
static inline void
30943078
release_@lapack_func@(GEQRF_PARAMS_t* params)
@@ -3102,14 +3086,13 @@ release_@lapack_func@(GEQRF_PARAMS_t* params)
31023086
/**end repeat**/
31033087

31043088
/**begin repeat
3105-
#TYPE=FLOAT,DOUBLE,CFLOAT,CDOUBLE#
3106-
#REALTYPE=FLOAT,DOUBLE,FLOAT,DOUBLE#
3107-
#lapack_func=sgeqrf,dgeqrf,cgeqrf,zgeqrf#
3108-
#typ = npy_float, npy_double, npy_cfloat, npy_cdouble#
3109-
#basetyp = npy_float, npy_double, npy_float, npy_double#
3110-
#ftyp = fortran_real, fortran_doublereal,
3111-
fortran_complex, fortran_doublecomplex#
3112-
#cmplx = 0, 0, 1, 1#
3089+
#TYPE=DOUBLE,CDOUBLE#
3090+
#REALTYPE=DOUBLE,DOUBLE#
3091+
#lapack_func=dgeqrf,zgeqrf#
3092+
#typ = npy_double,npy_cdouble#
3093+
#basetyp = npy_double,npy_double#
3094+
#ftyp = fortran_doublereal,fortran_doublecomplex#
3095+
#cmplx = 0, 1#
31133096
*/
31143097
static void
31153098
@TYPE@_qr_r_raw(char **args, npy_intp const *dimensions, npy_intp const *steps,
@@ -3168,7 +3151,7 @@ typedef struct gqr_params_struct
31683151
} GQR_PARAMS_t;
31693152

31703153
/**begin repeat
3171-
#lapack_func=sorgqr,dorgqr,cungqr,zungqr#
3154+
#lapack_func=dorgqr,zungqr#
31723155
*/
31733156

31743157
static inline fortran_int
@@ -3186,8 +3169,8 @@ call_@lapack_func@(GQR_PARAMS_t *params)
31863169
/**end repeat**/
31873170

31883171
/**begin repeat
3189-
#lapack_func=sorgqr,dorgqr#
3190-
#ftyp=fortran_real,fortran_doublereal#
3172+
#lapack_func=dorgqr#
3173+
#ftyp=fortran_doublereal#
31913174
*/
31923175
static inline int
31933176
init_@lapack_func@_common(GQR_PARAMS_t *params,
@@ -3268,8 +3251,8 @@ init_@lapack_func@_common(GQR_PARAMS_t *params,
32683251
/**end repeat**/
32693252

32703253
/**begin repeat
3271-
#lapack_func=cungqr,zungqr#
3272-
#ftyp=fortran_complex,fortran_doublecomplex#
3254+
#lapack_func=zungqr#
3255+
#ftyp=fortran_doublecomplex#
32733256
*/
32743257
static inline int
32753258
init_@lapack_func@_common(GQR_PARAMS_t *params,
@@ -3385,8 +3368,8 @@ dump_gqr_params(const char *name,
33853368
}
33863369

33873370
/**begin repeat
3388-
#lapack_func=sorgqr,dorgqr,cungqr,zungqr#
3389-
#ftyp=fortran_real,fortran_doublereal,fortran_complex,fortran_doublecomplex#
3371+
#lapack_func=dorgqr,zungqr#
3372+
#ftyp=fortran_doublereal,fortran_doublecomplex#
33903373
*/
33913374
static inline int
33923375
init_@lapack_func@(GQR_PARAMS_t *params,
@@ -3401,7 +3384,7 @@ init_@lapack_func@(GQR_PARAMS_t *params,
34013384
/**end repeat**/
34023385

34033386
/**begin repeat
3404-
#lapack_func=sorgqr,dorgqr,cungqr,zungqr#
3387+
#lapack_func=dorgqr,zungqr#
34053388
*/
34063389
static inline void
34073390
release_@lapack_func@(GQR_PARAMS_t* params)
@@ -3415,14 +3398,13 @@ release_@lapack_func@(GQR_PARAMS_t* params)
34153398
/**end repeat**/
34163399

34173400
/**begin repeat
3418-
#TYPE=FLOAT,DOUBLE,CFLOAT,CDOUBLE#
3419-
#REALTYPE=FLOAT,DOUBLE,FLOAT,DOUBLE#
3420-
#lapack_func=sorgqr,dorgqr,cungqr,zungqr#
3421-
#typ = npy_float, npy_double, npy_cfloat, npy_cdouble#
3422-
#basetyp = npy_float, npy_double, npy_float, npy_double#
3423-
#ftyp = fortran_real, fortran_doublereal,
3424-
fortran_complex, fortran_doublecomplex#
3425-
#cmplx = 0, 0, 1, 1#
3401+
#TYPE=DOUBLE,CDOUBLE#
3402+
#REALTYPE=DOUBLE,DOUBLE#
3403+
#lapack_func=dorgqr,zungqr#
3404+
#typ = npy_double, npy_cdouble#
3405+
#basetyp = npy_double, npy_double#
3406+
#ftyp = fortran_doublereal,fortran_doublecomplex#
3407+
#cmplx = 0, 1#
34263408
*/
34273409
static void
34283410
@TYPE@_qr_reduced(char **args, npy_intp const *dimensions, npy_intp const *steps,
@@ -3470,8 +3452,8 @@ static void
34703452
/* qr (modes - complete) */
34713453

34723454
/**begin repeat
3473-
#lapack_func=sorgqr,dorgqr,cungqr,zungqr#
3474-
#ftyp=fortran_real,fortran_doublereal,fortran_complex,fortran_doublecomplex#
3455+
#lapack_func=dorgqr,zungqr#
3456+
#ftyp=fortran_doublereal,fortran_doublecomplex#
34753457
*/
34763458
static inline int
34773459
init_@lapack_func@_complete(GQR_PARAMS_t *params,
@@ -3484,14 +3466,13 @@ init_@lapack_func@_complete(GQR_PARAMS_t *params,
34843466
/**end repeat**/
34853467

34863468
/**begin repeat
3487-
#TYPE=FLOAT,DOUBLE,CFLOAT,CDOUBLE#
3488-
#REALTYPE=FLOAT,DOUBLE,FLOAT,DOUBLE#
3489-
#lapack_func=sorgqr,dorgqr,cungqr,zungqr#
3490-
#typ = npy_float, npy_double, npy_cfloat, npy_cdouble#
3491-
#basetyp = npy_float, npy_double, npy_float, npy_double#
3492-
#ftyp = fortran_real, fortran_doublereal,
3493-
fortran_complex, fortran_doublecomplex#
3494-
#cmplx = 0, 0, 1, 1#
3469+
#TYPE=DOUBLE,CDOUBLE#
3470+
#REALTYPE=DOUBLE,DOUBLE#
3471+
#lapack_func=dorgqr,zungqr#
3472+
#typ = npy_double,npy_cdouble#
3473+
#basetyp = npy_double,npy_double#
3474+
#ftyp = fortran_doublereal,fortran_doublecomplex#
3475+
#cmplx = 0, 1#
34953476
*/
34963477
static void
34973478
@TYPE@_qr_complete(char **args, npy_intp const *dimensions, npy_intp const *steps,
@@ -3992,6 +3973,13 @@ static void *array_of_nulls[] = {
39923973
CDOUBLE_ ## NAME \
39933974
}
39943975

3976+
#define GUFUNC_FUNC_ARRAY_QR(NAME) \
3977+
static PyUFuncGenericFunction \
3978+
FUNC_ARRAY_NAME(NAME)[] = { \
3979+
DOUBLE_ ## NAME, \
3980+
CDOUBLE_ ## NAME \
3981+
}
3982+
39953983

39963984
GUFUNC_FUNC_ARRAY_REAL_COMPLEX(slogdet);
39973985
GUFUNC_FUNC_ARRAY_REAL_COMPLEX(det);
@@ -4006,9 +3994,9 @@ GUFUNC_FUNC_ARRAY_REAL_COMPLEX(cholesky_lo);
40063994
GUFUNC_FUNC_ARRAY_REAL_COMPLEX(svd_N);
40073995
GUFUNC_FUNC_ARRAY_REAL_COMPLEX(svd_S);
40083996
GUFUNC_FUNC_ARRAY_REAL_COMPLEX(svd_A);
4009-
GUFUNC_FUNC_ARRAY_REAL_COMPLEX(qr_r_raw);
4010-
GUFUNC_FUNC_ARRAY_REAL_COMPLEX(qr_reduced);
4011-
GUFUNC_FUNC_ARRAY_REAL_COMPLEX(qr_complete);
3997+
GUFUNC_FUNC_ARRAY_QR(qr_r_raw);
3998+
GUFUNC_FUNC_ARRAY_QR(qr_reduced);
3999+
GUFUNC_FUNC_ARRAY_QR(qr_complete);
40124000
GUFUNC_FUNC_ARRAY_REAL_COMPLEX(lstsq);
40134001
GUFUNC_FUNC_ARRAY_EIG(eig);
40144002
GUFUNC_FUNC_ARRAY_EIG(eigvals);
@@ -4077,25 +4065,19 @@ static char svd_1_3_types[] = {
40774065

40784066
/* A, tau */
40794067
static char qr_r_raw_types[] = {
4080-
NPY_FLOAT, NPY_FLOAT,
40814068
NPY_DOUBLE, NPY_DOUBLE,
4082-
NPY_CFLOAT, NPY_CFLOAT,
40834069
NPY_CDOUBLE, NPY_CDOUBLE,
40844070
};
40854071

40864072
/* A, tau, q */
40874073
static char qr_reduced_types[] = {
4088-
NPY_FLOAT, NPY_FLOAT, NPY_FLOAT,
40894074
NPY_DOUBLE, NPY_DOUBLE, NPY_DOUBLE,
4090-
NPY_CFLOAT, NPY_CFLOAT, NPY_CFLOAT,
40914075
NPY_CDOUBLE, NPY_CDOUBLE, NPY_CDOUBLE,
40924076
};
40934077

40944078
/* A, tau, q */
40954079
static char qr_complete_types[] = {
4096-
NPY_FLOAT, NPY_FLOAT, NPY_FLOAT,
40974080
NPY_DOUBLE, NPY_DOUBLE, NPY_DOUBLE,
4098-
NPY_CFLOAT, NPY_CFLOAT, NPY_CFLOAT,
40994081
NPY_CDOUBLE, NPY_CDOUBLE, NPY_CDOUBLE,
41004082
};
41014083

0 commit comments

Comments
 (0)