Skip to content

Commit 952c0ab

Browse files
committed
Added nestedFunction test case
1 parent e94ed94 commit 952c0ab

5 files changed

Lines changed: 63 additions & 19 deletions

File tree

src/backend/functionNode.js

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -75,7 +75,7 @@ var functionNode = (function() {
7575
//
7676
// Setup the function name property
7777
//
78-
this.functionName = functionName || jsFunction.name;
78+
this.functionName = functionName || (jsFunction && jsFunction.name) || FUNCTION_NAME.exec(this.jsFunctionString)[1];
7979
if( !(this.functionName) ) {
8080
throw "jsFunction, missing name argument or value";
8181
}
@@ -146,6 +146,7 @@ var functionNode = (function() {
146146
return false;
147147
}
148148

149+
var FUNCTION_NAME = /function ([^(]*)/;
149150
var STRIP_COMMENTS = /((\/\/.*$)|(\/\*[\s\S]*?\*\/))/mg;
150151
var ARGUMENT_NAMES = /([^\s,]+)/g;
151152

test/html/hello-world.html

Lines changed: 0 additions & 15 deletions
This file was deleted.

test/html/nestedFunction.html

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
<!DOCTYPE html>
2+
<html>
3+
<head>
4+
<meta charset="utf-8">
5+
<title>GPU.JS : Nested Function</title>
6+
<link rel="stylesheet" href="../lib/qunit-1.20.0.css">
7+
8+
<!-- gpu.js scripts -->
9+
<script src="../../src/parser.js"></script>
10+
<script src="../../src/gpu.js"></script>
11+
<script src="../../src/backend/functionNode_webgl.js"></script>
12+
<script src="../../src/backend/functionNode.js"></script>
13+
<script src="../../src/backend/functionBuilder.js"></script>
14+
<script src="../../src/backend/glsl.js"></script>
15+
<script src="../../src/backend/fallback.js"></script>
16+
</head>
17+
<body>
18+
<div id="qunit"></div>
19+
<div id="qunit-fixture"></div>
20+
<script src="../lib/qunit-1.20.0.js"></script>
21+
<script src="../src/nestedFunction.js"></script>
22+
</body>
23+
</html>

test/src/hello-world.js

Lines changed: 0 additions & 3 deletions
This file was deleted.

test/src/nestedFunction.js

Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
function basic_sum_AB_test( assert, mode ) {
2+
var gpu = new GPU();
3+
4+
var f = gpu.createKernel(function(a, b) {
5+
function custom_adder(a,b) {
6+
return a+b;
7+
}
8+
9+
return custom_adder(a[this.thread.x], b[this.thread.x]);
10+
}, {
11+
dimensions : [6],
12+
mode : mode
13+
});
14+
15+
assert.ok( f !== null, "function generated test");
16+
17+
var a = [1, 2, 3, 5, 6, 7];
18+
var b = [4, 5, 6, 1, 2, 3];
19+
20+
var res = f(a,b);
21+
var exp = [5, 7, 9, 6, 8, 10];
22+
23+
for(var i = 0; i < exp.length; ++i) {
24+
QUnit.close(res[i], exp[i], 0.1, "Result arr idx: "+i);
25+
}
26+
}
27+
28+
QUnit.test( "basic_sum_AB (auto)", function( assert ) {
29+
basic_sum_AB_test(assert, null);
30+
});
31+
32+
QUnit.test( "basic_sum_AB (GPU)", function( assert ) {
33+
basic_sum_AB_test(assert, "gpu");
34+
});
35+
36+
QUnit.test( "basic_sum_AB (CPU)", function( assert ) {
37+
basic_sum_AB_test(assert, "cpu");
38+
});

0 commit comments

Comments
 (0)