extract m_barrp_fill, make m_arrp_fill actually set fill
conditions were the wrong way around :|
This commit is contained in:
parent
541e5a805e
commit
056cfd8367
@ -832,19 +832,21 @@ DirectArr toEltypeArr(B x, u8 re) { // consumes
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
UntaggedArr m_arrp_fill(B x, ux ia) { // doesn't consume
|
UntaggedArr m_barrp_fill(B x, ux ia) { // doesn't consume
|
||||||
u8 xe = TI(x,elType);
|
|
||||||
if (xe==el_B) {
|
|
||||||
B fill = getFillR(x);
|
B fill = getFillR(x);
|
||||||
if (noFill(fill)) {
|
if (noFill(fill)) {
|
||||||
|
HArr_p r = m_harrUp(ia);
|
||||||
|
return (UntaggedArr) {(Arr*)r.c, r.a};
|
||||||
|
} else {
|
||||||
Arr* r = m_fillarrp(ia);
|
Arr* r = m_fillarrp(ia);
|
||||||
fillarr_setFill(r, fill);
|
fillarr_setFill(r, fill);
|
||||||
return (UntaggedArr){r, fillarrv_ptr(r)};
|
return (UntaggedArr){r, fillarrv_ptr(r)};
|
||||||
} else {
|
|
||||||
HArr_p r = m_harrUp(ia);
|
|
||||||
return (UntaggedArr) {(Arr*)r.c, r.a};
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
UntaggedArr m_arrp_fill(B x, ux ia) { // doesn't consume
|
||||||
|
u8 xe = TI(x,elType);
|
||||||
|
if (xe==el_B) return m_barrp_fill(x, ia);
|
||||||
Arr* r;
|
Arr* r;
|
||||||
void* rp = m_tyarrlbp(&r, elwBitLog(xe), ia, el2t(xe));
|
void* rp = m_tyarrlbp(&r, elwBitLog(xe), ia, el2t(xe));
|
||||||
return (UntaggedArr) {r, rp};
|
return (UntaggedArr) {r, rp};
|
||||||
|
|||||||
@ -298,6 +298,7 @@ DirectArr toEltypeArr(B x, u8 re); // consumes
|
|||||||
DirectArr potentiallyReuse(B x); // doesn't consume
|
DirectArr potentiallyReuse(B x); // doesn't consume
|
||||||
|
|
||||||
typedef struct { Arr* obj; void* data; } UntaggedArr;
|
typedef struct { Arr* obj; void* data; } UntaggedArr;
|
||||||
|
UntaggedArr m_barrp_fill(B x, ux ia); // doesn't consume; create new fillarr or harr with the fill of x
|
||||||
UntaggedArr m_arrp_fill(B x, ux ia); // doesn't consume; create new array with the fill and eltype of x
|
UntaggedArr m_arrp_fill(B x, ux ia); // doesn't consume; create new array with the fill and eltype of x
|
||||||
|
|
||||||
typedef struct {
|
typedef struct {
|
||||||
|
|||||||
@ -410,6 +410,7 @@ b←1↓1∾a←"hello" ⋄ b ⌽⎊'e' ⥊⟜1⍟2 5 ⋄ a ≡○•Hash b %% 1
|
|||||||
%USE eqvarv ⋄ ↑‿4 ⥊_eqvarv_"i" "abcde" %% ["abcd", "e "]
|
%USE eqvarv ⋄ ↑‿4 ⥊_eqvarv_"i" "abcde" %% ["abcd", "e "]
|
||||||
%USE eqvar ⋄ ⌽‿4 ⥊_eqvar "abcde" %% ["abcd", "eabc"]
|
%USE eqvar ⋄ ⌽‿4 ⥊_eqvar "abcde" %% ["abcd", "eabc"]
|
||||||
%USE eqvar ⋄ ⌊‿4 ⥊_eqvar "abcde" %% ["abcd"]
|
%USE eqvar ⋄ ⌊‿4 ⥊_eqvar "abcde" %% ["abcd"]
|
||||||
|
%USE eqvar ⋄ 2‿2 ⥊_eqvar ↕1000 %% [0‿1,2‿3]
|
||||||
|
|
||||||
# 𝕨⍷𝕩
|
# 𝕨⍷𝕩
|
||||||
%USE eqvar ⋄ "ab" ⍷_eqvar "" %% ⟨⟩
|
%USE eqvar ⋄ "ab" ⍷_eqvar "" %% ⟨⟩
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user