test special float values

This commit is contained in:
dzaima 2022-04-02 20:00:34 +03:00
parent 36d5b8f9d8
commit e031b069fb
2 changed files with 7 additions and 5 deletions

View File

@ -57,7 +57,7 @@ equal{W, X}(w:*u8, x:*u8, l:u64, d:u64) : u1 = {
def bulk = 4
f0:= broadcast{T, 0.0}
f1:= broadcast{T, 1.0}
maskedLoop{4, l, {i, M} => {
maskedLoop{bulk, l, {i, M} => {
cw:= load{cast_p{u8,w}, i>>1} >> cast_i{u8, 4*(i&1)}
cx:= load{cast_p{T, x}, i}
wu:= blend{f0, f1, broadcast{[4]u64, cw} << make{[4]u64,63,62,61,60}}
@ -93,7 +93,7 @@ equal{W, X}(w:*u8, x:*u8, l:u64, d:u64) : u1 = {
1
}
'avx2_equal_1_1' = equal{u1, u1} # todo maybe unify with 8_8 and make the non-bit diagonal shift by 3
'avx2_equal_1_1' = equal{u1, u1}
'avx2_equal_1_8' = equal{u1, u8}
'avx2_equal_1_16' = equal{u1, u16}
'avx2_equal_1_32' = equal{u1, u32}

View File

@ -23,7 +23,9 @@ TestVars ← { w𝕊a‿b:
szs 2(281632)0(2816)1114111
off 0(271531)¯0.5000
chr 00000111
specF64 - ÷0 10
RandVal {
𝕩4? {specF64˜𝕩 r.Range specF64}((0=𝕨 r.Range 2r.Range 10)/) 𝕨 r.Range 0;
Squeeze @+(𝕩chr) (𝕨 r.Range 𝕩szs) - 𝕩off
}
@ -31,13 +33,13 @@ Do ← { 𝕊:
at r.Range 8
l 1 + r.Range (at=0)100700
a l RandVal at
1 TestVars aa
(1{𝕊:´a=a} at=4) TestVars aa
{ 𝕊:
p r.Range l
v RandVal r.Range5 5+r.Range3 at5
v 1 RandVal r.Range5 5+r.Range3 at5
exp v = pa
b Squeeze v(p) a
exp TestVars ab
(exp{𝕊:´a=b} at=4) TestVars ab
}100 @
}