From e7b87f669f1d37fe5dbe59b119e6f271cb2a951a Mon Sep 17 00:00:00 2001 From: dzaima Date: Thu, 21 Sep 2023 19:03:30 +0300 Subject: [PATCH] =?UTF-8?q?fix=20arr=C3=B7negativeZero,=20set=20proper=20f?= =?UTF-8?q?loat=20expected=20values?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/builtins/arithd.c | 2 +- test/cases/prims.bqn | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/builtins/arithd.c b/src/builtins/arithd.c index 95ae23e7..60fefe6e 100644 --- a/src/builtins/arithd.c +++ b/src/builtins/arithd.c @@ -174,7 +174,7 @@ static B modint_AS(B w, B xv) { return modint_AA(w, C2(shape, C1(fne, incG(w)) , /*INT_AS*/ if(q_i32(x)) { r = divint_AS(w, o2iG(x)); /*decG(w); */ return r; } , /*INT_AA*/ r = divint_AA(w, x); /*decG(w); decG(x);*/ return r; , /*FLT_SAI*/ - , /*ANY_AS*/ if((r_f64u(o2fG(x)) & ((1ULL<<52)-1)) == 0 && elNum(we)) return num_squeeze(C2(mul, w, m_f64(1/o2fG(x)))); + , /*ANY_AS*/ if((r_f64u(o2fG(x)) & ((1ULL<<52)-1)) == 0 && elNum(we)) return num_squeeze(C2(mul, w, m_f64(1/(o2fG(x)+0)))); ) GC2f("√", root , pow(x.f+0, 1.0/(w.f+0)), NOUNROLL,,,,,) GC2f("⋆", pow , pow(w.f+0, x.f), NOUNROLL,,,,,) diff --git a/test/cases/prims.bqn b/test/cases/prims.bqn index 75674a19..ac08fc6f 100644 --- a/test/cases/prims.bqn +++ b/test/cases/prims.bqn @@ -286,8 +286,8 @@ w←1‿1⥊1 ⋄ x←2⥊1 ⋄ w‿x <¨↩ ⋄ {! (∾⟨•Repr𝕩,": Expe ) # 𝕨÷𝕩 !"÷: Unexpected argument types" % ⟨1‿2, "ab"⟩÷2 -50⊑"7.299999247803105e-309" {(100⥊𝕨)÷𝕩}○•ParseFloat "0.34361186623573303" %% 2.1244898576334326e¯308 -50⊑"3.8863870613495216e-308" {(100⥊𝕨)÷𝕩}○•ParseFloat "0.3815327155289232" %% 1.0186248526451468e¯307 +50⊑"7.299999247803105e-309" {(100⥊𝕨)÷𝕩}○•ParseFloat "0.34361186623573303" %% •ParseFloat "2.1244898576334326e-308" +50⊑"3.8863870613495216e-308" {(100⥊𝕨)÷𝕩}○•ParseFloat "0.3815327155289232" %% •ParseFloat "1.0186248526451468e-307"