From 3acf371f8a923df4784718d0c674a33859123452 Mon Sep 17 00:00:00 2001 From: Svyatoslav Kuzmich Date: Fri, 20 Jan 2023 14:29:51 +0100 Subject: [PATCH] [Wasm] fdlibm NFC: Replace division by zero with inf and NaN constants Fixes warnings. --- libraries/stdlib/wasm/src/kotlin/math/fdlibm/e_log.kt | 4 ++-- libraries/stdlib/wasm/src/kotlin/math/fdlibm/e_log10.kt | 4 ++-- libraries/stdlib/wasm/src/kotlin/math/fdlibm/e_log2.kt | 4 ++-- libraries/stdlib/wasm/src/kotlin/math/fdlibm/s_log1p.kt | 4 ++-- 4 files changed, 8 insertions(+), 8 deletions(-) diff --git a/libraries/stdlib/wasm/src/kotlin/math/fdlibm/e_log.kt b/libraries/stdlib/wasm/src/kotlin/math/fdlibm/e_log.kt index 6fef33b58cd..c1c86af6b42 100644 --- a/libraries/stdlib/wasm/src/kotlin/math/fdlibm/e_log.kt +++ b/libraries/stdlib/wasm/src/kotlin/math/fdlibm/e_log.kt @@ -100,8 +100,8 @@ internal fun __ieee754_log(_x: Double): Double { k = 0 if (hx < 0x00100000) { /* x < 2**-1022 */ if (((hx and 0x7fffffff) or lx.toInt()) == 0) - return -two54 / zero /* log(+-0)=-inf */ - if (hx < 0) return (x - x) / zero /* log(-#) = NaN */ + return Double.NEGATIVE_INFINITY /* log(+-0)=-inf */ + if (hx < 0) return Double.NaN /* log(-#) = NaN */ k -= 54; x *= two54 /* subnormal number, scale up x */ hx = __HI(x) /* high word of x */ } diff --git a/libraries/stdlib/wasm/src/kotlin/math/fdlibm/e_log10.kt b/libraries/stdlib/wasm/src/kotlin/math/fdlibm/e_log10.kt index 2037678518d..2e27a4345b4 100644 --- a/libraries/stdlib/wasm/src/kotlin/math/fdlibm/e_log10.kt +++ b/libraries/stdlib/wasm/src/kotlin/math/fdlibm/e_log10.kt @@ -67,8 +67,8 @@ internal fun __ieee754_log10(_x: Double): Double { k = 0 if (hx < 0x00100000) { /* x < 2**-1022 */ if (((hx and 0x7fffffff) or lx.toInt()) == 0) - return -two54 / zero /* log(+-0)=-inf */ - if (hx < 0) return (x - x) / zero /* log(-#) = NaN */ + return Double.NEGATIVE_INFINITY /* log(+-0)=-inf */ + if (hx < 0) return Double.NaN /* log(-#) = NaN */ k -= 54; x *= two54 /* subnormal number, scale up x */ hx = __HI(x) /* high word of x */ } diff --git a/libraries/stdlib/wasm/src/kotlin/math/fdlibm/e_log2.kt b/libraries/stdlib/wasm/src/kotlin/math/fdlibm/e_log2.kt index e5a5eb065e5..ff69fddc7cb 100644 --- a/libraries/stdlib/wasm/src/kotlin/math/fdlibm/e_log2.kt +++ b/libraries/stdlib/wasm/src/kotlin/math/fdlibm/e_log2.kt @@ -56,8 +56,8 @@ internal fun __ieee754_log2(_x: Double): Double { k = 0 if (hx < 0x00100000) { /* x < 2**-1022 */ if (((hx and 0x7fffffff) or lx.toInt()) == 0) - return -two54 / zero /* log(+-0)=-inf */ - if (hx < 0) return (x - x) / zero /* log(-#) = NaN */ + return Double.NEGATIVE_INFINITY /* log(+-0)=-inf */ + if (hx < 0) return Double.NaN /* log(-#) = NaN */ k -= 54; x *= two54 /* subnormal number, scale up x */ hx = __HI(x) /* high word of x */ } diff --git a/libraries/stdlib/wasm/src/kotlin/math/fdlibm/s_log1p.kt b/libraries/stdlib/wasm/src/kotlin/math/fdlibm/s_log1p.kt index 78a5da8ab1d..90d1679f8c9 100644 --- a/libraries/stdlib/wasm/src/kotlin/math/fdlibm/s_log1p.kt +++ b/libraries/stdlib/wasm/src/kotlin/math/fdlibm/s_log1p.kt @@ -110,8 +110,8 @@ internal fun log1p(x: Double): Double { k = 1 if (hx < 0x3FDA827A) { /* x < 0.41422 */ if (ax >= 0x3ff00000) { /* x <= -1.0 */ - if (x == -1.0) return -two54 / zero /* log1p(-1)=+inf */ - else return (x - x) / (x - x) /* log1p(x<-1)=NaN */ + if (x == -1.0) return Double.NEGATIVE_INFINITY /* log1p(-1)=-inf */ + else return Double.NaN /* log1p(x<-1)=NaN */ } if (ax < 0x3e200000) { /* |x| < 2**-29 */ if (two54 + x > zero /* raise inexact */