diff --git a/src/builtins/select.c b/src/builtins/select.c index 10b90b6b..845ab3d8 100644 --- a/src/builtins/select.c +++ b/src/builtins/select.c @@ -508,7 +508,7 @@ B select_replace(u32 chr, B w, B x, B rep, usz wia, usz cam, usz csz) { // consu case el_c16: rep = toC16Any(rep); ra = reuse? a(REUSE(x)) : cpyC16Arr(x); goto do_u16; case el_i32: rep = toI32Any(rep); ra = reuse? a(REUSE(x)) : cpyI32Arr(x); goto do_u32; case el_c32: rep = toC32Any(rep); ra = reuse? a(REUSE(x)) : cpyC32Arr(x); goto do_u32; - case el_f64: rep = toF64Any(rep); ra = reuse? a(REUSE(x)) : cpyF64Arr(x); goto do_u64; + case el_f64: rep = toF64Any(rep); ra = reuse? a(REUSE(x)) : cpyF64Arr(x); goto do_f64; case el_bit: { ra = reuse? a(REUSE(x)) : cpyBitArr(x); TyArr* na = toBitArr(rep); rep = taga(na); u64* np = bitarrv_ptr(na); @@ -569,7 +569,7 @@ B select_replace(u32 chr, B w, B x, B rep, usz wia, usz cam, usz csz) { // consu do_u8: IMPL(u8); do_u16: IMPL(u16); do_u32: IMPL(u32); - do_u64: IMPL(u64); + do_f64: IMPL(f64); #undef IMPL do_tycell:; diff --git a/test/cases/under.bqn b/test/cases/under.bqn index 1d8f810e..fc5c428e 100644 --- a/test/cases/under.bqn +++ b/test/cases/under.bqn @@ -7,6 +7,11 @@ # !% ⊢⌾(⊢¨) 4 # TODO enable # !% ⊢⌾(⊢˘) 4 # TODO enable +# ¯0¨⌾((⥊𝕨)⊸⊏) 𝕩 +%DEF nz InsNZ ← {⥊ (¯64↑1)˘⌾((⥊𝕨)⊸⊏)⌾(64‿1•bit._cast) ≍˘ 𝕩} ⋄ IsNZ ← {(¯64↑1)⊸≡˘ 64‿1•bit._cast ≍˘ 𝕩} +%USE nz ⋄ IsNZ⊸⋈ 1‿2 InsNZ 0.5‿0‿1‿0‿¯1‿2 %% ⟨0‿1‿1‿0‿0‿0, 0.5‿0‿0‿0‿¯1‿2⟩ +%USE nz ⋄ IsNZ⊸⋈ 1‿2 InsNZ 0‿0‿1‿0‿¯1‿2 %% ⟨0‿1‿1‿0‿0‿0, 0‿0‿0‿0‿¯1‿2⟩ + # ⌾(F⊸Op) 10⊸+⌾((2÷˜≢)⊸⊑) ↕10 %% 0‿1‿2‿3‿4‿15‿6‿7‿8‿9 10⊸+⌾((2÷˜≢)⊑⊢) ↕10 %% 0‿1‿2‿3‿4‿15‿6‿7‿8‿9 @@ -85,6 +90,8 @@ n←500 ⋄ a←↕n ⋄ i←(-n)+↕2×n ⋄ r←⌽(2×n)⥊a ⋄ ! (⌽a) ≡ %USE eqvar ⋄ 1⊸+⌾((2/↕5)⊸⊏) _eqvar ≍˘ ↕10 %% ≍˘ <⟜5⊸+ ↕10 %USE eqvar ⋄ •internal.Keep⌾((2/↕5)⊸⊏) _eqvar 10‿0‿4⥊0 %% 10‿0‿4⥊0 %USE eqvar ⋄ (<⟨⟩) {•internal.Keep⌾(𝕨⊸⊏) 𝕩}_eqvar¨ ⟨0‿1, "ab"‿"cd"⟩ %% ⟨0‿1, "ab"‿"cd"⟩ +!"𝔽⌾(a⊸⊏): Incompatible result elements" % %USE evar ⋄ ⟨0÷0,0÷0⟩ {𝕨⌾(0‿0⊸⊏) 𝕩}_evar 3⥊0 +%USE eqvar ⋄ %USE nz ⋄ 0‿0 {(0 InsNZ 2⥊0)⌾(𝕨⊸⊏)𝕩}_eqvar 3⥊3 %% 0‿3‿3 # ⥊