aboutsummaryrefslogtreecommitdiff
path: root/lib/std/math
diff options
context:
space:
mode:
authorAndrew Kelley <andrew@ziglang.org>2020-08-31 15:49:44 -0700
committerAndrew Kelley <andrew@ziglang.org>2020-08-31 15:49:44 -0700
commitc354f074fa91d3d1672469ba4bbc49a1730e1d01 (patch)
treea48c93c1d19c38ec49d5f3b6412d265a58e4f0b5 /lib/std/math
parent4971400bdcc810766da15c63e3e57a59e49499ca (diff)
parent26140678a5c72604f2baac3cb9d1e5f7b37b6b8d (diff)
downloadzig-c354f074fa91d3d1672469ba4bbc49a1730e1d01.tar.gz
zig-c354f074fa91d3d1672469ba4bbc49a1730e1d01.zip
Merge remote-tracking branch 'origin/master' into llvm11
Diffstat (limited to 'lib/std/math')
-rw-r--r--lib/std/math/asinh.zig4
-rw-r--r--lib/std/math/atan.zig4
-rw-r--r--lib/std/math/atanh.zig4
-rw-r--r--lib/std/math/ceil.zig8
-rw-r--r--lib/std/math/exp.zig8
-rw-r--r--lib/std/math/exp2.zig4
-rw-r--r--lib/std/math/expm1.zig4
-rw-r--r--lib/std/math/floor.zig12
-rw-r--r--lib/std/math/log1p.zig2
-rw-r--r--lib/std/math/round.zig6
-rw-r--r--lib/std/math/tanh.zig4
-rw-r--r--lib/std/math/trunc.zig6
12 files changed, 33 insertions, 33 deletions
diff --git a/lib/std/math/asinh.zig b/lib/std/math/asinh.zig
index dc97ac3082..384834fb37 100644
--- a/lib/std/math/asinh.zig
+++ b/lib/std/math/asinh.zig
@@ -56,7 +56,7 @@ fn asinh32(x: f32) f32 {
}
// |x| < 0x1p-12, inexact if x != 0
else {
- math.forceEval(x + 0x1.0p120);
+ math.doNotOptimizeAway(x + 0x1.0p120);
}
return if (s != 0) -rx else rx;
@@ -87,7 +87,7 @@ fn asinh64(x: f64) f64 {
}
// |x| < 0x1p-12, inexact if x != 0
else {
- math.forceEval(x + 0x1.0p120);
+ math.doNotOptimizeAway(x + 0x1.0p120);
}
return if (s != 0) -rx else rx;
diff --git a/lib/std/math/atan.zig b/lib/std/math/atan.zig
index 390e10b3c4..b3ac880a48 100644
--- a/lib/std/math/atan.zig
+++ b/lib/std/math/atan.zig
@@ -72,7 +72,7 @@ fn atan32(x_: f32) f32 {
// |x| < 2^(-12)
if (ix < 0x39800000) {
if (ix < 0x00800000) {
- math.forceEval(x * x);
+ math.doNotOptimizeAway(x * x);
}
return x;
}
@@ -170,7 +170,7 @@ fn atan64(x_: f64) f64 {
// |x| < 2^(-27)
if (ix < 0x3E400000) {
if (ix < 0x00100000) {
- math.forceEval(@floatCast(f32, x));
+ math.doNotOptimizeAway(@floatCast(f32, x));
}
return x;
}
diff --git a/lib/std/math/atanh.zig b/lib/std/math/atanh.zig
index abd573bb1a..9f72a38ab5 100644
--- a/lib/std/math/atanh.zig
+++ b/lib/std/math/atanh.zig
@@ -45,7 +45,7 @@ fn atanh_32(x: f32) f32 {
if (u < 0x3F800000 - (32 << 23)) {
// underflow
if (u < (1 << 23)) {
- math.forceEval(y * y);
+ math.doNotOptimizeAway(y * y);
}
}
// |x| < 0.5
@@ -74,7 +74,7 @@ fn atanh_64(x: f64) f64 {
if (e < 0x3FF - 32) {
// underflow
if (e == 0) {
- math.forceEval(@floatCast(f32, y));
+ math.doNotOptimizeAway(@floatCast(f32, y));
}
}
// |x| < 0.5
diff --git a/lib/std/math/ceil.zig b/lib/std/math/ceil.zig
index ac04c9a8cc..2f043300b1 100644
--- a/lib/std/math/ceil.zig
+++ b/lib/std/math/ceil.zig
@@ -47,14 +47,14 @@ fn ceil32(x: f32) f32 {
if (u & m == 0) {
return x;
}
- math.forceEval(x + 0x1.0p120);
+ math.doNotOptimizeAway(x + 0x1.0p120);
if (u >> 31 == 0) {
u += m;
}
u &= ~m;
return @bitCast(f32, u);
} else {
- math.forceEval(x + 0x1.0p120);
+ math.doNotOptimizeAway(x + 0x1.0p120);
if (u >> 31 != 0) {
return -0.0;
} else {
@@ -79,7 +79,7 @@ fn ceil64(x: f64) f64 {
}
if (e <= 0x3FF - 1) {
- math.forceEval(y);
+ math.doNotOptimizeAway(y);
if (u >> 63 != 0) {
return -0.0;
} else {
@@ -106,7 +106,7 @@ fn ceil128(x: f128) f128 {
}
if (e <= 0x3FFF - 1) {
- math.forceEval(y);
+ math.doNotOptimizeAway(y);
if (u >> 127 != 0) {
return -0.0;
} else {
diff --git a/lib/std/math/exp.zig b/lib/std/math/exp.zig
index 36d18f83b2..c6444480fd 100644
--- a/lib/std/math/exp.zig
+++ b/lib/std/math/exp.zig
@@ -56,7 +56,7 @@ fn exp32(x_: f32) f32 {
return x * 0x1.0p127;
}
if (sign != 0) {
- math.forceEval(-0x1.0p-149 / x); // overflow
+ math.doNotOptimizeAway(-0x1.0p-149 / x); // overflow
// x <= -103.972084
if (hx >= 0x42CFF1B5) {
return 0;
@@ -88,7 +88,7 @@ fn exp32(x_: f32) f32 {
hi = x;
lo = 0;
} else {
- math.forceEval(0x1.0p127 + x); // inexact
+ math.doNotOptimizeAway(0x1.0p127 + x); // inexact
return 1 + x;
}
@@ -139,7 +139,7 @@ fn exp64(x_: f64) f64 {
}
if (x < -708.39641853226410622) {
// underflow if x != -inf
- // math.forceEval(@as(f32, -0x1.0p-149 / x));
+ // math.doNotOptimizeAway(@as(f32, -0x1.0p-149 / x));
if (x < -745.13321910194110842) {
return 0;
}
@@ -172,7 +172,7 @@ fn exp64(x_: f64) f64 {
lo = 0;
} else {
// inexact if x != 0
- // math.forceEval(0x1.0p1023 + x);
+ // math.doNotOptimizeAway(0x1.0p1023 + x);
return 1 + x;
}
diff --git a/lib/std/math/exp2.zig b/lib/std/math/exp2.zig
index b97690948e..dea6276469 100644
--- a/lib/std/math/exp2.zig
+++ b/lib/std/math/exp2.zig
@@ -70,7 +70,7 @@ fn exp2_32(x: f32) f32 {
// x < -126
if (u >= 0x80000000) {
if (u >= 0xC3160000 or u & 0x000FFFF != 0) {
- math.forceEval(-0x1.0p-149 / x);
+ math.doNotOptimizeAway(-0x1.0p-149 / x);
}
// x <= -150
if (u >= 0x3160000) {
@@ -393,7 +393,7 @@ fn exp2_64(x: f64) f64 {
if (ux >> 63 != 0) {
// underflow
if (x <= -1075 or x - 0x1.0p52 + 0x1.0p52 != x) {
- math.forceEval(@floatCast(f32, -0x1.0p-149 / x));
+ math.doNotOptimizeAway(@floatCast(f32, -0x1.0p-149 / x));
}
if (x <= -1075) {
return 0;
diff --git a/lib/std/math/expm1.zig b/lib/std/math/expm1.zig
index 98e66b17d5..37085a5fa6 100644
--- a/lib/std/math/expm1.zig
+++ b/lib/std/math/expm1.zig
@@ -106,7 +106,7 @@ fn expm1_32(x_: f32) f32 {
// |x| < 2^(-25)
else if (hx < 0x33000000) {
if (hx < 0x00800000) {
- math.forceEval(x * x);
+ math.doNotOptimizeAway(x * x);
}
return x;
} else {
@@ -237,7 +237,7 @@ fn expm1_64(x_: f64) f64 {
// |x| < 2^(-54)
else if (hx < 0x3C900000) {
if (hx < 0x00100000) {
- math.forceEval(@floatCast(f32, x));
+ math.doNotOptimizeAway(@floatCast(f32, x));
}
return x;
} else {
diff --git a/lib/std/math/floor.zig b/lib/std/math/floor.zig
index 7b61980a5e..d28b5e102c 100644
--- a/lib/std/math/floor.zig
+++ b/lib/std/math/floor.zig
@@ -50,13 +50,13 @@ fn floor16(x: f16) f16 {
if (u & m == 0) {
return x;
}
- math.forceEval(x + 0x1.0p120);
+ math.doNotOptimizeAway(x + 0x1.0p120);
if (u >> 15 != 0) {
u += m;
}
return @bitCast(f16, u & ~m);
} else {
- math.forceEval(x + 0x1.0p120);
+ math.doNotOptimizeAway(x + 0x1.0p120);
if (u >> 15 == 0) {
return 0.0;
} else {
@@ -84,13 +84,13 @@ fn floor32(x: f32) f32 {
if (u & m == 0) {
return x;
}
- math.forceEval(x + 0x1.0p120);
+ math.doNotOptimizeAway(x + 0x1.0p120);
if (u >> 31 != 0) {
u += m;
}
return @bitCast(f32, u & ~m);
} else {
- math.forceEval(x + 0x1.0p120);
+ math.doNotOptimizeAway(x + 0x1.0p120);
if (u >> 31 == 0) {
return 0.0;
} else {
@@ -115,7 +115,7 @@ fn floor64(x: f64) f64 {
}
if (e <= 0x3FF - 1) {
- math.forceEval(y);
+ math.doNotOptimizeAway(y);
if (u >> 63 != 0) {
return -1.0;
} else {
@@ -142,7 +142,7 @@ fn floor128(x: f128) f128 {
}
if (e <= 0x3FFF - 1) {
- math.forceEval(y);
+ math.doNotOptimizeAway(y);
if (u >> 127 != 0) {
return -1.0;
} else {
diff --git a/lib/std/math/log1p.zig b/lib/std/math/log1p.zig
index 5a87e92313..7686fc7691 100644
--- a/lib/std/math/log1p.zig
+++ b/lib/std/math/log1p.zig
@@ -62,7 +62,7 @@ fn log1p_32(x: f32) f32 {
if ((ix << 1) < (0x33800000 << 1)) {
// underflow if subnormal
if (ix & 0x7F800000 == 0) {
- math.forceEval(x * x);
+ math.doNotOptimizeAway(x * x);
}
return x;
}
diff --git a/lib/std/math/round.zig b/lib/std/math/round.zig
index 7798e6157a..0855b11cbb 100644
--- a/lib/std/math/round.zig
+++ b/lib/std/math/round.zig
@@ -43,7 +43,7 @@ fn round32(x_: f32) f32 {
x = -x;
}
if (e < 0x7F - 1) {
- math.forceEval(x + math.f32_toint);
+ math.doNotOptimizeAway(x + math.f32_toint);
return 0 * @bitCast(f32, u);
}
@@ -76,7 +76,7 @@ fn round64(x_: f64) f64 {
x = -x;
}
if (e < 0x3ff - 1) {
- math.forceEval(x + math.f64_toint);
+ math.doNotOptimizeAway(x + math.f64_toint);
return 0 * @bitCast(f64, u);
}
@@ -109,7 +109,7 @@ fn round128(x_: f128) f128 {
x = -x;
}
if (e < 0x3FFF - 1) {
- math.forceEval(x + math.f64_toint);
+ math.doNotOptimizeAway(x + math.f64_toint);
return 0 * @bitCast(f128, u);
}
diff --git a/lib/std/math/tanh.zig b/lib/std/math/tanh.zig
index 3abc5d4d75..5e5cc0accb 100644
--- a/lib/std/math/tanh.zig
+++ b/lib/std/math/tanh.zig
@@ -67,7 +67,7 @@ fn tanh32(x: f32) f32 {
}
// |x| is subnormal
else {
- math.forceEval(x * x);
+ math.doNotOptimizeAway(x * x);
t = x;
}
@@ -112,7 +112,7 @@ fn tanh64(x: f64) f64 {
}
// |x| is subnormal
else {
- math.forceEval(@floatCast(f32, x));
+ math.doNotOptimizeAway(@floatCast(f32, x));
t = x;
}
diff --git a/lib/std/math/trunc.zig b/lib/std/math/trunc.zig
index 85bc68f226..935da85013 100644
--- a/lib/std/math/trunc.zig
+++ b/lib/std/math/trunc.zig
@@ -46,7 +46,7 @@ fn trunc32(x: f32) f32 {
if (u & m == 0) {
return x;
} else {
- math.forceEval(x + 0x1p120);
+ math.doNotOptimizeAway(x + 0x1p120);
return @bitCast(f32, u & ~m);
}
}
@@ -67,7 +67,7 @@ fn trunc64(x: f64) f64 {
if (u & m == 0) {
return x;
} else {
- math.forceEval(x + 0x1p120);
+ math.doNotOptimizeAway(x + 0x1p120);
return @bitCast(f64, u & ~m);
}
}
@@ -88,7 +88,7 @@ fn trunc128(x: f128) f128 {
if (u & m == 0) {
return x;
} else {
- math.forceEval(x + 0x1p120);
+ math.doNotOptimizeAway(x + 0x1p120);
return @bitCast(f128, u & ~m);
}
}