fix fill of bitarr⊏𝕩 when 𝕩 has no fill and starts with elements that can construct a typed array

This commit is contained in:
dzaima 2025-05-27 21:52:21 +03:00
parent 8626fb14ce
commit c866309707
2 changed files with 15 additions and 1 deletions

View File

@ -362,6 +362,7 @@ B select_c2(B t, B w, B x) {
}
B r = bit_sel(w, x0, x1);
decG(x);
if (noFill(xf) && TI(r,elType)!=el_B) return taga(cpyHArr(r));
return withFill(r, xf);
}
case el_i8: TYPE(i8, cpyI16Arr)

View File

@ -150,7 +150,17 @@ w←1‿1⥊1 ⋄ x←2⥊1 ⋄ w‿x <¨↩ ⋄ {! (∾⟨"𝕨",•Repr𝕩,
!"/⁼𝕩: 𝕩 must consist of natural numbers" % %USE evar /_evar (10) 1e20 20+10
# 𝕨⊏𝕩
•internal.ElType¨ {(1002)𝕨𝕩}˜ 0, 1, 2, 127, 128, 32767, 32768, ¯32767, ¯32768, ¯32769, ¯1+231, 231, @, @+1, @+255, @+256, @+1114111, {}, 12 %% (8-(=˜<5)×8-˜) 0011223223345556788
(
vals 0, 1, 2, 127, 128, 32767, 32768, ¯32767, ¯32768, ¯32769, ¯1+231, 231, @, @+1, @+255, @+256, @+1114111, {}, 12
e1 ˜ 0011223223348888888
e2 (8-(=˜<5)×8-˜) 0011223223345556788
a 1002
Variation, ListVariations, ElType •internal
{ 𝕊 v:
! e1 ElType¨ {(v Variation a) 𝕨𝕩}˜ vals
! e2 ElType¨ {(v Variation a) 𝕨𝕩}˜ vals
}¨ "i"ListVariations a
)
000 1310 %% 33012
¨ (203451)98070 08070 (23041)10 %% 20345807,0807,2304
!"𝕨⊏𝕩: Indexing out-of-bounds (1∊𝕨, 1≡≠𝕩)" % ˜(2001)1
@ -173,6 +183,9 @@ w←1‿1⥊1 ⋄ x←2⥊1 ⋄ w‿x <¨↩ ⋄ {! (∾⟨"𝕨",•Repr𝕩,
!"𝕨⊏𝕩: 𝕨 must be an array of numbers or list of such arrays" % %USE eqerr evar {%USE evar evar} {}, <<<4, 4, 1.5{} _evar _eqerr 10, 1010100
!"𝕨⊏𝕩: Compound 𝕨 must have rank at most 1" % %USE eqerr 5 _eqerr 10, 1010100
!"Expected integer, got namespace" % %USE eqerr {}, {} _eqerr 10, 1010100
%USE eqvar (4) _eqvar 10×10 %% 3020100
%USE eqvar (40) _eqvar 403020 %% 440
%USE eqvar 100 _eqvar "ab"(01) 2 %% "baa"
%USE eqvar (4) _eqvar "abcdefgh" %% "dcba"
(<3) "hello" %% "hel"
(<<4) "hello" %% <'o'