From 8a69998839053fd19c1fa450fcdcd10d75e7031b Mon Sep 17 00:00:00 2001 From: dzaima Date: Tue, 27 May 2025 23:19:58 +0300 Subject: [PATCH] =?UTF-8?q?proper=20fill=20for=200=E2=8A=B8=E2=8A=8F=CB=98?= =?UTF-8?q?fillarr?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit testing will come later with •internal.Indistinguishable _eqvar --- src/builtins/select.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/builtins/select.c b/src/builtins/select.c index 52877ee2..74ae4ce8 100644 --- a/src/builtins/select.c +++ b/src/builtins/select.c @@ -651,12 +651,15 @@ B select_cells_single(usz ind, B x, usz cam, usz l, usz csz) { // ⥊ ind ⊏˘ ri+= csz; } ra = mut_fp(rm); + arr_shVec(ra); + goto copyFill; } else if (xe==el_B) { assert(csz == 1); SGet(x) HArr_p rp = m_harrUv(ria); for (usz i = 0; i < cam; i++) rp.a[i] = Get(x, i*l+ind); NOGC_E; ra = (Arr*)rp.c; + goto copyFill; } else { void* rp = m_tyarrlbp(&ra, ewl, ria, el2t(xe)); void* xp = tyany_ptr(x); @@ -681,6 +684,9 @@ B select_cells_single(usz ind, B x, usz cam, usz l, usz csz) { // ⥊ ind ⊏˘ } } return taga(ra); + + copyFill: + return withFill(taga(ra), getFillQ(x)); } #define CLZC(X) (64-(CLZ((u64)(X))))