Mark boolean +` result sorted and squoze
This commit is contained in:
parent
666a41ab12
commit
812b97dc51
@ -201,7 +201,7 @@ B scan_c1(Md1D* d, B x) { B f = d->f;
|
||||
u64 xs = bit_sum(xp, ia);
|
||||
if (xs>I32_MAX) goto base;
|
||||
if (xs<=1) { if (xs==0) return x; goto bit_or; }
|
||||
return scan_bit_sum(x, xp, ia, xs);
|
||||
return FL_SET(scan_bit_sum(x, xp, ia, xs), fl_asc|fl_squoze);
|
||||
}
|
||||
if (rtid==n_or | rtid==n_ceil ) { bit_or: u64* rp; B r=m_bitarrv(&rp,ia); usz n=BIT_N(ia); u64 xi; usz i=0; while(i<n) if ((xi= vg_rand(xp[i]))!=0) { rp[i] = -(xi&-xi) ; i++; while(i<n) rp[i++] = ~0LL; break; } else rp[i++]= 0 ; decG(x); return r; }
|
||||
if (rtid==n_and | rtid==n_mul | rtid==n_floor) { u64* rp; B r=m_bitarrv(&rp,ia); usz n=BIT_N(ia); u64 xi; usz i=0; while(i<n) if ((xi=~vg_rand(xp[i]))!=0) { rp[i] = (xi&-xi)-1; i++; while(i<n) rp[i++] = 0 ; break; } else rp[i++]=~0LL; decG(x); return r; }
|
||||
|
||||
Loading…
Reference in New Issue
Block a user