@@ -7,17 +7,17 @@ use wasm_bindgen_test::*;
7
7
wasm_bindgen_test_configure ! ( run_in_browser) ;
8
8
9
9
macro_rules! test_mask_api {
10
- { $name : ident } => {
10
+ { $type : ident } => {
11
11
#[ allow( non_snake_case) ]
12
- mod $name {
12
+ mod $type {
13
13
#[ cfg( target_arch = "wasm32" ) ]
14
14
use wasm_bindgen_test:: * ;
15
15
16
16
#[ test]
17
17
#[ cfg_attr( target_arch = "wasm32" , wasm_bindgen_test) ]
18
18
fn set_and_test( ) {
19
19
let values = [ true , false , false , true , false , false , true , false ] ;
20
- let mut mask = core_simd:: $name :: <8 >:: splat( false ) ;
20
+ let mut mask = core_simd:: Mask :: <$type , 8 >:: splat( false ) ;
21
21
for ( lane, value) in values. iter( ) . copied( ) . enumerate( ) {
22
22
mask. set( lane, value) ;
23
23
}
@@ -29,43 +29,43 @@ macro_rules! test_mask_api {
29
29
#[ test]
30
30
#[ should_panic]
31
31
fn set_invalid_lane( ) {
32
- let mut mask = core_simd:: $name :: <8 >:: splat( false ) ;
32
+ let mut mask = core_simd:: Mask :: <$type , 8 >:: splat( false ) ;
33
33
mask. set( 8 , true ) ;
34
34
let _ = mask;
35
35
}
36
36
37
37
#[ test]
38
38
#[ should_panic]
39
39
fn test_invalid_lane( ) {
40
- let mask = core_simd:: $name :: <8 >:: splat( false ) ;
40
+ let mask = core_simd:: Mask :: <$type , 8 >:: splat( false ) ;
41
41
let _ = mask. test( 8 ) ;
42
42
}
43
43
44
44
#[ test]
45
45
fn any( ) {
46
- assert!( !core_simd:: $name :: <8 >:: splat( false ) . any( ) ) ;
47
- assert!( core_simd:: $name :: <8 >:: splat( true ) . any( ) ) ;
48
- let mut v = core_simd:: $name :: <8 >:: splat( false ) ;
46
+ assert!( !core_simd:: Mask :: <$type , 8 >:: splat( false ) . any( ) ) ;
47
+ assert!( core_simd:: Mask :: <$type , 8 >:: splat( true ) . any( ) ) ;
48
+ let mut v = core_simd:: Mask :: <$type , 8 >:: splat( false ) ;
49
49
v. set( 2 , true ) ;
50
50
assert!( v. any( ) ) ;
51
51
}
52
52
53
53
#[ test]
54
54
fn all( ) {
55
- assert!( !core_simd:: $name :: <8 >:: splat( false ) . all( ) ) ;
56
- assert!( core_simd:: $name :: <8 >:: splat( true ) . all( ) ) ;
57
- let mut v = core_simd:: $name :: <8 >:: splat( false ) ;
55
+ assert!( !core_simd:: Mask :: <$type , 8 >:: splat( false ) . all( ) ) ;
56
+ assert!( core_simd:: Mask :: <$type , 8 >:: splat( true ) . all( ) ) ;
57
+ let mut v = core_simd:: Mask :: <$type , 8 >:: splat( false ) ;
58
58
v. set( 2 , true ) ;
59
59
assert!( !v. all( ) ) ;
60
60
}
61
61
62
62
#[ test]
63
63
fn roundtrip_int_conversion( ) {
64
64
let values = [ true , false , false , true , false , false , true , false ] ;
65
- let mask = core_simd:: $name :: <8 >:: from_array( values) ;
65
+ let mask = core_simd:: Mask :: <$type , 8 >:: from_array( values) ;
66
66
let int = mask. to_int( ) ;
67
67
assert_eq!( int. to_array( ) , [ -1 , 0 , 0 , -1 , 0 , 0 , -1 , 0 ] ) ;
68
- assert_eq!( core_simd:: $name :: <8 >:: from_int( int) , mask) ;
68
+ assert_eq!( core_simd:: Mask :: <$type , 8 >:: from_int( int) , mask) ;
69
69
}
70
70
71
71
#[ test]
@@ -74,24 +74,24 @@ macro_rules! test_mask_api {
74
74
true , false , false , true , false , false , true , false ,
75
75
true , true , false , false , false , false , false , true ,
76
76
] ;
77
- let mask = core_simd:: $name :: <16 >:: from_array( values) ;
77
+ let mask = core_simd:: Mask :: <$type , 16 >:: from_array( values) ;
78
78
let bitmask = mask. to_bitmask( ) ;
79
79
assert_eq!( bitmask, [ 0b01001001 , 0b10000011 ] ) ;
80
- assert_eq!( core_simd:: $name :: <16 >:: from_bitmask( bitmask) , mask) ;
80
+ assert_eq!( core_simd:: Mask :: <$type , 16 >:: from_bitmask( bitmask) , mask) ;
81
81
}
82
82
}
83
83
}
84
84
}
85
85
86
86
mod mask_api {
87
- test_mask_api ! { Mask8 }
87
+ test_mask_api ! { i8 }
88
88
}
89
89
90
90
#[ test]
91
91
fn convert ( ) {
92
92
let values = [ true , false , false , true , false , false , true , false ] ;
93
93
assert_eq ! (
94
- core_simd:: Mask8 :: from_array( values) ,
95
- core_simd:: Mask32 :: from_array( values) . into( )
94
+ core_simd:: Mask :: < i8 , 8 > :: from_array( values) ,
95
+ core_simd:: Mask :: < i32 , 8 > :: from_array( values) . into( )
96
96
) ;
97
97
}
0 commit comments