Skip to content

Commit 0838fa8

Browse files
Merge pull request #367 from gpujs/359-addfunction-params-wrong
359 addfunction params wrong
2 parents e3d6d3b + ff88834 commit 0838fa8

File tree

9 files changed

+45
-13
lines changed

9 files changed

+45
-13
lines changed

bin/gpu-core.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,8 @@
44
*
55
* GPU Accelerated JavaScript
66
*
7-
* @version 1.8.0
8-
* @date Fri Sep 14 2018 11:50:25 GMT-0400 (EDT)
7+
* @version 1.8.1
8+
* @date Fri Sep 21 2018 06:53:44 GMT-0400 (EDT)
99
*
1010
* @license MIT
1111
* The MIT License

bin/gpu-core.min.js

Lines changed: 2 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

bin/gpu.js

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,8 @@
44
*
55
* GPU Accelerated JavaScript
66
*
7-
* @version 1.8.0
8-
* @date Fri Sep 14 2018 11:50:26 GMT-0400 (EDT)
7+
* @version 1.8.1
8+
* @date Fri Sep 21 2018 06:53:45 GMT-0400 (EDT)
99
*
1010
* @license MIT
1111
* The MIT License
@@ -1669,7 +1669,7 @@ module.exports = function () {
16691669
value: function getUserParamName(paramName) {
16701670
var paramIndex = this.paramNames.indexOf(paramName);
16711671
if (paramIndex === -1) return null;
1672-
if (!this.parent) return null;
1672+
if (!this.parent || !this.isSubKernel) return null;
16731673
var calledFunctionArguments = this.parent.calledFunctionsArguments[this.functionName];
16741674
for (var i = 0; i < calledFunctionArguments.length; i++) {
16751675
var calledFunctionArgument = calledFunctionArguments[i];

bin/gpu.min.js

Lines changed: 3 additions & 3 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

dist/backend/function-node-base.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -411,7 +411,7 @@ module.exports = function () {
411411
value: function getUserParamName(paramName) {
412412
var paramIndex = this.paramNames.indexOf(paramName);
413413
if (paramIndex === -1) return null;
414-
if (!this.parent) return null;
414+
if (!this.parent || !this.isSubKernel) return null;
415415
var calledFunctionArguments = this.parent.calledFunctionsArguments[this.functionName];
416416
for (var i = 0; i < calledFunctionArguments.length; i++) {
417417
var calledFunctionArgument = calledFunctionArguments[i];

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "gpu.js",
3-
"version": "1.8.0",
3+
"version": "1.8.1",
44
"description": "GPU Accelerated JavaScript",
55
"main": "./dist/index.js",
66
"directories": {

src/backend/function-node-base.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -394,7 +394,7 @@ module.exports = class BaseFunctionNode {
394394
getUserParamName(paramName) {
395395
const paramIndex = this.paramNames.indexOf(paramName);
396396
if (paramIndex === -1) return null;
397-
if (!this.parent) return null;
397+
if (!this.parent || !this.isSubKernel) return null;
398398
const calledFunctionArguments = this.parent.calledFunctionsArguments[this.functionName];
399399
for (let i = 0; i < calledFunctionArguments.length; i++) {
400400
const calledFunctionArgument = calledFunctionArguments[i];

test/all.html

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -81,5 +81,6 @@
8181
<script src="issues/346-uint8array-converted.js"></script>
8282
<script src="issues/349-division-by-factors-of-3.js"></script>
8383
<script src="issues/357-modulus-issue.js"></script>
84+
<script src="issues/359-addfunction-params-wrong.js"></script>
8485
</body>
8586
</html>
Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
(function() {
2+
function testAddFunctionKernel(mode) {
3+
var gpu = new GPU({mode});
4+
5+
gpu.addFunction(function clcC(xx) {
6+
return Math.abs(xx);
7+
});
8+
9+
gpu.addFunction(function itermediate(c1) {
10+
return clcC(c1);
11+
});
12+
13+
const nestFunctionsKernel = gpu.createKernel(function() {
14+
return itermediate(-1);
15+
}, {
16+
output: [1]
17+
});
18+
19+
QUnit.assert.equal(nestFunctionsKernel()[0], 1);
20+
21+
gpu.destroy();
22+
}
23+
24+
QUnit.test('Issue #359 - addFunction calls addFunction issue (webgl)', function() {
25+
testAddFunctionKernel('webgl')
26+
});
27+
28+
QUnit.test('Issue #359 - addFunction calls addFunction issue (webgl2)', function() {
29+
testAddFunctionKernel('webgl2')
30+
})
31+
})();

0 commit comments

Comments
 (0)