]> zoso.dev Git - libnemo.git/commitdiff
Restore SIGMA82 definition until substitution is complete. Substitute array indexes...
authorChris Duncan <chris@zoso.dev>
Mon, 6 Jan 2025 00:25:19 +0000 (16:25 -0800)
committerChris Duncan <chris@zoso.dev>
Mon, 6 Jan 2025 00:25:19 +0000 (16:25 -0800)
src/lib/workers/powgpu.ts

index 87ca02f454421f325251c3637cd7d7f5e3bfba86..e2656953469c81b58744ba9fc8a34cdf67949811 100644 (file)
@@ -86,6 +86,20 @@ 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
@@ -281,7 +295,6 @@ export class PowGpu extends WorkerInterface {
                        /**
                        * Twelve rounds of mixing as part of BLAKE2b compression step
                        */
-               // 0-15         20u,22u,24u,26u,28u,30u
                        // ROUND(0)
                        G(&v, &m, 0u, 8u, 16u, 24u, 0u, 2u);
                        G(&v, &m, 2u, 10u, 18u, 26u, 4u, 6u);
@@ -289,76 +302,58 @@ export class PowGpu extends WorkerInterface {
                        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, SIGMA82[12u], SIGMA82[13u]);
-                       G(&v, &m, 6u, 8u, 18u, 28u, SIGMA82[14u], SIGMA82[15u]);
-
-               // 16-31        28u,20u,8u,16u,18u,30u,26u,12u,2u,24u,0u,4u,22u,14u,10u,6u
+                       G(&v, &m, 4u, 14u, 16u, 26u, 24u, 26u);
+                       G(&v, &m, 6u, 8u, 18u, 28u, 28u, 30u);
 
                        // ROUND(1)
-       G(&v, &m, 0u, 8u, 16u, 24u, SIGMA82[16u], SIGMA82[17u]);
-         G(&v, &m, 2u, 10u, 18u, 26u, SIGMA82[18u], SIGMA82[19u]);
-           G(&v, &m, 4u, 12u, 20u, 28u, SIGMA82[20u], SIGMA82[21u]);
-       G(&v, &m, 6u, 14u, 22u, 30u, SIGMA82[22u], SIGMA82[23u]);
-         G(&v, &m, 0u, 10u, 20u, 30u, SIGMA82[24u], SIGMA82[25u]);
-           G(&v, &m, 2u, 12u, 22u, 24u, SIGMA82[26u], SIGMA82[27u]);
-       G(&v, &m, 4u, 14u, 16u, 26u, SIGMA82[28u], SIGMA82[29u]);
-           G(&v, &m, 6u, 8u, 18u, 28u, SIGMA82[30u], SIGMA82[31u]);
-
-
-               // 32-47        22u,16u,24u,0u,10u,4u,30u,26u,20u,28u,6u,12u,14u,2u,18u,8u
+       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, SIGMA82[32u], SIGMA82[33u]);
-                       G(&v, &m, 2u, 10u, 18u, 26u, SIGMA82[34u], SIGMA82[35u]);
-                       G(&v, &m, 4u, 12u, 20u, 28u, SIGMA82[36u], SIGMA82[37u]);
-                       G(&v, &m, 6u, 14u, 22u, 30u, SIGMA82[38u], SIGMA82[39u]);
-                       G(&v, &m, 0u, 10u, 20u, 30u, SIGMA82[40u], SIGMA82[41u]);
-                       G(&v, &m, 2u, 12u, 22u, 24u, SIGMA82[42u], SIGMA82[43u]);
-                       G(&v, &m, 4u, 14u, 16u, 26u, SIGMA82[44u], SIGMA82[45u]);
-                       G(&v, &m, 6u, 8u, 18u, 28u, SIGMA82[46u], SIGMA82[47u]);
-
-
-
-
-               // 48-63        14u,18u,6u,2u,26u,24u,22u,28u,4u,12u,10u,20u,8u,0u,30u,16u
+                       G(&v, &m, 0u, 8u, 16u, 24u, 22u, 16u);
+                       G(&v, &m, 2u, 10u, 18u, 26u, 24u, 0u);
+                       G(&v, &m, 4u, 12u, 20u, 28u, 10u, 4u);
+                       G(&v, &m, 6u, 14u, 22u, 30u, 30u, 26u);
+                       G(&v, &m, 0u, 10u, 20u, 30u, 20u, 28u);
+                       G(&v, &m, 2u, 12u, 22u, 24u, 6u, 12u);
+                       G(&v, &m, 4u, 14u, 16u, 26u, 14u, 2u);
+                       G(&v, &m, 6u, 8u, 18u, 28u, 18u, 8u);
 
                        // ROUND(3)
-                       G(&v, &m, 0u, 8u, 16u, 24u, SIGMA82[48u], SIGMA82[49u]);
-                       G(&v, &m, 2u, 10u, 18u, 26u, SIGMA82[50u], SIGMA82[51u]);
-                       G(&v, &m, 4u, 12u, 20u, 28u, SIGMA82[52u], SIGMA82[53u]);
-                       G(&v, &m, 6u, 14u, 22u, 30u, SIGMA82[54u], SIGMA82[55u]);
-                       G(&v, &m, 0u, 10u, 20u, 30u, SIGMA82[56u], SIGMA82[57u]);
-                       G(&v, &m, 2u, 12u, 22u, 24u, SIGMA82[58u], SIGMA82[59u]);
-                       G(&v, &m, 4u, 14u, 16u, 26u, SIGMA82[60u], SIGMA82[61u]);
-                       G(&v, &m, 6u, 8u, 18u, 28u, SIGMA82[62u], SIGMA82[63u]);
-
-
-
-               // 64-79        18u,0u,10u,14u,4u,8u,20u,30u,28u,2u,22u,24u,12u,16u,6u,26u
+                       G(&v, &m, 0u, 8u, 16u, 24u, 14u, 18u);
+                       G(&v, &m, 2u, 10u, 18u, 26u, 6u, 2u);
+                       G(&v, &m, 4u, 12u, 20u, 28u, 26u, 24u);
+                       G(&v, &m, 6u, 14u, 22u, 30u, 22u, 28u);
+                       G(&v, &m, 0u, 10u, 20u, 30u, 4u, 12u);
+                       G(&v, &m, 2u, 12u, 22u, 24u, 10u, 20u);
+                       G(&v, &m, 4u, 14u, 16u, 26u, 8u, 0u);
+                       G(&v, &m, 6u, 8u, 18u, 28u, 30u, 16u);
 
                        // ROUND(4)
-                       G(&v, &m, 0u, 8u, 16u, 24u, SIGMA82[64u], SIGMA82[65u]);
-                       G(&v, &m, 2u, 10u, 18u, 26u, SIGMA82[66u], SIGMA82[67u]);
-                       G(&v, &m, 4u, 12u, 20u, 28u, SIGMA82[68u], SIGMA82[69u]);
-                       G(&v, &m, 6u, 14u, 22u, 30u, SIGMA82[70u], SIGMA82[71u]);
-                       G(&v, &m, 0u, 10u, 20u, 30u, SIGMA82[72u], SIGMA82[73u]);
-                       G(&v, &m, 2u, 12u, 22u, 24u, SIGMA82[74u], SIGMA82[75u]);
-                       G(&v, &m, 4u, 14u, 16u, 26u, SIGMA82[76u], SIGMA82[77u]);
-                       G(&v, &m, 6u, 8u, 18u, 28u, SIGMA82[78u], SIGMA82[79u]);
-
-
-
-               // 80-95        4u,24u,12u,20u,0u,22u,16u,6u,8u,26u,14u,10u,30u,28u,2u,18u
+                       G(&v, &m, 0u, 8u, 16u, 24u, 18u, 0u);
+                       G(&v, &m, 2u, 10u, 18u, 26u, 10u, 14u);
+                       G(&v, &m, 4u, 12u, 20u, 28u, 4u, 8u);
+                       G(&v, &m, 6u, 14u, 22u, 30u, 20u, 30u);
+                       G(&v, &m, 0u, 10u, 20u, 30u, 28u, 2u);
+                       G(&v, &m, 2u, 12u, 22u, 24u, 22u, 24u);
+                       G(&v, &m, 4u, 14u, 16u, 26u, 12u, 16u);
+                       G(&v, &m, 6u, 8u, 18u, 28u, 6u, 26u);
 
                        // ROUND(5)
-                       G(&v, &m, 0u, 8u, 16u, 24u, SIGMA82[80u], SIGMA82[81u]);
-                       G(&v, &m, 2u, 10u, 18u, 26u, SIGMA82[82u], SIGMA82[83u]);
-                       G(&v, &m, 4u, 12u, 20u, 28u, SIGMA82[84u], SIGMA82[85u]);
-                       G(&v, &m, 6u, 14u, 22u, 30u, SIGMA82[86u], SIGMA82[87u]);
-                       G(&v, &m, 0u, 10u, 20u, 30u, SIGMA82[88u], SIGMA82[89u]);
-                       G(&v, &m, 2u, 12u, 22u, 24u, SIGMA82[90u], SIGMA82[91u]);
-                       G(&v, &m, 4u, 14u, 16u, 26u, SIGMA82[92u], SIGMA82[93u]);
-                       G(&v, &m, 6u, 8u, 18u, 28u, SIGMA82[94u], SIGMA82[95u]);
+                       G(&v, &m, 0u, 8u, 16u, 24u, 4u, 24u);
+                       G(&v, &m, 2u, 10u, 18u, 26u, 12u, 20u);
+                       G(&v, &m, 4u, 12u, 20u, 28u, 0u, 22u);
+                       G(&v, &m, 6u, 14u, 22u, 30u, 16u, 6u);
+                       G(&v, &m, 0u, 10u, 20u, 30u, 8u, 26u);
+                       G(&v, &m, 2u, 12u, 22u, 24u, 14u, 10u);
+                       G(&v, &m, 4u, 14u, 16u, 26u, 30u, 28u);
+                       G(&v, &m, 6u, 8u, 18u, 28u, 2u, 18u);