test special float values
This commit is contained in:
parent
36d5b8f9d8
commit
e031b069fb
@ -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}
|
||||
|
||||
@ -23,7 +23,9 @@ TestVars ← { w𝕊a‿b:
|
||||
szs ← 2∾(2⋆8‿16‿32)∾0∾(2⋆8‿16)∾1114111
|
||||
off ← 0∾(2⋆7‿15‿31)∾¯0.5∾0‿0‿0
|
||||
chr ← 0‿0‿0‿0‿0‿1‿1‿1
|
||||
specF64 ← ∾⟜- ÷⟜0⊸∾ 1‿0
|
||||
RandVal ← {
|
||||
𝕩≡4? {specF64⊏˜𝕩 r.Range ≠specF64}∘≠⌾((0=𝕨 r.Range 2⋆r.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)⊑100‿700
|
||||
a ← l RandVal at
|
||||
1 TestVars a‿a
|
||||
(⊢◶1‿{𝕊:∧´a=a} at=4) TestVars a‿a
|
||||
{ 𝕊:
|
||||
p ← r.Range l
|
||||
v ← RandVal ⊢◶⟨r.Range∘5 ⋄ 5+r.Range∘3⟩ at≥5
|
||||
v ← ⊑1 RandVal ⊢◶⟨r.Range∘5 ⋄ 5+r.Range∘3⟩ at≥5
|
||||
exp ← v = p⊑a
|
||||
b ← Squeeze v⌾(p⊸⊑) a
|
||||
exp TestVars a‿b
|
||||
(⊢◶exp‿{𝕊:∧´a=b} at=4) TestVars a‿b
|
||||
}⍟100 @
|
||||
}
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user