| // -Wall -Werror |
| #pragma version(1) |
| #pragma rs java_package_name(reflect) |
| |
| // A few interesting reflection cases |
| |
| ////////////////////////////////////////////////////////////////// |
| |
| // A given result type should only be reflected once |
| |
| #pragma rs reduce(d1) accumulator(d1_accum) outconverter(d1_out) |
| static void d1_accum(float *accum, float val) { } |
| static void d1_out(double *out, const float *val) { } |
| |
| #pragma rs reduce(d2) accumulator(d2_accum) |
| static void d2_accum(double *accum, double val) { } |
| |
| ////////////////////////////////////////////////////////////////// |
| |
| // Arrays of different sizes are reflected separately |
| |
| #pragma rs reduce(a3) accumulator(a3_accum) combiner(a3_comb) |
| typedef int IntA3[3]; |
| static void a3_accum(IntA3 *accum, int val) { } |
| static void a3_comb(IntA3 *accum, const IntA3 *other) { } |
| |
| #pragma rs reduce(a7) accumulator(a7_accum) combiner(a7_comb) |
| typedef int IntA7[7]; |
| static void a7_accum(IntA7 *accum, int val) { } |
| static void a7_comb(IntA7 *accum, const IntA7 *other) { } |