Merge remote-tracking branch 'webkit/main' into 2024-11-26_github_actions
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..8fe4c4f
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,6 @@
+.DS_Store
+.directory
+
+# Ignore auto-generated files by VS & VSCode.
+/.vs/
+/.vscode/
diff --git a/SunSpider/3d-cube.js b/SunSpider/3d-cube.js
index 9b9d898..5ca18ed 100644
--- a/SunSpider/3d-cube.js
+++ b/SunSpider/3d-cube.js
@@ -9,7 +9,6 @@
var I = new Array(); // entity matrix
var Origin = new Object();
var Testing = new Object();
- var LoopTimer;
var validation = {
20: 2889.0000000000045,
@@ -32,7 +31,7 @@
var x = x1;
var y = y1;
var IncX1, IncY1;
- var IncX2, IncY2;
+ var IncX2, IncY2;
var Den;
var Num;
var NumAdd;
@@ -84,13 +83,14 @@
}
function CalcNormal(V0, V1, V2) {
- var A = new Array(); var B = new Array();
+ var A = new Array();
+ var B = new Array();
for (var i = 0; i < 3; i++) {
A[i] = V0[i] - V1[i];
B[i] = V2[i] - V1[i];
}
A = CalcCross(A, B);
- var Length = Math.sqrt(A[0]*A[0] + A[1]*A[1] + A[2]*A[2]);
+ var Length = Math.sqrt(A[0]*A[0] + A[1]*A[1] + A[2]*A[2]);
for (var i = 0; i < 3; i++) A[i] = A[i] / Length;
A[3] = 1;
return A;
@@ -141,10 +141,10 @@
function Translate(M, Dx, Dy, Dz) {
var T = [
- [1,0,0,Dx],
- [0,1,0,Dy],
- [0,0,1,Dz],
- [0,0,0,1]
+ [1,0,0,Dx],
+ [0,1,0,Dy],
+ [0,0,1,Dz],
+ [0,0,0,1]
];
return MMulti(T, M);
}
@@ -155,10 +155,10 @@
var Cos = Math.cos(a);
var Sin = Math.sin(a);
var R = [
- [1,0,0,0],
- [0,Cos,-Sin,0],
- [0,Sin,Cos,0],
- [0,0,0,1]
+ [1,0,0,0],
+ [0,Cos,-Sin,0],
+ [0,Sin,Cos,0],
+ [0,0,0,1]
];
return MMulti(R, M);
}
@@ -169,10 +169,10 @@
var Cos = Math.cos(a);
var Sin = Math.sin(a);
var R = [
- [Cos,0,Sin,0],
- [0,1,0,0],
- [-Sin,0,Cos,0],
- [0,0,0,1]
+ [Cos,0,Sin,0],
+ [0,1,0,0],
+ [-Sin,0,Cos,0],
+ [0,0,0,1]
];
return MMulti(R, M);
}
@@ -183,10 +183,10 @@
var Cos = Math.cos(a);
var Sin = Math.sin(a);
var R = [
- [Cos,-Sin,0,0],
- [Sin,Cos,0,0],
- [0,0,1,0],
- [0,0,0,1]
+ [Cos,-Sin,0,0],
+ [Sin,Cos,0,0],
+ [0,0,1,0],
+ [0,0,0,1]
];
return MMulti(R, M);
}
@@ -270,28 +270,28 @@
// transformation matrix
MTrans = [
- [1,0,0,0],
- [0,1,0,0],
- [0,0,1,0],
- [0,0,0,1]
+ [1,0,0,0],
+ [0,1,0,0],
+ [0,0,1,0],
+ [0,0,0,1]
];
-
+
// position information of qube
MQube = [
- [1,0,0,0],
- [0,1,0,0],
- [0,0,1,0],
- [0,0,0,1]
+ [1,0,0,0],
+ [0,1,0,0],
+ [0,0,1,0],
+ [0,0,0,1]
];
-
+
// entity matrix
I = [
- [1,0,0,0],
- [0,1,0,0],
- [0,0,1,0],
- [0,0,0,1]
+ [1,0,0,0],
+ [0,1,0,0],
+ [0,0,1,0],
+ [0,0,0,1]
];
-
+
// create qube
Q[0] = new CreateP(-CubeSize,-CubeSize, CubeSize);
Q[1] = new CreateP(-CubeSize, CubeSize, CubeSize);
@@ -301,24 +301,25 @@
Q[5] = new CreateP(-CubeSize, CubeSize,-CubeSize);
Q[6] = new CreateP( CubeSize, CubeSize,-CubeSize);
Q[7] = new CreateP( CubeSize,-CubeSize,-CubeSize);
-
+
// center of gravity
Q[8] = new CreateP(0, 0, 0);
-
+
// anti-clockwise edge check
Q.Edge = [[0,1,2],[3,2,6],[7,6,5],[4,5,1],[4,0,3],[1,5,6]];
-
+
// calculate squad normals
Q.Normal = new Array();
for (var i = 0; i < Q.Edge.length; i++) Q.Normal[i] = CalcNormal(Q[Q.Edge[i][0]].V, Q[Q.Edge[i][1]].V, Q[Q.Edge[i][2]].V);
-
+
// line drawn ?
Q.Line = [false,false,false,false,false,false,false,false,false,false,false,false];
-
+
// create line pixels
Q.NumPx = 9 * 2 * CubeSize;
- for (var i = 0; i < Q.NumPx; i++) CreateP(0,0,0);
-
+ Q.LinePixels = new Array()
+ for (var i = 0; i < Q.NumPx; i++) Q.LinePixels.push(new CreateP(0,0,0));
+
MTrans = Translate(MTrans, Origin.V[0], Origin.V[1], Origin.V[2]);
MQube = MMulti(MTrans, MQube);
@@ -329,7 +330,7 @@
DrawQube();
Testing.Init = true;
Loop();
-
+
// Perform a simple sum-based verification.
var sum = 0;
for (var i = 0; i < Q.length; ++i) {
diff --git a/worker/bomb-subtests/3d-cube.js b/worker/bomb-subtests/3d-cube.js
index 6b0d49e..527fcaa 100644
--- a/worker/bomb-subtests/3d-cube.js
+++ b/worker/bomb-subtests/3d-cube.js
@@ -8,13 +8,12 @@
var I = new Array(); // entity matrix
var Origin = new Object();
var Testing = new Object();
-var LoopTimer;
var validation = {
- 20: 2889.0000000000045,
- 40: 2889.0000000000055,
- 80: 2889.000000000005,
- 160: 2889.0000000000055
+ 20: 2889.0000000000045,
+ 40: 2889.0000000000055,
+ 80: 2889.000000000005,
+ 160: 2889.0000000000055
};
var DisplArea = new Object();
@@ -31,7 +30,7 @@
var x = x1;
var y = y1;
var IncX1, IncY1;
- var IncX2, IncY2;
+ var IncX2, IncY2;
var Den;
var Num;
var NumAdd;
@@ -83,13 +82,14 @@
}
function CalcNormal(V0, V1, V2) {
- var A = new Array(); var B = new Array();
+ var A = new Array();
+ var B = new Array();
for (var i = 0; i < 3; i++) {
A[i] = V0[i] - V1[i];
B[i] = V2[i] - V1[i];
}
A = CalcCross(A, B);
- var Length = Math.sqrt(A[0]*A[0] + A[1]*A[1] + A[2]*A[2]);
+ var Length = Math.sqrt(A[0]*A[0] + A[1]*A[1] + A[2]*A[2]);
for (var i = 0; i < 3; i++) A[i] = A[i] / Length;
A[3] = 1;
return A;
@@ -140,10 +140,10 @@
function Translate(M, Dx, Dy, Dz) {
var T = [
- [1,0,0,Dx],
- [0,1,0,Dy],
- [0,0,1,Dz],
- [0,0,0,1]
+ [1,0,0,Dx],
+ [0,1,0,Dy],
+ [0,0,1,Dz],
+ [0,0,0,1]
];
return MMulti(T, M);
}
@@ -154,10 +154,10 @@
var Cos = Math.cos(a);
var Sin = Math.sin(a);
var R = [
- [1,0,0,0],
- [0,Cos,-Sin,0],
- [0,Sin,Cos,0],
- [0,0,0,1]
+ [1,0,0,0],
+ [0,Cos,-Sin,0],
+ [0,Sin,Cos,0],
+ [0,0,0,1]
];
return MMulti(R, M);
}
@@ -168,10 +168,10 @@
var Cos = Math.cos(a);
var Sin = Math.sin(a);
var R = [
- [Cos,0,Sin,0],
- [0,1,0,0],
- [-Sin,0,Cos,0],
- [0,0,0,1]
+ [Cos,0,Sin,0],
+ [0,1,0,0],
+ [-Sin,0,Cos,0],
+ [0,0,0,1]
];
return MMulti(R, M);
}
@@ -182,10 +182,10 @@
var Cos = Math.cos(a);
var Sin = Math.sin(a);
var R = [
- [Cos,-Sin,0,0],
- [Sin,Cos,0,0],
- [0,0,1,0],
- [0,0,0,1]
+ [Cos,-Sin,0,0],
+ [Sin,Cos,0,0],
+ [0,0,1,0],
+ [0,0,0,1]
];
return MMulti(R, M);
}
@@ -269,28 +269,28 @@
// transformation matrix
MTrans = [
- [1,0,0,0],
- [0,1,0,0],
- [0,0,1,0],
- [0,0,0,1]
+ [1,0,0,0],
+ [0,1,0,0],
+ [0,0,1,0],
+ [0,0,0,1]
];
-
+
// position information of qube
MQube = [
- [1,0,0,0],
- [0,1,0,0],
- [0,0,1,0],
- [0,0,0,1]
+ [1,0,0,0],
+ [0,1,0,0],
+ [0,0,1,0],
+ [0,0,0,1]
];
-
+
// entity matrix
I = [
- [1,0,0,0],
- [0,1,0,0],
- [0,0,1,0],
- [0,0,0,1]
+ [1,0,0,0],
+ [0,1,0,0],
+ [0,0,1,0],
+ [0,0,0,1]
];
-
+
// create qube
Q[0] = new CreateP(-CubeSize,-CubeSize, CubeSize);
Q[1] = new CreateP(-CubeSize, CubeSize, CubeSize);
@@ -300,24 +300,25 @@
Q[5] = new CreateP(-CubeSize, CubeSize,-CubeSize);
Q[6] = new CreateP( CubeSize, CubeSize,-CubeSize);
Q[7] = new CreateP( CubeSize,-CubeSize,-CubeSize);
-
+
// center of gravity
Q[8] = new CreateP(0, 0, 0);
-
+
// anti-clockwise edge check
Q.Edge = [[0,1,2],[3,2,6],[7,6,5],[4,5,1],[4,0,3],[1,5,6]];
-
+
// calculate squad normals
Q.Normal = new Array();
for (var i = 0; i < Q.Edge.length; i++) Q.Normal[i] = CalcNormal(Q[Q.Edge[i][0]].V, Q[Q.Edge[i][1]].V, Q[Q.Edge[i][2]].V);
-
+
// line drawn ?
Q.Line = [false,false,false,false,false,false,false,false,false,false,false,false];
-
+
// create line pixels
Q.NumPx = 9 * 2 * CubeSize;
- for (var i = 0; i < Q.NumPx; i++) CreateP(0,0,0);
-
+ Q.LinePixels = new Array()
+ for (var i = 0; i < Q.NumPx; i++) Q.LinePixels.push(new CreateP(0,0,0));
+
MTrans = Translate(MTrans, Origin.V[0], Origin.V[1], Origin.V[2]);
MQube = MMulti(MTrans, MQube);
@@ -328,7 +329,7 @@
DrawQube();
Testing.Init = true;
Loop();
-
+
// Perform a simple sum-based verification.
var sum = 0;
for (var i = 0; i < Q.length; ++i) {