gpu.js/test/issues/91-create-kernel-map-array.js
Robert Plummer 01a18acbdb Minor cleanup
Removal of unused methods and properties, and a doc cleanup.
Version bump
2018-07-11 16:06:25 -04:00

59 lines
1.8 KiB
JavaScript

(function () {
function getResult(mode) {
var A = [
[1, 2],
[3, 4],
[5, 6]
];
var B = [
[6, 5, 4],
[3, 2, 1]
];
var gpu = new GPU({ mode: mode });
function multiply(b, a, y, x) {
var sum = 0;
for (var i = 0; i < 2; i++) {
sum += b[y][i] * a[i][x];
}
return sum;
}
var kernels = gpu.createKernelMap({
multiplyResult: multiply
}, function (a, b) {
return multiply(b, a, this.thread.y, this.thread.x);
})
.setOutput([2, 2]);
return kernels(A, B).result;
}
QUnit.test( "Issue #91 - type detection (auto)", function() {
var result = getResult();
QUnit.assert.deepEqual(QUnit.extend([], result[0]), [21,32]);
QUnit.assert.deepEqual(QUnit.extend([], result[1]), [9,14]);
});
QUnit.test( "Issue #91 - type detection (gpu)", function() {
var result = getResult('gpu');
QUnit.assert.deepEqual(QUnit.extend([], result[0]), [21,32]);
QUnit.assert.deepEqual(QUnit.extend([], result[1]), [9,14]);
});
QUnit.test( "Issue #91 - type detection (webgl)", function() {
var result = getResult('webgl');
QUnit.assert.deepEqual(QUnit.extend([], result[0]), [21,32]);
QUnit.assert.deepEqual(QUnit.extend([], result[1]), [9,14]);
});
QUnit.test( "Issue #91 - type detection (webgl2)", function() {
var result = getResult('webgl2');
QUnit.assert.deepEqual(QUnit.extend([], result[0]), [21,32]);
QUnit.assert.deepEqual(QUnit.extend([], result[1]), [9,14]);
});
QUnit.test( "Issue #91 - type detection (cpu)", function() {
var result = getResult('cpu');
console.log(result);
QUnit.assert.deepEqual(QUnit.extend([], result[0]), [21,32]);
QUnit.assert.deepEqual(QUnit.extend([], result[1]), [9,14]);
});
})();