browser/devtools/tilt/test/browser_tilt_math04.js

branch
TOR_BUG_9701
changeset 11
deefc01c0e14
equal deleted inserted replaced
-1:000000000000 0:61c1f666a22c
1 /* Any copyright is dedicated to the Public Domain.
2 http://creativecommons.org/publicdomain/zero/1.0/ */
3 "use strict";
4
5 function test() {
6 let m1 = mat4.create();
7
8 ok(m1, "Should have created a matrix with mat4.create().");
9 is(m1.length, 16, "A mat4 should have 16 elements.");
10
11 ok(isApproxVec(m1, [1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1]),
12 "When created, a mat4 should have the values default to identity.");
13
14 mat4.set([1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16], m1);
15 ok(isApproxVec(m1, [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16]),
16 "The mat4.set() function didn't set the values correctly.");
17
18 mat4.transpose(m1);
19 ok(isApproxVec(m1, [1, 5, 9, 13, 2, 6, 10, 14, 3, 7, 11, 15, 4, 8, 12, 16]),
20 "The mat4.transpose() function didn't set the values correctly.");
21
22 mat4.identity(m1);
23 ok(isApproxVec(m1, [1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1]),
24 "The mat4.identity() function didn't set the values correctly.");
25
26 ok(isApprox(mat4.determinant(m1), 1),
27 "The mat4.determinant() function didn't calculate the value correctly.");
28
29 let m2 = mat4.inverse([1, 3, 1, 1, 1, 1, 2, 1, 2, 3, 4, 1, 1, 1, 1, 1]);
30 ok(isApproxVec(m2, [
31 -1, -3, 1, 3, 0.5, 0, 0, -0.5, 0, 1, 0, -1, 0.5, 2, -1, -0.5
32 ]), "The mat4.inverse() function didn't calculate the values correctly.");
33
34 let m3 = mat4.toRotationMat([
35 1, 5, 9, 13, 2, 6, 10, 14, 3, 7, 11, 15, 4, 8, 12, 16]);
36 ok(isApproxVec(m3, [
37 1, 5, 9, 13, 2, 6, 10, 14, 3, 7, 11, 15, 0, 0, 0, 1
38 ]), "The mat4.toRotationMat() func. didn't calculate the values correctly.");
39
40 let m4 = mat4.toMat3([
41 1, 5, 9, 13, 2, 6, 10, 14, 3, 7, 11, 15, 4, 8, 12, 16]);
42 ok(isApproxVec(m4, [1, 5, 9, 2, 6, 10, 3, 7, 11]),
43 "The mat4.toMat3() function didn't set the values correctly.");
44
45 let m5 = mat4.toInverseMat3([
46 1, 3, 1, 1, 1, 1, 2, 1, 2, 3, 4, 1, 1, 1, 1, 1]);
47 ok(isApproxVec(m5, [2, 9, -5, 0, -2, 1, -1, -3, 2]),
48 "The mat4.toInverseMat3() function didn't set the values correctly.");
49 }

mercurial