(kernelString)
| 489 | } |
| 490 | |
| 491 | _resultImmutableKernel2DLoop(kernelString) { |
| 492 | const constructorString = this._getKernelResultTypeConstructorString(); |
| 493 | return ` const outputX = _this.output[0]; |
| 494 | const outputY = _this.output[1]; |
| 495 | const result = new Array(outputY); |
| 496 | ${ this._mapSubKernels(subKernel => `const result_${ subKernel.name } = new Array(outputY);\n`).join(' ') } |
| 497 | ${ this._mapSubKernels(subKernel => `let subKernelResult_${ subKernel.name };\n`).join(' ') } |
| 498 | for (let y = 0; y < outputY; y++) { |
| 499 | this.thread.z = 0; |
| 500 | this.thread.y = y; |
| 501 | const resultX = result[y] = new ${constructorString}(outputX); |
| 502 | ${ this._mapSubKernels(subKernel => `const resultX_${ subKernel.name } = result_${subKernel.name}[y] = new ${constructorString}(outputX);\n`).join('') } |
| 503 | for (let x = 0; x < outputX; x++) { |
| 504 | this.thread.x = x; |
| 505 | ${ kernelString } |
| 506 | } |
| 507 | }`; |
| 508 | } |
| 509 | |
| 510 | _mutableKernel2DResults() { |
| 511 | const constructorString = this._getKernelResultTypeConstructorString(); |
no test coverage detected