(mode)
| 991 | }); |
| 992 | |
| 993 | function testSinglePrecisionArray(mode) { |
| 994 | const gpu = new GPU({ mode }); |
| 995 | const kernel = gpu.createKernel(function(input) { |
| 996 | return input[this.thread.x]; |
| 997 | }) |
| 998 | .setPrecision('single') |
| 999 | .setDynamicArguments(true) |
| 1000 | .setDynamicOutput(true) |
| 1001 | .setOutput([5]); |
| 1002 | |
| 1003 | assert.deepEqual(kernel([1,2,3,4,5]), new Float32Array([1,2,3,4,5])); |
| 1004 | kernel.setOutput([4]); |
| 1005 | assert.deepEqual(kernel([1,2,3,4]), new Float32Array([1,2,3,4])); |
| 1006 | kernel.setOutput([3]); |
| 1007 | assert.deepEqual(kernel([1,2,3]), new Float32Array([1,2,3])); |
| 1008 | kernel.setOutput([2]); |
| 1009 | assert.deepEqual(kernel([1,2]), new Float32Array([1,2])); |
| 1010 | gpu.destroy(); |
| 1011 | } |
| 1012 | |
| 1013 | (GPU.isSinglePrecisionSupported ? test : skip)('single precision Array auto', () => { |
| 1014 | testSinglePrecisionArray(); |
no test coverage detected
searching dependent graphs…