diff --git a/src/builtins/md1.c b/src/builtins/md1.c index d25dd2de..9ee0c071 100644 --- a/src/builtins/md1.c +++ b/src/builtins/md1.c @@ -304,7 +304,8 @@ B fold_c2(Md1D* d, B w, B x) { B f = d->f; if (xe==el_i32) { i32* xp = i32any_ptr(x); i32 c=wi; for (usz i=0; i>6); i++) if (~xp[i]){r=0;break;} if(~bitp_l1(xp,ia))r=0; } decG(x); return m_i32(r); } + if (xe==el_bit && + wi==(wi&1)) { u64* xp = bitarr_ptr(x); bool r=wi; if (r) { for (usz i=0; i<(ia>>6); i++) if (~xp[i]){r=0;break;} if(~bitp_l1(xp,ia))r=0; } decG(x); return m_i32(r); } if (xe==el_i8 ) { i8* xp = i8any_ptr (x); i32 c=wi; for (usz i=0; i