1 @Benchmark
2 public Object compress[[TEST_TYPE]][[OP_NAME]]() {
3 $type$[] a = fa.apply(size);
4 $type$[] r = fb.apply(size);
5 boolean[] ms = fmt.apply(size);
6 VectorMask<$Wideboxtype$> m = VectorMask.fromArray(SPECIES, ms, 0);
7
8 for (int ic = 0; ic < INVOC_COUNT; ic++) {
9 for (int i = 0; i < a.length; i += SPECIES.length()) {
10 $abstractvectortype$ av = $abstractvectortype$.fromArray(SPECIES, a, i);
11 av.compress(m).intoArray(r, i);
12 }
13 }
14
15 return r;
16 }
17
18 @Benchmark
19 public Object expand[[TEST_TYPE]][[OP_NAME]]() {
20 $type$[] a = fa.apply(size);
21 $type$[] r = fb.apply(size);
22 boolean[] ms = fmt.apply(size);
23 VectorMask<$Wideboxtype$> m = VectorMask.fromArray(SPECIES, ms, 0);
24
25 for (int ic = 0; ic < INVOC_COUNT; ic++) {
26 for (int i = 0; i < a.length; i += SPECIES.length()) {
27 $abstractvectortype$ av = $abstractvectortype$.fromArray(SPECIES, a, i);
28 av.expand(m).intoArray(r, i);
29 }
30 }
31
32 return r;
33 }
34
35 @Benchmark
36 public Object maskCompress[[TEST_TYPE]][[OP_NAME]]() {
37 boolean[] ms = fmt.apply(size);
38 boolean[] rs = fmt.apply(size);
39
40 for (int ic = 0; ic < INVOC_COUNT; ic++) {
41 for (int i = 0, j = 0; i < ms.length; i += SPECIES.length()) {
42 VectorMask<$Wideboxtype$> m = VectorMask.fromArray(SPECIES, ms, i);
43 m.compress().intoArray(rs, j);
44 j += m.trueCount();
45 }
46 }
47
48 return rs;
49 }