1 // -Wall
2 #pragma version(1)
3 #pragma rs java_package_name(voidptr)
4 
5 // void is not a suitable accumulator data type or result type; and
6 // note that an input cannot be a pointer
7 
8 // accumulator must not be void
9 #pragma rs reduce(voidA) initializer(voidA_init) accumulator(voidA_accum) combiner(voidA_comb)
10 static void voidA_init(void *accum) { }
11 static void voidA_accum(void *accum, int val) { }
12 static void voidA_comb(void *accum, const void *other) { }
13 
14 // input must not be void*
15 #pragma rs reduce(voidI) accumulator(voidI_accum) combiner(voidI_comb)
16 static void voidI_accum(int *accum, void *val) { }
17 static void voidI_comb(int *accum, const int *other) { }
18 
19 // result type must not be void
20 #pragma rs reduce(voidO) accumulator(voidO_accum) outconverter(voidO_out)
21 static void voidO_accum(int *accum, int val) { }
22 static void voidO_out(void *out, const int *val) { }
23