@@ -25,6 +25,8 @@ fn eq_i32x4(i32x4(x0, x1, x2, x3): i32x4, i32x4(y0, y1, y2, y3): i32x4) -> bool
25
25
}
26
26
27
27
pub fn main ( ) {
28
+ // arithmetic operators
29
+
28
30
assert ! ( eq_u32x4( u32x4( 1 , 2 , 3 , 4 ) + u32x4( 4 , 3 , 2 , 1 ) , u32x4( 5 , 5 , 5 , 5 ) ) ) ;
29
31
assert ! ( eq_u32x4( u32x4( 4 , 5 , 6 , 7 ) - u32x4( 4 , 3 , 2 , 1 ) , u32x4( 0 , 2 , 4 , 6 ) ) ) ;
30
32
assert ! ( eq_u32x4( u32x4( 1 , 2 , 3 , 4 ) * u32x4( 4 , 3 , 2 , 1 ) , u32x4( 4 , 6 , 6 , 4 ) ) ) ;
@@ -43,8 +45,28 @@ pub fn main() {
43
45
assert ! ( eq_i32x4( i32x4( 1 , 2 , 3 , 4 ) << i32x4( 4 , 3 , 2 , 1 ) , i32x4( 16 , 16 , 12 , 8 ) ) ) ;
44
46
assert ! ( eq_i32x4( i32x4( 1 , 2 , 3 , 4 ) >> i32x4( 4 , 3 , 2 , 1 ) , i32x4( 0 , 0 , 0 , 2 ) ) ) ;
45
47
46
- assert ! ( eq_f32x4( f32x4( 1.0 , 2.0 , 3.0 , 4.0 ) + f32x4( 4.0 , 3.0 , 2.0 , 1.0 ) , f32x4( 5.0 , 5.0 , 5.0 , 5.0 ) ) ) ;
47
- assert ! ( eq_f32x4( f32x4( 1.0 , 2.0 , 3.0 , 4.0 ) - f32x4( 4.0 , 3.0 , 2.0 , 1.0 ) , f32x4( -3.0 , -1.0 , 1.0 , 3.0 ) ) ) ;
48
- assert ! ( eq_f32x4( f32x4( 1.0 , 2.0 , 3.0 , 4.0 ) * f32x4( 4.0 , 3.0 , 2.0 , 1.0 ) , f32x4( 4.0 , 6.0 , 6.0 , 4.0 ) ) ) ;
49
- assert ! ( eq_f32x4( f32x4( 1.0 , 2.0 , 3.0 , 4.0 ) / f32x4( 4.0 , 4.0 , 2.0 , 1.0 ) , f32x4( 0.25 , 0.5 , 1.5 , 4.0 ) ) ) ;
48
+ assert ! ( eq_f32x4( f32x4( 1.0 , 2.0 , 3.0 , 4.0 ) + f32x4( 4.0 , 3.0 , 2.0 , 1.0 ) ,
49
+ f32x4( 5.0 , 5.0 , 5.0 , 5.0 ) ) ) ;
50
+ assert ! ( eq_f32x4( f32x4( 1.0 , 2.0 , 3.0 , 4.0 ) - f32x4( 4.0 , 3.0 , 2.0 , 1.0 ) ,
51
+ f32x4( -3.0 , -1.0 , 1.0 , 3.0 ) ) ) ;
52
+ assert ! ( eq_f32x4( f32x4( 1.0 , 2.0 , 3.0 , 4.0 ) * f32x4( 4.0 , 3.0 , 2.0 , 1.0 ) ,
53
+ f32x4( 4.0 , 6.0 , 6.0 , 4.0 ) ) ) ;
54
+ assert ! ( eq_f32x4( f32x4( 1.0 , 2.0 , 3.0 , 4.0 ) / f32x4( 4.0 , 4.0 , 2.0 , 1.0 ) ,
55
+ f32x4( 0.25 , 0.5 , 1.5 , 4.0 ) ) ) ;
56
+
57
+ // comparison operators
58
+
59
+ assert ! ( eq_u32x4( u32x4( 1 , 2 , 3 , 4 ) == u32x4( 3 , 2 , 1 , 0 ) , u32x4( 0 , !0 , 0 , 0 ) ) ) ;
60
+ assert ! ( eq_u32x4( u32x4( 1 , 2 , 3 , 4 ) != u32x4( 3 , 2 , 1 , 0 ) , u32x4( !0 , 0 , !0 , !0 ) ) ) ;
61
+ assert ! ( eq_u32x4( u32x4( 1 , 2 , 3 , 4 ) < u32x4( 3 , 2 , 1 , 0 ) , u32x4( !0 , 0 , 0 , 0 ) ) ) ;
62
+ assert ! ( eq_u32x4( u32x4( 1 , 2 , 3 , 4 ) <= u32x4( 3 , 2 , 1 , 0 ) , u32x4( !0 , !0 , 0 , 0 ) ) ) ;
63
+ assert ! ( eq_u32x4( u32x4( 1 , 2 , 3 , 4 ) >= u32x4( 3 , 2 , 1 , 0 ) , u32x4( 0 , !0 , !0 , !0 ) ) ) ;
64
+ assert ! ( eq_u32x4( u32x4( 1 , 2 , 3 , 4 ) > u32x4( 3 , 2 , 1 , 0 ) , u32x4( 0 , 0 , !0 , !0 ) ) ) ;
65
+
66
+ assert ! ( eq_i32x4( i32x4( 1 , 2 , 3 , 4 ) == i32x4( 3 , 2 , 1 , 0 ) , i32x4( 0 , !0 , 0 , 0 ) ) ) ;
67
+ assert ! ( eq_i32x4( i32x4( 1 , 2 , 3 , 4 ) != i32x4( 3 , 2 , 1 , 0 ) , i32x4( !0 , 0 , !0 , !0 ) ) ) ;
68
+ assert ! ( eq_i32x4( i32x4( 1 , 2 , 3 , 4 ) < i32x4( 3 , 2 , 1 , 0 ) , i32x4( !0 , 0 , 0 , 0 ) ) ) ;
69
+ assert ! ( eq_i32x4( i32x4( 1 , 2 , 3 , 4 ) <= i32x4( 3 , 2 , 1 , 0 ) , i32x4( !0 , !0 , 0 , 0 ) ) ) ;
70
+ assert ! ( eq_i32x4( i32x4( 1 , 2 , 3 , 4 ) >= i32x4( 3 , 2 , 1 , 0 ) , i32x4( 0 , !0 , !0 , !0 ) ) ) ;
71
+ assert ! ( eq_i32x4( i32x4( 1 , 2 , 3 , 4 ) > i32x4( 3 , 2 , 1 , 0 ) , i32x4( 0 , 0 , !0 , !0 ) ) ) ;
50
72
}
0 commit comments