]> zoso.dev Git - libnemo.git/commitdiff
Substitute remaining SIGMA82 array lookups with literal values.
authorChris Duncan <chris@zoso.dev>
Mon, 6 Jan 2025 13:27:21 +0000 (05:27 -0800)
committerChris Duncan <chris@zoso.dev>
Mon, 6 Jan 2025 13:27:21 +0000 (05:27 -0800)
src/lib/workers/powgpu.ts

index e2656953469c81b58744ba9fc8a34cdf67949811..06e1340d39abd6a5daac448c1135c447991f65d7 100644 (file)
@@ -86,20 +86,6 @@ export class PowGpu extends WorkerInterface {
                *       28u,20u,8u,16u,18u,30u,26u,12u,2u,24u,0u,4u,22u,14u,10u,6u
                * );
                */
-               const SIGMA82: array<u32, 192> = array<u32, 192>(
-                       0u,2u,4u,6u,8u,10u,12u,14u,16u,18u,20u,22u,24u,26u,28u,30u,
-                       28u,20u,8u,16u,18u,30u,26u,12u,2u,24u,0u,4u,22u,14u,10u,6u,
-                       22u,16u,24u,0u,10u,4u,30u,26u,20u,28u,6u,12u,14u,2u,18u,8u,
-                       14u,18u,6u,2u,26u,24u,22u,28u,4u,12u,10u,20u,8u,0u,30u,16u,
-                       18u,0u,10u,14u,4u,8u,20u,30u,28u,2u,22u,24u,12u,16u,6u,26u,
-                       4u,24u,12u,20u,0u,22u,16u,6u,8u,26u,14u,10u,30u,28u,2u,18u,
-                       24u,10u,2u,30u,28u,26u,8u,20u,0u,14u,12u,6u,18u,4u,16u,22u,
-                       26u,22u,14u,28u,24u,2u,6u,18u,10u,0u,30u,8u,16u,12u,4u,20u,
-                       12u,30u,28u,18u,22u,6u,0u,16u,24u,4u,26u,14u,2u,8u,20u,10u,
-                       20u,4u,16u,8u,14u,12u,2u,10u,30u,22u,18u,28u,6u,24u,26u,0u,
-                       0u,2u,4u,6u,8u,10u,12u,14u,16u,18u,20u,22u,24u,26u,28u,30u,
-                       28u,20u,8u,16u,18u,30u,26u,12u,2u,24u,0u,4u,22u,14u,10u,6u
-               );
 
                /**
                * G Mixing function
@@ -306,14 +292,14 @@ export class PowGpu extends WorkerInterface {
                        G(&v, &m, 6u, 8u, 18u, 28u, 28u, 30u);
 
                        // ROUND(1)
-       G(&v, &m, 0u, 8u, 16u, 24u, 28u, 20u);
-         G(&v, &m, 2u, 10u, 18u, 26u, 8u, 16u);
-           G(&v, &m, 4u, 12u, 20u, 28u, 18u, 30u);
-       G(&v, &m, 6u, 14u, 22u, 30u, 26u, 12u);
-         G(&v, &m, 0u, 10u, 20u, 30u, 2u, 24u);
-           G(&v, &m, 2u, 12u, 22u, 24u, 0u, 4u);
-       G(&v, &m, 4u, 14u, 16u, 26u, 22u, 14u);
-           G(&v, &m, 6u, 8u, 18u, 28u, 10u, 6u);
+                       G(&v, &m, 0u, 8u, 16u, 24u, 28u, 20u);
+                       G(&v, &m, 2u, 10u, 18u, 26u, 8u, 16u);
+                       G(&v, &m, 4u, 12u, 20u, 28u, 18u, 30u);
+                       G(&v, &m, 6u, 14u, 22u, 30u, 26u, 12u);
+                       G(&v, &m, 0u, 10u, 20u, 30u, 2u, 24u);
+                       G(&v, &m, 2u, 12u, 22u, 24u, 0u, 4u);
+                       G(&v, &m, 4u, 14u, 16u, 26u, 22u, 14u);
+                       G(&v, &m, 6u, 8u, 18u, 28u, 10u, 6u);
 
                        // ROUND(2)
                        G(&v, &m, 0u, 8u, 16u, 24u, 22u, 16u);
@@ -355,89 +341,65 @@ export class PowGpu extends WorkerInterface {
                        G(&v, &m, 4u, 14u, 16u, 26u, 30u, 28u);
                        G(&v, &m, 6u, 8u, 18u, 28u, 2u, 18u);
 
-
-
-               // 96-111       24u,10u,2u,30u,28u,26u,8u,20u,0u,14u,12u,6u,18u,4u,16u,22u
-
                        // ROUND(6)
-                       G(&v, &m, 0u, 8u, 16u, 24u, SIGMA82[96u], SIGMA82[97u]);
-                       G(&v, &m, 2u, 10u, 18u, 26u, SIGMA82[98u], SIGMA82[99u]);
-                       G(&v, &m, 4u, 12u, 20u, 28u, SIGMA82[100u], SIGMA82[101u]);
-                       G(&v, &m, 6u, 14u, 22u, 30u, SIGMA82[102u], SIGMA82[103u]);
-                       G(&v, &m, 0u, 10u, 20u, 30u, SIGMA82[104u], SIGMA82[105u]);
-                       G(&v, &m, 2u, 12u, 22u, 24u, SIGMA82[106u], SIGMA82[107u]);
-                       G(&v, &m, 4u, 14u, 16u, 26u, SIGMA82[108u], SIGMA82[109u]);
-                       G(&v, &m, 6u, 8u, 18u, 28u, SIGMA82[110u], SIGMA82[111u]);
-
-
-
-               // 112-127      26u,22u,14u,28u,24u,2u,6u,18u,10u,0u,30u,8u,16u,12u,4u,20u
+                       G(&v, &m, 0u, 8u, 16u, 24u, 24u, 10u);
+                       G(&v, &m, 2u, 10u, 18u, 26u, 2u, 30u);
+                       G(&v, &m, 4u, 12u, 20u, 28u, 28u, 26u);
+                       G(&v, &m, 6u, 14u, 22u, 30u, 8u, 20u);
+                       G(&v, &m, 0u, 10u, 20u, 30u, 0u, 14u);
+                       G(&v, &m, 2u, 12u, 22u, 24u, 12u, 6u);
+                       G(&v, &m, 4u, 14u, 16u, 26u, 18u, 4u);
+                       G(&v, &m, 6u, 8u, 18u, 28u, 16u, 22u);
 
                        // ROUND(7)
-                       G(&v, &m, 0u, 8u, 16u, 24u, SIGMA82[112u], SIGMA82[113u]);
-                       G(&v, &m, 2u, 10u, 18u, 26u, SIGMA82[114u], SIGMA82[115u]);
-                       G(&v, &m, 4u, 12u, 20u, 28u, SIGMA82[116u], SIGMA82[117u]);
-                       G(&v, &m, 6u, 14u, 22u, 30u, SIGMA82[118u], SIGMA82[119u]);
-                       G(&v, &m, 0u, 10u, 20u, 30u, SIGMA82[120u], SIGMA82[121u]);
-                       G(&v, &m, 2u, 12u, 22u, 24u, SIGMA82[122u], SIGMA82[123u]);
-                       G(&v, &m, 4u, 14u, 16u, 26u, SIGMA82[124u], SIGMA82[125u]);
-                       G(&v, &m, 6u, 8u, 18u, 28u, SIGMA82[126u], SIGMA82[127u]);
-
-
-
-               // 128-143      12u,30u,28u,18u,22u,6u,0u,16u,24u,4u,26u,14u,2u,8u,20u,10u
+                       G(&v, &m, 0u, 8u, 16u, 24u, 26u, 22u);
+                       G(&v, &m, 2u, 10u, 18u, 26u, 14u, 28u);
+                       G(&v, &m, 4u, 12u, 20u, 28u, 24u, 2u);
+                       G(&v, &m, 6u, 14u, 22u, 30u, 6u, 18u);
+                       G(&v, &m, 0u, 10u, 20u, 30u, 10u, 0u);
+                       G(&v, &m, 2u, 12u, 22u, 24u, 30u, 8u);
+                       G(&v, &m, 4u, 14u, 16u, 26u, 16u, 12u);
+                       G(&v, &m, 6u, 8u, 18u, 28u, 4u, 20u);
 
                        // ROUND(8)
-                       G(&v, &m, 0u, 8u, 16u, 24u, SIGMA82[128u], SIGMA82[129u]);
-                       G(&v, &m, 2u, 10u, 18u, 26u, SIGMA82[130u], SIGMA82[131u]);
-                       G(&v, &m, 4u, 12u, 20u, 28u, SIGMA82[132u], SIGMA82[133u]);
-                       G(&v, &m, 6u, 14u, 22u, 30u, SIGMA82[134u], SIGMA82[135u]);
-                       G(&v, &m, 0u, 10u, 20u, 30u, SIGMA82[136u], SIGMA82[137u]);
-                       G(&v, &m, 2u, 12u, 22u, 24u, SIGMA82[138u], SIGMA82[139u]);
-                       G(&v, &m, 4u, 14u, 16u, 26u, SIGMA82[140u], SIGMA82[141u]);
-                       G(&v, &m, 6u, 8u, 18u, 28u, SIGMA82[142u], SIGMA82[143u]);
-
-
-
-               // 144-159      20u,4u,16u,8u,14u,12u,2u,10u,30u,22u,18u,28u,6u,24u,26u,0u
+                       G(&v, &m, 0u, 8u, 16u, 24u, 12u, 30u);
+                       G(&v, &m, 2u, 10u, 18u, 26u, 28u, 18u);
+                       G(&v, &m, 4u, 12u, 20u, 28u, 22u, 6u);
+                       G(&v, &m, 6u, 14u, 22u, 30u, 0u, 16u);
+                       G(&v, &m, 0u, 10u, 20u, 30u, 24u, 4u);
+                       G(&v, &m, 2u, 12u, 22u, 24u, 26u, 14u);
+                       G(&v, &m, 4u, 14u, 16u, 26u, 2u, 8u);
+                       G(&v, &m, 6u, 8u, 18u, 28u, 20u, 10u);
 
                        // ROUND(9)
-                       G(&v, &m, 0u, 8u, 16u, 24u, SIGMA82[144u], SIGMA82[145u]);
-                       G(&v, &m, 2u, 10u, 18u, 26u, SIGMA82[146u], SIGMA82[147u]);
-                       G(&v, &m, 4u, 12u, 20u, 28u, SIGMA82[148u], SIGMA82[149u]);
-                       G(&v, &m, 6u, 14u, 22u, 30u, SIGMA82[150u], SIGMA82[151u]);
-                       G(&v, &m, 0u, 10u, 20u, 30u, SIGMA82[152u], SIGMA82[153u]);
-                       G(&v, &m, 2u, 12u, 22u, 24u, SIGMA82[154u], SIGMA82[155u]);
-                       G(&v, &m, 4u, 14u, 16u, 26u, SIGMA82[156u], SIGMA82[157u]);
-                       G(&v, &m, 6u, 8u, 18u, 28u, SIGMA82[158u], SIGMA82[159u]);
-
-
-
-               // 160-175      0u,2u,4u,6u,8u,10u,12u,14u,16u,18u,20u,22u,24u,26u,28u,30u
+                       G(&v, &m, 0u, 8u, 16u, 24u, 20u, 4u);
+                       G(&v, &m, 2u, 10u, 18u, 26u, 16u, 8u);
+                       G(&v, &m, 4u, 12u, 20u, 28u, 14u, 12u);
+                       G(&v, &m, 6u, 14u, 22u, 30u, 2u, 10u);
+                       G(&v, &m, 0u, 10u, 20u, 30u, 30u, 22u);
+                       G(&v, &m, 2u, 12u, 22u, 24u, 18u, 28u);
+                       G(&v, &m, 4u, 14u, 16u, 26u, 6u, 24u);
+                       G(&v, &m, 6u, 8u, 18u, 28u, 26u, 0u);
 
                        // ROUND(10)
-                       G(&v, &m, 0u, 8u, 16u, 24u, SIGMA82[160u], SIGMA82[161u]);
-                       G(&v, &m, 2u, 10u, 18u, 26u, SIGMA82[162u], SIGMA82[163u]);
-                       G(&v, &m, 4u, 12u, 20u, 28u, SIGMA82[164u], SIGMA82[165u]);
-                       G(&v, &m, 6u, 14u, 22u, 30u, SIGMA82[166u], SIGMA82[167u]);
-                       G(&v, &m, 0u, 10u, 20u, 30u, SIGMA82[168u], SIGMA82[169u]);
-                       G(&v, &m, 2u, 12u, 22u, 24u, SIGMA82[170u], SIGMA82[171u]);
-                       G(&v, &m, 4u, 14u, 16u, 26u, SIGMA82[172u], SIGMA82[173u]);
-                       G(&v, &m, 6u, 8u, 18u, 28u, SIGMA82[174u], SIGMA82[175u]);
-
-
-
-               // 176-191      28u,20u,8u,16u,18u,30u,26u,12u,2u,24u,0u,4u,22u,14u,10u,6u
+                       G(&v, &m, 0u, 8u, 16u, 24u, 0u, 2u);
+                       G(&v, &m, 2u, 10u, 18u, 26u, 4u, 6u);
+                       G(&v, &m, 4u, 12u, 20u, 28u, 8u, 10u);
+                       G(&v, &m, 6u, 14u, 22u, 30u, 12u, 14u);
+                       G(&v, &m, 0u, 10u, 20u, 30u, 16u, 18u);
+                       G(&v, &m, 2u, 12u, 22u, 24u, 20u, 22u);
+                       G(&v, &m, 4u, 14u, 16u, 26u, 24u, 26u);
+                       G(&v, &m, 6u, 8u, 18u, 28u, 28u, 30u);
 
                        // ROUND(11)
-                       G(&v, &m, 0u, 8u, 16u, 24u, SIGMA82[176u], SIGMA82[177u]);
-                       G(&v, &m, 2u, 10u, 18u, 26u, SIGMA82[178u], SIGMA82[179u]);
-                       G(&v, &m, 4u, 12u, 20u, 28u, SIGMA82[180u], SIGMA82[181u]);
-                       G(&v, &m, 6u, 14u, 22u, 30u, SIGMA82[182u], SIGMA82[183u]);
-                       G(&v, &m, 0u, 10u, 20u, 30u, SIGMA82[184u], SIGMA82[185u]);
-                       G(&v, &m, 2u, 12u, 22u, 24u, SIGMA82[186u], SIGMA82[187u]);
-                       G(&v, &m, 4u, 14u, 16u, 26u, SIGMA82[188u], SIGMA82[189u]);
-                       G(&v, &m, 6u, 8u, 18u, 28u, SIGMA82[190u], SIGMA82[191u]);
+                       G(&v, &m, 0u, 8u, 16u, 24u, 28u, 20u);
+                       G(&v, &m, 2u, 10u, 18u, 26u, 8u, 16u);
+                       G(&v, &m, 4u, 12u, 20u, 28u, 18u, 30u);
+                       G(&v, &m, 6u, 14u, 22u, 30u, 26u, 12u);
+                       G(&v, &m, 0u, 10u, 20u, 30u, 2u, 24u);
+                       G(&v, &m, 2u, 12u, 22u, 24u, 0u, 4u);
+                       G(&v, &m, 4u, 14u, 16u, 26u, 22u, 14u);
+                       G(&v, &m, 6u, 8u, 18u, 28u, 10u, 6u);
 
                        /**
                        * Set nonce if it passes the threshold and no other thread has set it