(mode)
| 293 | }); |
| 294 | |
| 295 | function dynamicOutput2DKernelMapGrows(mode) { |
| 296 | const gpu = new GPU({ mode }); |
| 297 | const kernel = gpu.createKernelMap({ |
| 298 | result1: function map(v) { |
| 299 | return v; |
| 300 | } |
| 301 | }, function() { |
| 302 | return map(this.output.x + this.output.y + this.thread.x + this.thread.y); |
| 303 | }, { dynamicOutput: true }); |
| 304 | |
| 305 | kernel.setOutput([2,2]); |
| 306 | let result = kernel(); |
| 307 | assert.equal(result.result.length, 2); |
| 308 | assert.equal(result.result1.length, 2); |
| 309 | assert.deepEqual(result.result.map(row => Array.from(row)), [[4,5],[5,6]]); |
| 310 | assert.deepEqual(result.result1.map(row => Array.from(row)), [[4,5],[5,6]]); |
| 311 | assert.deepEqual(Array.from(kernel.output), [2,2]); |
| 312 | |
| 313 | kernel.setOutput([3,3]); |
| 314 | result = kernel(); |
| 315 | assert.equal(result.result.length, 3); |
| 316 | assert.equal(result.result1.length, 3); |
| 317 | assert.deepEqual(result.result.map(row => Array.from(row)), [[6,7,8],[7,8,9],[8,9,10]]); |
| 318 | assert.deepEqual(result.result1.map(row => Array.from(row)), [[6,7,8],[7,8,9],[8,9,10]]); |
| 319 | assert.deepEqual(Array.from(kernel.output), [3,3]); |
| 320 | |
| 321 | gpu.destroy(); |
| 322 | } |
| 323 | |
| 324 | test('dynamic output 2d kernel map grows auto', () => { |
| 325 | dynamicOutput2DKernelMapGrows(); |
no test coverage detected
searching dependent graphs…