@@ -14,6 +14,11 @@ fn impl_add_for_u32x8() {
14
14
let expected = u32x8:: from ( [ 18 , 20 , u32:: MAX , u32:: MIN , 43 , 84 , 647 , 68 ] ) ;
15
15
let actual = a + b;
16
16
assert_eq ! ( expected, actual) ;
17
+
18
+ crate :: test_random_vector_vs_scalar (
19
+ |a : u32x8 , b| a + b,
20
+ |a, b| a. wrapping_add ( b) ,
21
+ ) ;
17
22
}
18
23
19
24
#[ test]
@@ -24,6 +29,11 @@ fn impl_sub_for_u32x8() {
24
29
u32x8:: from ( [ 8984 , 4294967280 , 0 , u32:: MAX , 4294967293 , 0 , 7 , 5 ] ) ;
25
30
let actual = a - b;
26
31
assert_eq ! ( expected, actual) ;
32
+
33
+ crate :: test_random_vector_vs_scalar (
34
+ |a : u32x8 , b| a - b,
35
+ |a, b| a. wrapping_sub ( b) ,
36
+ ) ;
27
37
}
28
38
29
39
#[ test]
@@ -67,6 +77,8 @@ fn impl_bitor_for_u32x8() {
67
77
let expected = u32x8:: from ( [ 0 , 1 , 1 , 1 , 1 , 1 , 1 , 1 ] ) ;
68
78
let actual = a | b;
69
79
assert_eq ! ( expected, actual) ;
80
+
81
+ crate :: test_random_vector_vs_scalar ( |a : u32x8 , b| a & b, |a, b| a & b) ;
70
82
}
71
83
72
84
#[ test]
@@ -76,6 +88,8 @@ fn impl_bitxor_for_u32x8() {
76
88
let expected = u32x8:: from ( [ 0 , 1 , 1 , 0 , 1 , 1 , 1 , 0 ] ) ;
77
89
let actual = a ^ b;
78
90
assert_eq ! ( expected, actual) ;
91
+
92
+ crate :: test_random_vector_vs_scalar ( |a : u32x8 , b| a ^ b, |a, b| a ^ b) ;
79
93
}
80
94
81
95
#[ test]
@@ -95,6 +109,8 @@ fn impl_shl_for_u32x8() {
95
109
] ) ;
96
110
let actual = a << b;
97
111
assert_eq ! ( expected, actual) ;
112
+
113
+ crate :: test_random_vector_vs_scalar ( |a : u32x8 , _b| a << 3 , |a, _b| a << 3 ) ;
98
114
}
99
115
100
116
#[ test]
@@ -114,6 +130,8 @@ fn impl_shr_for_u32x8() {
114
130
] ) ;
115
131
let actual = a >> b;
116
132
assert_eq ! ( expected, actual) ;
133
+
134
+ crate :: test_random_vector_vs_scalar ( |a : u32x8 , _b| a >> 3 , |a, _b| a >> 3 ) ;
117
135
}
118
136
119
137
#[ test]
0 commit comments