use anynePositive for squeeze.singeli
This commit is contained in:
parent
15f6dd5d48
commit
0f3f91105e
@ -57,7 +57,7 @@ squeeze{vw, X, CHR, B}(x0:*void, len:Size) : u32 = {
|
|||||||
if (B) {
|
if (B) {
|
||||||
if (any{M{~q_chr{c}}}) return{3}
|
if (any{M{~q_chr{c}}}) return{3}
|
||||||
} else {
|
} else {
|
||||||
if (anyne{broadcast{EV, (1<<hw-1)<<hw} & c, broadcast{EV,0}, M}) return{lb{hw}-2}
|
if (anynePositive{broadcast{EV, (1<<hw-1)<<hw} & c, broadcast{EV,0}, M}) return{lb{hw}-2}
|
||||||
}
|
}
|
||||||
}}
|
}}
|
||||||
r2:= cast_i{u32, fold{|, r1}}
|
r2:= cast_i{u32, fold{|, r1}}
|
||||||
@ -68,7 +68,7 @@ squeeze{vw, X, CHR, B}(x0:*void, len:Size) : u32 = {
|
|||||||
if (X==i8) {
|
if (X==i8) {
|
||||||
maskedLoop{bulk, len, {i, M} => {
|
maskedLoop{bulk, len, {i, M} => {
|
||||||
v0:= loadBatch{xp, i, XV}
|
v0:= loadBatch{xp, i, XV}
|
||||||
if (anyne{broadcast{EV, 0xfe} & EV~~v0, broadcast{EV, 0}, M}) return{2}
|
if (anynePositive{broadcast{EV, 0xfe} & EV~~v0, broadcast{EV, 0}, M}) return{2}
|
||||||
}}
|
}}
|
||||||
0
|
0
|
||||||
} else {
|
} else {
|
||||||
@ -83,7 +83,7 @@ squeeze{vw, X, CHR, B}(x0:*void, len:Size) : u32 = {
|
|||||||
|
|
||||||
def conv{x} = tern{preserve_negative_zero, ty_u{x}, x}
|
def conv{x} = tern{preserve_negative_zero, ty_u{x}, x}
|
||||||
|
|
||||||
if (anyne{conv{flt}, conv{cvt2{f64, int}}, M}) { # is any not an integer
|
if (anynePositive{conv{flt}, conv{cvt2{f64, int}}, M}) { # is any not an integer
|
||||||
if (B) maskedLoop{bulk, i, len, {i, M} => { # if B, need to give an even more special result
|
if (B) maskedLoop{bulk, i, len, {i, M} => { # if B, need to give an even more special result
|
||||||
def XU = [bulk]u64
|
def XU = [bulk]u64
|
||||||
v:= XU ~~ loadBatch{xp, i, XV}
|
v:= XU ~~ loadBatch{xp, i, XV}
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user