summaryrefslogtreecommitdiff
path: root/numpy/linalg/umath_linalg.c.src
diff options
context:
space:
mode:
authorczgdp1807 <gdp.1807@gmail.com>2021-06-05 08:29:41 +0530
committerczgdp1807 <gdp.1807@gmail.com>2021-06-05 08:30:17 +0530
commit885ba91db5132d3a4b1dfd5f60234bfedb08b432 (patch)
treedd072a133996a2c54a1d69676c61ba98b29b88f0 /numpy/linalg/umath_linalg.c.src
parenta3b58bae0f5bb19b294669a6540e079885529fd6 (diff)
downloadnumpy-885ba91db5132d3a4b1dfd5f60234bfedb08b432.tar.gz
moving intialization outside the loop
Diffstat (limited to 'numpy/linalg/umath_linalg.c.src')
-rw-r--r--numpy/linalg/umath_linalg.c.src11
1 files changed, 6 insertions, 5 deletions
diff --git a/numpy/linalg/umath_linalg.c.src b/numpy/linalg/umath_linalg.c.src
index c58fbaa42..a2f463d24 100644
--- a/numpy/linalg/umath_linalg.c.src
+++ b/numpy/linalg/umath_linalg.c.src
@@ -3809,12 +3809,14 @@ static void
GQR_PARAMS_t params;
int error_occurred = get_fp_invalid_and_clear();
fortran_int n, m;
+ size_t safe_min_m_n, safe_m;
INIT_OUTER_LOOP_3
m = (fortran_int)dimensions[0];
n = (fortran_int)dimensions[1];
-
+ safe_min_m_n = fortran_int_min(m, n);
+ safe_m = m;
if (init_@lapack_func@(&params, m, n)) {
LINEARIZE_DATA_t a_in, tau_in, q_out;
@@ -3826,8 +3828,6 @@ static void
BEGIN_OUTER_LOOP_3
int not_ok;
linearize_@TYPE@_matrix(params.A, args[0], &a_in);
- size_t safe_min_m_n = fortran_int_min(m, n);
- size_t safe_m = m;
memcpy(params.Q, params.A, safe_min_m_n * safe_m * sizeof(@ftyp@));
linearize_@TYPE@_matrix(params.TAU, args[1], &tau_in);
not_ok = call_@lapack_func@(&params);
@@ -4033,11 +4033,14 @@ static void
GQR_PARAMS_t params;
int error_occurred = get_fp_invalid_and_clear();
fortran_int n, m;
+ size_t safe_n, safe_m;
INIT_OUTER_LOOP_3
m = (fortran_int)dimensions[0];
n = (fortran_int)dimensions[1];
+ safe_n = n;
+ safe_m = m;
if (init_@lapack_func@_complete(&params, m, n)) {
@@ -4050,8 +4053,6 @@ static void
BEGIN_OUTER_LOOP_3
int not_ok;
linearize_@TYPE@_matrix(params.A, args[0], &a_in);
- size_t safe_n = n;
- size_t safe_m = m;
memcpy(params.Q, params.A, safe_n * safe_m * sizeof(@ftyp@));
linearize_@TYPE@_matrix(params.TAU, args[1], &tau_in);
not_ok = call_@lapack_func@(&params);