@Test
public void testMinMax() {
try {
CLBuffer<Integer> input = context.createBuffer(CLMem.Usage.Input, pointerToInts(
1110, 22, 35535, 3, 1
), true);
int maxReductionSize = 2;
Pointer<Integer> result = allocateInt().order(context.getByteOrder());
Reductor<Integer> reductor = ReductionUtils.createReductor(context, ReductionUtils.Operation.Min, OpenCLType.Int, 1);
reductor.reduce(queue, input, input.getElementCount(), result, maxReductionSize);
queue.finish();
assertEquals(1, (int)result.get());
reductor = ReductionUtils.createReductor(context, ReductionUtils.Operation.Max, OpenCLType.Int, 1);
reductor.reduce(queue, input, input.getElementCount(), result, maxReductionSize);
queue.finish();
assertEquals(35535, (int)result.get());
} catch (Exception ex) {
ex.printStackTrace();
assertTrue(ex.toString(), false);
}
}