(mode)
| 95 | }); |
| 96 | |
| 97 | function dynamicOutput1DKernelMapGrows(mode) { |
| 98 | const gpu = new GPU({ mode }); |
| 99 | const kernel = gpu.createKernelMap({ |
| 100 | result2: function map(v) { |
| 101 | return v; |
| 102 | } |
| 103 | }, function() { |
| 104 | return map(this.output.x + this.thread.x); |
| 105 | }, { dynamicOutput: true }); |
| 106 | |
| 107 | kernel.setOutput([5]); |
| 108 | let result = kernel(); |
| 109 | assert.equal(result.result.length, 5); |
| 110 | assert.equal(result.result2.length, 5); |
| 111 | assert.deepEqual(Array.from(result.result), [5,6,7,8,9]); |
| 112 | assert.deepEqual(Array.from(result.result2), [5,6,7,8,9]); |
| 113 | assert.deepEqual(Array.from(kernel.output), [5]); |
| 114 | |
| 115 | kernel.setOutput([10]); |
| 116 | result = kernel(); |
| 117 | assert.equal(result.result.length, 10); |
| 118 | assert.equal(result.result2.length, 10); |
| 119 | assert.deepEqual(Array.from(result.result), [10,11,12,13,14,15,16,17,18,19]); |
| 120 | assert.deepEqual(Array.from(result.result2), [10,11,12,13,14,15,16,17,18,19]); |
| 121 | assert.deepEqual(Array.from(kernel.output), [10]); |
| 122 | |
| 123 | gpu.destroy(); |
| 124 | } |
| 125 | |
| 126 | test('dynamic output 1d kernel map grows auto', () => { |
| 127 | dynamicOutput1DKernelMapGrows(); |
no test coverage detected
searching dependent graphs…