public Pointer<T> transform(CLQueue queue, Pointer<T> in, boolean inverse) { long inputSize = (int)in.getValidElements(); long length = inputSize / 2; CLBuffer<T> inBuf = context.createBuffer(CLMem.Usage.Input, in, true); // true = copy CLBuffer<T> outBuf = context.createBuffer(CLMem.Usage.Output, primitiveClass, computeOutputSize(inputSize)); CLEvent dftEvt = transform(queue, inBuf, outBuf, inverse); inBuf.release(); Pointer<T> out = outBuf.read(queue, dftEvt); outBuf.release(); return out; }
public A transform(CLQueue queue, A input, boolean inverse) { return (A)transform(queue, (Pointer<T>)pointerToArray(input), inverse).getArray(); } public Pointer<T> transform(CLQueue queue, Pointer<T> in, boolean inverse) {
public A transform(CLQueue queue, A input, boolean inverse) { return (A)transform(queue, (Pointer<T>)pointerToArray(input), inverse).getArray(); } public Pointer<T> transform(CLQueue queue, Pointer<T> in, boolean inverse) {
public Pointer<T> transform(CLQueue queue, Pointer<T> in, boolean inverse) { long inputSize = (int)in.getValidElements(); long length = inputSize / 2; CLBuffer<T> inBuf = context.createBuffer(CLMem.Usage.Input, in, true); // true = copy CLBuffer<T> outBuf = context.createBuffer(CLMem.Usage.Output, primitiveClass, computeOutputSize(inputSize)); CLEvent dftEvt = transform(queue, inBuf, outBuf, inverse); inBuf.release(); Pointer<T> out = outBuf.read(queue, dftEvt); outBuf.release(); return out; }