From de529e483bcdda2ad571f37070d4a88ed98e9144 Mon Sep 17 00:00:00 2001 From: dzaima Date: Sat, 20 Apr 2024 21:21:33 +0300 Subject: make non-Singeli getRange_f64 check first element for integerness --- src/builtins/search.c | 5 +++-- test/cases/prims.bqn | 2 ++ 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/src/builtins/search.c b/src/builtins/search.c index e7979509..1cd897bb 100644 --- a/src/builtins/search.c +++ b/src/builtins/search.c @@ -50,9 +50,10 @@ INIT_GLOBAL RangeFn getRange_fns[el_f64+1]; #define SINGELI_FILE search #include "../utils/includeSingeli.h" #else - #define GETRANGE(T,X) bool getRange_##T(void* x0, i64* res, u64 ia) { \ + #define GETRANGE(T,CHK) bool getRange_##T(void* x0, i64* res, u64 ia) { \ assert(ia>0); T* x=x0; T min=*x,max=min; \ - for (ux i=1; imax)max=c;} \ } \ res[0]=min; res[1]=max; return 1; \ diff --git a/test/cases/prims.bqn b/test/cases/prims.bqn index 70bc88aa..0a6ae759 100644 --- a/test/cases/prims.bqn +++ b/test/cases/prims.bqn @@ -371,6 +371,8 @@ w←1‿1⥊1 ⋄ x←2⥊1 ⋄ w‿x <¨↩ ⋄ {! (∾⟨•Repr𝕩,": Expe !"Integer out of range: 1e20" % 1⊸+⍟1e20 0 !"⍟: 𝔾 contained non-integer (or integer was out of range)" % %USE evar ⋄ {1⊸+⍟𝕩 0}_evar ⟨1.5⟩ !"⍟: 𝔾 contained non-integer (or integer was out of range)" % %USE evar ⋄ {1⊸+⍟𝕩 0}_evar ⟨1e20⟩ +!"⍟: 𝔾 contained non-integer (or integer was out of range)" % %USE evar ⋄ {1⊸+⍟𝕩 0}_evar ⟨9, 1.5⟩ +!"⍟: 𝔾 contained non-integer (or integer was out of range)" % %USE evar ⋄ {1⊸+⍟𝕩 0}_evar ⟨1.5, 9⟩ # ◶ !"◶: 𝕘 must have rank 1 when index is a number" % 1◶[1‿2,3‿4] 3 -- cgit v1.2.3-70-g09d2