@@ -9,12 +9,12 @@ using namespace JitCommon;
99
1010TEST (DivUtils, Signed)
1111{
12- Magic m3 = SignedDivisionConstants (3 );
13- Magic m5 = SignedDivisionConstants (5 );
14- Magic m7 = SignedDivisionConstants (7 );
15- Magic minus3 = SignedDivisionConstants (-3 );
16- Magic minus5 = SignedDivisionConstants (-5 );
17- Magic minus7 = SignedDivisionConstants (-7 );
12+ SignedMagic m3 = SignedDivisionConstants (3 );
13+ SignedMagic m5 = SignedDivisionConstants (5 );
14+ SignedMagic m7 = SignedDivisionConstants (7 );
15+ SignedMagic minus3 = SignedDivisionConstants (-3 );
16+ SignedMagic minus5 = SignedDivisionConstants (-5 );
17+ SignedMagic minus7 = SignedDivisionConstants (-7 );
1818
1919 EXPECT_EQ (0x55555556 , m3.multiplier );
2020 EXPECT_EQ (0 , m3.shift );
@@ -30,3 +30,32 @@ TEST(DivUtils, Signed)
3030 EXPECT_EQ (0x6DB6DB6D , minus7.multiplier );
3131 EXPECT_EQ (2 , minus7.shift );
3232}
33+
34+ TEST (DivUtils, Unsigned)
35+ {
36+ UnsignedMagic m3 = UnsignedDivisionConstants (3 );
37+ UnsignedMagic m5 = UnsignedDivisionConstants (5 );
38+ UnsignedMagic m7 = UnsignedDivisionConstants (7 );
39+ UnsignedMagic m9 = UnsignedDivisionConstants (9 );
40+ UnsignedMagic m19 = UnsignedDivisionConstants (19 );
41+
42+ EXPECT_EQ (0xAAAAAAABU , m3.multiplier );
43+ EXPECT_EQ (1 , m3.shift );
44+ EXPECT_TRUE (m3.fast );
45+
46+ EXPECT_EQ (0xCCCCCCCDU , m5.multiplier );
47+ EXPECT_EQ (2 , m5.shift );
48+ EXPECT_TRUE (m5.fast );
49+
50+ EXPECT_EQ (0x92492492U , m7.multiplier );
51+ EXPECT_EQ (2 , m7.shift );
52+ EXPECT_FALSE (m7.fast );
53+
54+ EXPECT_EQ (0x38E38E39U , m9.multiplier );
55+ EXPECT_EQ (1 , m9.shift );
56+ EXPECT_TRUE (m9.fast );
57+
58+ EXPECT_EQ (0xD79435E5U , m19.multiplier );
59+ EXPECT_EQ (4 , m19.shift );
60+ EXPECT_FALSE (m19.fast );
61+ }
0 commit comments