Skip to content

Commit 438e9fc

Browse files
authored
bpo-41513: Improve order of adding fractional values. Improve variable names. (GH-22368)
1 parent d986d16 commit 438e9fc

File tree

1 file changed

+12
-12
lines changed

1 file changed

+12
-12
lines changed

Modules/mathmodule.c

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -2502,8 +2502,8 @@ exactly equal) was verified for 1 billion random inputs with n=5. [7]
25022502
static inline double
25032503
vector_norm(Py_ssize_t n, double *vec, double max, int found_nan)
25042504
{
2505-
const double T27 = 134217729.0; /* ldexp(1.0, 27)+1.0) */
2506-
double x, csum = 1.0, oldcsum, scale, frac=0.0, frac_mid=0.0, frac_lo=0.0;
2505+
const double T27 = 134217729.0; /* ldexp(1.0, 27) + 1.0) */
2506+
double x, scale, oldcsum, csum = 1.0, frac1 = 0.0, frac2 = 0.0, frac3 = 0.0;
25072507
double t, hi, lo, h;
25082508
int max_e;
25092509
Py_ssize_t i;
@@ -2539,18 +2539,18 @@ vector_norm(Py_ssize_t n, double *vec, double max, int found_nan)
25392539
assert(fabs(csum) >= fabs(x));
25402540
oldcsum = csum;
25412541
csum += x;
2542-
frac += (oldcsum - csum) + x;
2542+
frac1 += (oldcsum - csum) + x;
25432543

25442544
x = 2.0 * hi * lo;
25452545
assert(fabs(csum) >= fabs(x));
25462546
oldcsum = csum;
25472547
csum += x;
2548-
frac_mid += (oldcsum - csum) + x;
2548+
frac2 += (oldcsum - csum) + x;
25492549

25502550
assert(csum + lo * lo == csum);
2551-
frac_lo += lo * lo;
2551+
frac3 += lo * lo;
25522552
}
2553-
h = sqrt(csum - 1.0 + (frac_lo + frac_mid + frac));
2553+
h = sqrt(csum - 1.0 + (frac1 + frac2 + frac3));
25542554

25552555
x = h;
25562556
t = x * T27;
@@ -2562,21 +2562,21 @@ vector_norm(Py_ssize_t n, double *vec, double max, int found_nan)
25622562
assert(fabs(csum) >= fabs(x));
25632563
oldcsum = csum;
25642564
csum += x;
2565-
frac += (oldcsum - csum) + x;
2565+
frac1 += (oldcsum - csum) + x;
25662566

25672567
x = -2.0 * hi * lo;
25682568
assert(fabs(csum) >= fabs(x));
25692569
oldcsum = csum;
25702570
csum += x;
2571-
frac_mid += (oldcsum - csum) + x;
2571+
frac2 += (oldcsum - csum) + x;
25722572

25732573
x = -lo * lo;
25742574
assert(fabs(csum) >= fabs(x));
25752575
oldcsum = csum;
25762576
csum += x;
2577-
frac_lo += (oldcsum - csum) + x;
2577+
frac3 += (oldcsum - csum) + x;
25782578

2579-
x = csum - 1.0 + (frac_lo + frac_mid + frac);
2579+
x = csum - 1.0 + (frac1 + frac2 + frac3);
25802580
return (h + x / (2.0 * h)) / scale;
25812581
}
25822582
/* When max_e < -1023, ldexp(1.0, -max_e) overflows.
@@ -2591,9 +2591,9 @@ vector_norm(Py_ssize_t n, double *vec, double max, int found_nan)
25912591
assert(fabs(csum) >= fabs(x));
25922592
oldcsum = csum;
25932593
csum += x;
2594-
frac += (oldcsum - csum) + x;
2594+
frac1 += (oldcsum - csum) + x;
25952595
}
2596-
return max * sqrt(csum - 1.0 + frac);
2596+
return max * sqrt(csum - 1.0 + frac1);
25972597
}
25982598

25992599
#define NUM_STACK_ELEMS 16

0 commit comments

Comments
 (0)
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy