1 
 2     static boolean test[[TEST]]($type$ a) {
 3         return [[TEST_OP]];
 4     }
 5 
 6     @Test(dataProvider = "$type$TestOpProvider")
 7     static void [[TEST]]$vectorteststype$(IntFunction<$type$[]> fa) {
 8         $type$[] a = fa.apply(SPECIES.length());
 9 
10         for (int ic = 0; ic < INVOC_COUNT; ic++) {
11             for (int i = 0; i < a.length; i += SPECIES.length()) {
12                 $abstractvectortype$ av = $abstractvectortype$.fromArray(SPECIES, a, i);
13                 VectorMask<$Wideboxtype$> mv = av.test(VectorOperators.[[TEST]]);
14 
15                 // Check results as part of computation.
16                 for (int j = 0; j < SPECIES.length(); j++) {
17                     Assert.assertEquals(mv.laneIsSet(j), test[[TEST]](a[i + j]));
18                 }
19             }
20         }
21     }
22 
23     @Test(dataProvider = "$type$TestOpMaskProvider")
24     static void [[TEST]]Masked$vectorteststype$(IntFunction<$type$[]> fa,
25                                           IntFunction<boolean[]> fm) {
26         $type$[] a = fa.apply(SPECIES.length());
27         boolean[] mask = fm.apply(SPECIES.length());
28         VectorMask<$Wideboxtype$> vmask = VectorMask.fromArray(SPECIES, mask, 0);
29 
30         for (int ic = 0; ic < INVOC_COUNT; ic++) {
31             for (int i = 0; i < a.length; i += SPECIES.length()) {
32                 $abstractvectortype$ av = $abstractvectortype$.fromArray(SPECIES, a, i);
33                 VectorMask<$Wideboxtype$> mv = av.test(VectorOperators.[[TEST]], vmask);
34 
35                 // Check results as part of computation.
36                 for (int j = 0; j < SPECIES.length(); j++) {
37                     Assert.assertEquals(mv.laneIsSet(j),  vmask.laneIsSet(j) && test[[TEST]](a[i + j]));
38                 }
39             }
40         }
41     }
--- EOF ---