fix a⌾(b⊸/)x comparing during noAlloc

This commit is contained in:
dzaima 2025-05-21 17:35:27 +03:00
parent 0587e065f5
commit 185a18d478
2 changed files with 6 additions and 0 deletions

View File

@ -218,6 +218,7 @@ static NOINLINE bool eequalFloat(f64* wp, f64* xp, usz ia) {
if (ia==0) return true; if (ia==0) return true;
NOINLINE bool equal(B w, B x) { // doesn't consume NOINLINE bool equal(B w, B x) { // doesn't consume
NOGC_CHECK("cannot use equal(w,x) during noAlloc");
EQ_START(atomEqual); EQ_START(atomEqual);
u8 we = TI(w,elType); u8 we = TI(w,elType);
@ -228,6 +229,7 @@ NOINLINE bool equal(B w, B x) { // doesn't consume
} }
bool eequal(B w, B x) { // doesn't consume bool eequal(B w, B x) { // doesn't consume
NOGC_CHECK("cannot use eequal(w,x) during noAlloc");
if (w.u==x.u) return true; if (w.u==x.u) return true;
EQ_START(atomEEqual); EQ_START(atomEEqual);

View File

@ -1170,6 +1170,10 @@ B slash_ucw(B t, B o, B w, B x) {
u64* d = bitany_ptr(w); u64* d = bitany_ptr(w);
for (usz i = 0; i < ia; i++) mut_setG(r, i, bitp_get(d, i)? Get(rep,repI++) : Get(x,i)); for (usz i = 0; i < ia; i++) mut_setG(r, i, bitp_get(d, i)? Get(rep,repI++) : Get(x,i));
} else { } else {
if (re == el_B) {
mut_fillG(r, 0, m_f64(0), ia);
NOGC_E;
}
SGetU(rep) SGetU(rep)
for (usz i = 0; i < ia; i++) { for (usz i = 0; i < ia; i++) {
i32 cw = o2iG(GetU(w, i)); i32 cw = o2iG(GetU(w, i));