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 }