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)
10static void voidA_init(void *accum) { }
11static void voidA_accum(void *accum, int val) { }
12static 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)
16static void voidI_accum(int *accum, void *val) { }
17static 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)
21static void voidO_accum(int *accum, int val) { }
22static void voidO_out(void *out, const int *val) { }
23