88
88
QUnit . assert . deepEqual ( divideResult , [ 8 ] ) ;
89
89
} ) ;
90
90
91
- QUnit . test ( 'createKernelMap (cpu)' , function ( ) {
91
+ QUnit . test ( 'createKernelMap object 1 dimension 1 length (cpu)' , function ( ) {
92
92
var canvas = document . createElement ( 'canvas' ) ;
93
93
var gpu = new GPU ( { mode : 'cpu' , canvas : canvas } ) ;
94
94
var superKernel = createPropertyKernels ( gpu , [ 1 ] ) ;
95
+ var kernel = createKernel ( gpu , [ 1 ] ) ;
95
96
var output = superKernel ( [ 2 ] , [ 2 ] , [ 0.5 ] ) ;
96
97
var result = QUnit . extend ( [ ] , output . result ) ;
97
- var addResult = QUnit . extend ( [ ] , output . addResult ) ;
98
- var divideResult = QUnit . extend ( [ ] , output . divideResult ) ;
98
+ var addResult = QUnit . extend ( [ ] , kernel ( output . addResult ) ) ;
99
+ var divideResult = QUnit . extend ( [ ] , kernel ( output . divideResult ) ) ;
99
100
QUnit . assert . deepEqual ( result , [ 8 ] ) ;
100
101
QUnit . assert . deepEqual ( addResult , [ 4 ] ) ;
101
102
QUnit . assert . deepEqual ( divideResult , [ 8 ] ) ;
226
227
QUnit . assert . deepEqual ( divideResult , [ 2 , 2 , 2 , 2 , 2 ] ) ;
227
228
} ) ;
228
229
230
+ QUnit . test ( 'createKernelMap object 1 dimension 5 length (cpu)' , function ( ) {
231
+ var canvas = document . createElement ( 'canvas' ) ;
232
+ var gpu = new GPU ( { mode : 'cpu' , canvas : canvas } ) ;
233
+ var superKernel = createPropertyKernels ( gpu , [ 5 ] ) ;
234
+ var kernel = createKernel ( gpu , [ 5 ] ) ;
235
+ var output = superKernel ( [ 1 , 2 , 3 , 4 , 5 ] , [ 1 , 2 , 3 , 4 , 5 ] , [ 1 , 2 , 3 , 4 , 5 ] ) ;
236
+ var result = QUnit . extend ( [ ] , output . result ) ;
237
+ var addResult = QUnit . extend ( [ ] , kernel ( output . addResult ) ) ;
238
+ var divideResult = QUnit . extend ( [ ] , kernel ( output . divideResult ) ) ;
239
+ QUnit . assert . deepEqual ( result , [ 2 , 2 , 2 , 2 , 2 ] ) ;
240
+ QUnit . assert . deepEqual ( addResult , [ 2 , 4 , 6 , 8 , 10 ] ) ;
241
+ QUnit . assert . deepEqual ( divideResult , [ 2 , 2 , 2 , 2 , 2 ] ) ;
242
+ } ) ;
243
+
229
244
QUnit . test ( 'createKernelMap array (auto)' , function ( ) {
230
245
var canvas = document . createElement ( 'canvas' ) ;
231
246
var gpu = new GPU ( { mode : null , canvas : canvas } ) ;
294
309
QUnit . assert . deepEqual ( addResult , [ 2 , 4 , 6 , 8 , 10 ] ) ;
295
310
QUnit . assert . deepEqual ( divideResult , [ 2 , 2 , 2 , 2 , 2 ] ) ;
296
311
} ) ;
312
+
313
+ QUnit . test ( 'createKernelMap 3d (auto)' , function ( ) {
314
+ var kernel = new GPU ( ) . createKernelMap ( {
315
+ target : function saveTarget ( value ) {
316
+ return value ;
317
+ }
318
+ } , function ( value ) {
319
+ return saveTarget ( value ) ;
320
+ } ) . setOutput ( [ 3 , 3 , 3 ] ) ;
321
+ var result = kernel ( 1 ) ;
322
+ QUnit . assert . equal ( result . result . length , 3 ) ;
323
+ QUnit . assert . equal ( result . result [ 0 ] . length , 3 ) ;
324
+ QUnit . assert . equal ( result . result [ 0 ] [ 0 ] . length , 3 ) ;
325
+
326
+ QUnit . assert . equal ( result . target . length , 3 ) ;
327
+ QUnit . assert . equal ( result . target [ 0 ] . length , 3 ) ;
328
+ QUnit . assert . equal ( result . target [ 0 ] [ 0 ] . length , 3 ) ;
329
+ } ) ;
330
+
331
+ QUnit . test ( 'createKernelMap 3d (gpu)' , function ( ) {
332
+ var kernel = new GPU ( { mode : 'gpu' } ) . createKernelMap ( {
333
+ target : function saveTarget ( value ) {
334
+ return value ;
335
+ }
336
+ } , function ( value ) {
337
+ return saveTarget ( value ) ;
338
+ } ) . setOutput ( [ 3 , 3 , 3 ] ) ;
339
+ var result = kernel ( 1 ) ;
340
+ QUnit . assert . equal ( result . result . length , 3 ) ;
341
+ QUnit . assert . equal ( result . result [ 0 ] . length , 3 ) ;
342
+ QUnit . assert . equal ( result . result [ 0 ] [ 0 ] . length , 3 ) ;
343
+
344
+ QUnit . assert . equal ( result . target . length , 3 ) ;
345
+ QUnit . assert . equal ( result . target [ 0 ] . length , 3 ) ;
346
+ QUnit . assert . equal ( result . target [ 0 ] [ 0 ] . length , 3 ) ;
347
+ } ) ;
348
+
349
+ QUnit . test ( 'createKernelMap 3d (webgl)' , function ( ) {
350
+ var kernel = new GPU ( { mode : 'webgl' } ) . createKernelMap ( {
351
+ target : function saveTarget ( value ) {
352
+ return value ;
353
+ }
354
+ } , function ( value ) {
355
+ return saveTarget ( value ) ;
356
+ } ) . setOutput ( [ 3 , 3 , 3 ] ) ;
357
+ var result = kernel ( 1 ) ;
358
+ QUnit . assert . equal ( result . result . length , 3 ) ;
359
+ QUnit . assert . equal ( result . result [ 0 ] . length , 3 ) ;
360
+ QUnit . assert . equal ( result . result [ 0 ] [ 0 ] . length , 3 ) ;
361
+
362
+ QUnit . assert . equal ( result . target . length , 3 ) ;
363
+ QUnit . assert . equal ( result . target [ 0 ] . length , 3 ) ;
364
+ QUnit . assert . equal ( result . target [ 0 ] [ 0 ] . length , 3 ) ;
365
+ } ) ;
366
+
367
+ QUnit . test ( 'createKernelMap 3d (webgl2)' , function ( ) {
368
+ var kernel = new GPU ( { mode : 'webgl2' } ) . createKernelMap ( {
369
+ target : function saveTarget ( value ) {
370
+ return value ;
371
+ }
372
+ } , function ( value ) {
373
+ return saveTarget ( value ) ;
374
+ } ) . setOutput ( [ 3 , 3 , 3 ] ) ;
375
+ var result = kernel ( 1 ) ;
376
+ QUnit . assert . equal ( result . result . length , 3 ) ;
377
+ QUnit . assert . equal ( result . result [ 0 ] . length , 3 ) ;
378
+ QUnit . assert . equal ( result . result [ 0 ] [ 0 ] . length , 3 ) ;
379
+
380
+ QUnit . assert . equal ( result . target . length , 3 ) ;
381
+ QUnit . assert . equal ( result . target [ 0 ] . length , 3 ) ;
382
+ QUnit . assert . equal ( result . target [ 0 ] [ 0 ] . length , 3 ) ;
383
+ } ) ;
384
+
385
+ QUnit . test ( 'createKernelMap 3d (cpu)' , function ( ) {
386
+ var kernel = new GPU ( { mode : 'cpu' } ) . createKernelMap ( {
387
+ target : function saveTarget ( value ) {
388
+ return value ;
389
+ }
390
+ } , function ( value ) {
391
+ return saveTarget ( value ) ;
392
+ } ) . setOutput ( [ 3 , 3 , 3 ] ) ;
393
+ var result = kernel ( 1 ) ;
394
+ QUnit . assert . equal ( result . result . length , 3 ) ;
395
+ QUnit . assert . equal ( result . result [ 0 ] . length , 3 ) ;
396
+ QUnit . assert . equal ( result . result [ 0 ] [ 0 ] . length , 3 ) ;
397
+
398
+ QUnit . assert . equal ( result . target . length , 3 ) ;
399
+ QUnit . assert . equal ( result . target [ 0 ] . length , 3 ) ;
400
+ QUnit . assert . equal ( result . target [ 0 ] [ 0 ] . length , 3 ) ;
401
+ } ) ;
297
402
} ) ( ) ;
0 commit comments