From 52d1e61fe07bc82550ecd3d5eda77bc8a36cec85 Mon Sep 17 00:00:00 2001 From: dzaima Date: Wed, 10 Jul 2024 03:24:10 +0300 Subject: [PATCH] don't bother early-exiting on masked iteration --- src/singeli/src/squeeze.singeli | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/singeli/src/squeeze.singeli b/src/singeli/src/squeeze.singeli index dd9759ca..60dd4be2 100644 --- a/src/singeli/src/squeeze.singeli +++ b/src/singeli/src/squeeze.singeli @@ -107,12 +107,13 @@ fn squeeze{vw, X, CHR, B if CHR or X==i32 or X==i16 or X==i8 or X==f64}(x0:*void @muLoop{bulk, 4}(xs in xb, M in 'm' over len) { minc:= tree_fold{min, xs} maxc:= tree_fold{max, xs} - if (homAny{M{(minc < XV**minvalue{EH}) | (maxc > XV**maxvalue{EH})}}) return{0xffff_ffff} + if (M{0}==0 and homAny{M{(minc < XV**minvalue{EH}) | (maxc > XV**maxvalue{EH})}}) return{0xffff_ffff} acc{M, minc, maxc} } } else { @muLoop{bulk, 2}(xs in xb, M in 'm' over len) { - if (homAny{acc{M, xs} > XV**maxvalue{EH}}) return{0xffff_ffff} + def mixed = acc{M, xs} + if (M{0}==0 and homAny{mixed > XV**maxvalue{EH}}) return{0xffff_ffff} } } acc{}