]> zoso.dev Git - nano-pow.git/commitdiff
Reduce compute shader file size by shrinking doc comments.
authorChris Duncan <chris@zoso.dev>
Tue, 22 Apr 2025 20:48:42 +0000 (13:48 -0700)
committerChris Duncan <chris@zoso.dev>
Tue, 22 Apr 2025 20:48:42 +0000 (13:48 -0700)
src/lib/gpu/compute.wgsl

index 17d22984faebe69ff6f5c6d87e1f7d7c62382373..ba1450190af3d16f1ce2216ff18568dfe4e3bf51 100644 (file)
@@ -248,316 +248,181 @@ fn main(id: vec3<u32>, validate: bool) {
        * due to the lack of both a native rotate function and 64-bit support in WGSL.
        */
 
-       /****************************************************************************
-       *                                                                                                                               ROUND(0)                                                                                                                                        *
-       ****************************************************************************/
-
        /**
-       * r=0, i=0, a=v[0], b=v[4], c=v[8], d=v[12], m[sigma]=0, m[sigma+1]=1
-       * r=0, i=1, a=v[1], b=v[5], c=v[9], d=v[13], m[sigma]=2, m[sigma+1]=3
-       * r=0, i=2, a=v[2], b=v[6], c=v[10], d=v[14], m[sigma]=4, m[sigma+1]=5
-       * r=0, i=3, a=v[3], b=v[7], c=v[11], d=v[15], m[sigma]=6, m[sigma+1]=7
+       * ROUND(0)
+       * m[sigma]=(0,1),(2,3),(4,5),(6,7)
+       * m[sigma]=(8,9),(10,11),(12,13),(14,15)
        */
        G(&v0, &v4, &v8, &vC, m0, m1);
        G(&v1, &v5, &v9, &vD, m2, m3);
        G(&v2, &v6, &vA, &vE, m4, Z);
        G(&v3, &v7, &vB, &vF, Z, Z);
 
-       /**
-       * r=0, i=4, a=v[0], b=v[5], c=v[10], d=v[15], m[sigma]=8, m[sigma+1]=9
-       * r=0, i=5, a=v[1], b=v[6], c=v[11], d=v[12], m[sigma]=10, m[sigma+1]=11
-       * r=0, i=6, a=v[2], b=v[7], c=v[8], d=v[13], m[sigma]=12, m[sigma+1]=13
-       * r=0, i=7, a=v[3], b=v[4], c=v[9], d=v[14], m[sigma]=14, m[sigma+1]=15
-       */
        G(&v0, &v5, &vA, &vF, Z, Z);
        G(&v1, &v6, &vB, &vC, Z, Z);
        G(&v2, &v7, &v8, &vD, Z, Z);
        G(&v3, &v4, &v9, &vE, Z, Z);
 
-       /****************************************************************************
-       *                                                                                                                               ROUND(1)                                                                                                                                        *
-       ****************************************************************************/
-
        /**
-       * r=1, i=0, a=v[0], b=v[4], c=v[8], d=v[12], m[sigma]=14, m[sigma+1]=10
-       * r=1, i=1, a=v[1], b=v[5], c=v[9], d=v[13], m[sigma]=4, m[sigma+1]=8
-       * r=1, i=2, a=v[2], b=v[6], c=v[10], d=v[14], m[sigma]=9, m[sigma+1]=15
-       * r=1, i=3, a=v[3], b=v[7], c=v[11], d=v[15], m[sigma]=13, m[sigma+1]=6
+       * ROUND(1)
+       * m[sigma]=(14,10),(4,8),(9,15),(13,6)
+       * m[sigma]=(1,12),(0,2),(11,7),(5,3)
        */
        G(&v0, &v4, &v8, &vC, Z, Z);
        G(&v1, &v5, &v9, &vD, m4, Z);
        G(&v2, &v6, &vA, &vE, Z, Z);
        G(&v3, &v7, &vB, &vF, Z, Z);
 
-       /**
-       * r=1, i=4, a=v[0], b=v[5], c=v[10], d=v[15], m[sigma]=1, m[sigma+1]=12
-       * r=1, i=5, a=v[1], b=v[6], c=v[11], d=v[12], m[sigma]=0, m[sigma+1]=2
-       * r=1, i=6, a=v[2], b=v[7], c=v[8], d=v[13], m[sigma]=11, m[sigma+1]=7
-       * r=1, i=7, a=v[3], b=v[4], c=v[9], d=v[14], m[sigma]=5, m[sigma+1]=3
-       */
        G(&v0, &v5, &vA, &vF, m1, Z);
        G(&v1, &v6, &vB, &vC, m0, m2);
        G(&v2, &v7, &v8, &vD, Z, Z);
        G(&v3, &v4, &v9, &vE, Z, m3);
 
-       /****************************************************************************
-       *                                                                                                                               ROUND(2)                                                                                                                                        *
-       ****************************************************************************/
-
        /**
-       * r=2, i=0, a=v[0], b=v[4], c=v[8], d=v[12], m[sigma]=11, m[sigma+1]=8
-       * r=2, i=1, a=v[1], b=v[5], c=v[9], d=v[13], m[sigma]=12, m[sigma+1]=0
-       * r=2, i=2, a=v[2], b=v[6], c=v[10], d=v[14], m[sigma]=5, m[sigma+1]=2
-       * r=2, i=3, a=v[3], b=v[7], c=v[11], d=v[15], m[sigma]=15, m[sigma+1]=13
+       * ROUND(2)
+       * m[sigma]=(11,8),(12,0),(5,2),(15,13)
+       * m[sigma]=(10,14),(3,6),(7,1),(9,4)
        */
        G(&v0, &v4, &v8, &vC, Z, Z);
        G(&v1, &v5, &v9, &vD, Z, m0);
        G(&v2, &v6, &vA, &vE, Z, m2);
        G(&v3, &v7, &vB, &vF, Z, Z);
 
-       /**
-       * r=2, i=4, a=v[0], b=v[5], c=v[10], d=v[15], m[sigma]=10, m[sigma+1]=14
-       * r=2, i=5, a=v[1], b=v[6], c=v[11], d=v[12], m[sigma]=3, m[sigma+1]=6
-       * r=2, i=6, a=v[2], b=v[7], c=v[8], d=v[13], m[sigma]=7, m[sigma+1]=1
-       * r=2, i=7, a=v[3], b=v[4], c=v[9], d=v[14], m[sigma]=9, m[sigma+1]=4
-       */
        G(&v0, &v5, &vA, &vF, Z, Z);
        G(&v1, &v6, &vB, &vC, m3, Z);
        G(&v2, &v7, &v8, &vD, Z, m1);
        G(&v3, &v4, &v9, &vE, Z, m4);
 
-       /****************************************************************************
-       *                                                                                                                               ROUND(3)                                                                                                                                        *
-       ****************************************************************************/
-
        /**
-       * r=3, i=0, a=v[0], b=v[4], c=v[8], d=v[12], m[sigma]=7, m[sigma+1]=9
-       * r=3, i=1, a=v[1], b=v[5], c=v[9], d=v[13], m[sigma]=3, m[sigma+1]=1
-       * r=3, i=2, a=v[2], b=v[6], c=v[10], d=v[14], m[sigma]=13, m[sigma+1]=12
-       * r=3, i=3, a=v[3], b=v[7], c=v[11], d=v[15], m[sigma]=11, m[sigma+1]=14
+       * ROUND(3)
+       * m[sigma]=(7,9),(3,1),(13,12),(11,14)
+       * m[sigma]=(2,6),(5,10),(4,0),(15,8)
        */
        G(&v0, &v4, &v8, &vC, Z, Z);
        G(&v1, &v5, &v9, &vD, m3, m1);
        G(&v2, &v6, &vA, &vE, Z, Z);
        G(&v3, &v7, &vB, &vF, Z, Z);
 
-       /**
-       * r=3, i=4, a=v[0], b=v[5], c=v[10], d=v[15], m[sigma]=2, m[sigma+1]=6
-       * r=3, i=5, a=v[1], b=v[6], c=v[11], d=v[12], m[sigma]=5, m[sigma+1]=10
-       * r=3, i=6, a=v[2], b=v[7], c=v[8], d=v[13], m[sigma]=4, m[sigma+1]=0
-       * r=3, i=7, a=v[3], b=v[4], c=v[9], d=v[14], m[sigma]=15, m[sigma+1]=8
-       */
        G(&v0, &v5, &vA, &vF, m2, Z);
        G(&v1, &v6, &vB, &vC, Z, Z);
        G(&v2, &v7, &v8, &vD, m4, m0);
        G(&v3, &v4, &v9, &vE, Z, Z);
 
-       /****************************************************************************
-       *                                                                                                                               ROUND(4)                                                                                                                                        *
-       ****************************************************************************/
-
        /**
-       * r=4, i=0, a=v[0], b=v[4], c=v[8], d=v[12], m[sigma]=9, m[sigma+1]=0
-       * r=4, i=1, a=v[1], b=v[5], c=v[9], d=v[13], m[sigma]=5, m[sigma+1]=7
-       * r=4, i=2, a=v[2], b=v[6], c=v[10], d=v[14], m[sigma]=2, m[sigma+1]=4
-       * r=4, i=3, a=v[3], b=v[7], c=v[11], d=v[15], m[sigma]=10, m[sigma+1]=15
+       * ROUND(4)
+       * m[sigma]=(9,0),(5,7),(2,4),(10,15)
+       * m[sigma]=(14,1),(11,12),(6,8),(3,13)
        */
        G(&v0, &v4, &v8, &vC, Z, m0);
        G(&v1, &v5, &v9, &vD, Z, Z);
        G(&v2, &v6, &vA, &vE, m2, m4);
        G(&v3, &v7, &vB, &vF, Z, Z);
 
-       /**
-       */
-
-       /**
-       * r=4, i=4, a=v[0], b=v[5], c=v[10], d=v[15], m[sigma]=14, m[sigma+1]=1
-       * r=4, i=5, a=v[1], b=v[6], c=v[11], d=v[12], m[sigma]=11, m[sigma+1]=12
-       * r=4, i=6, a=v[2], b=v[7], c=v[8], d=v[13], m[sigma]=6, m[sigma+1]=8
-       * r=4, i=7, a=v[3], b=v[4], c=v[9], d=v[14], m[sigma]=3, m[sigma+1]=13
-       */
        G(&v0, &v5, &vA, &vF, Z, m1);
        G(&v1, &v6, &vB, &vC, Z, Z);
        G(&v2, &v7, &v8, &vD, Z, Z);
        G(&v3, &v4, &v9, &vE, m3, Z);
 
-       /****************************************************************************
-       *                                                                                                                               ROUND(5)                                                                                                                                        *
-       ****************************************************************************/
-
        /**
-       * r=5, i=0, a=v[0], b=v[4], c=v[8], d=v[12], m[sigma]=2, m[sigma+1]=12
-       * r=5, i=1, a=v[1], b=v[5], c=v[9], d=v[13], m[sigma]=6, m[sigma+1]=10
-       * r=5, i=2, a=v[2], b=v[6], c=v[10], d=v[14], m[sigma]=0, m[sigma+1]=11
-       * r=5, i=3, a=v[3], b=v[7], c=v[11], d=v[15], m[sigma]=8, m[sigma+1]=3
+       * ROUND(5)
+       * m[sigma]=(2,12),(6,10),(0,11),(8,3)
+       * m[sigma]=(4,13),(7,5),(15,14),(1,9)
        */
        G(&v0, &v4, &v8, &vC, m2, Z);
        G(&v1, &v5, &v9, &vD, Z, Z);
        G(&v2, &v6, &vA, &vE, m0, Z);
        G(&v3, &v7, &vB, &vF, Z, m3);
 
-       /**
-       * r=5, i=4, a=v[0], b=v[5], c=v[10], d=v[15], m[sigma]=4, m[sigma+1]=13
-       * r=5, i=5, a=v[1], b=v[6], c=v[11], d=v[12], m[sigma]=7, m[sigma+1]=5
-       * r=5, i=6, a=v[2], b=v[7], c=v[8], d=v[13], m[sigma]=15, m[sigma+1]=14
-       * r=5, i=7, a=v[3], b=v[4], c=v[9], d=v[14], m[sigma]=1, m[sigma+1]=9
-       */
        G(&v0, &v5, &vA, &vF, m4, Z);
        G(&v1, &v6, &vB, &vC, Z, Z);
        G(&v2, &v7, &v8, &vD, Z, Z);
        G(&v3, &v4, &v9, &vE, m1, Z);
 
-       /****************************************************************************
-       *                                                                                                                               ROUND(6)                                                                                                                                        *
-       ****************************************************************************/
-
        /**
-       * r=6, i=0, a=v[0], b=v[4], c=v[8], d=v[12], m[sigma]=12, m[sigma+1]=5
-       * r=6, i=1, a=v[1], b=v[5], c=v[9], d=v[13], m[sigma]=1, m[sigma+1]=15
-       * r=6, i=2, a=v[2], b=v[6], c=v[10], d=v[14], m[sigma]=14, m[sigma+1]=13
-       * r=6, i=3, a=v[3], b=v[7], c=v[11], d=v[15], m[sigma]=4, m[sigma+1]=10
+       * ROUND(6)
+       * m[sigma]=(12,5),(1,15),(14,13),(4,10)
+       * m[sigma]=(0,7),(6,3),(9,2),(8,11)
        */
        G(&v0, &v4, &v8, &vC, Z, Z);
        G(&v1, &v5, &v9, &vD, m1, Z);
        G(&v2, &v6, &vA, &vE, Z, Z);
        G(&v3, &v7, &vB, &vF, m4, Z);
 
-       /**
-       * r=6, i=4, a=v[0], b=v[5], c=v[10], d=v[15], m[sigma]=0, m[sigma+1]=7
-       * r=6, i=5, a=v[1], b=v[6], c=v[11], d=v[12], m[sigma]=6, m[sigma+1]=3
-       * r=6, i=6, a=v[2], b=v[7], c=v[8], d=v[13], m[sigma]=9, m[sigma+1]=2
-       * r=6, i=7, a=v[3], b=v[4], c=v[9], d=v[14], m[sigma]=8, m[sigma+1]=11
-       */
        G(&v0, &v5, &vA, &vF, m0, Z);
        G(&v1, &v6, &vB, &vC, Z, m3);
        G(&v2, &v7, &v8, &vD, Z, m2);
        G(&v3, &v4, &v9, &vE, Z, Z);
 
-       /****************************************************************************
-       *                                                                                                                               ROUND(7)                                                                                                                                        *
-       ****************************************************************************/
-
        /**
-       * r=7, i=0, a=v[0], b=v[4], c=v[8], d=v[12], m[sigma]=13, m[sigma+1]=11
-       * r=7, i=1, a=v[1], b=v[5], c=v[9], d=v[13], m[sigma]=7, m[sigma+1]=14
-       * r=7, i=2, a=v[2], b=v[6], c=v[10], d=v[14], m[sigma]=12, m[sigma+1]=1
-       * r=7, i=3, a=v[3], b=v[7], c=v[11], d=v[15], m[sigma]=3, m[sigma+1]=9
+       * ROUND(7)
+       * m[sigma]=(13,11),(7,14),(12,1),(3,9)
+       * m[sigma]=(5,0),(15,4),(8,6),(2,10)
        */
        G(&v0, &v4, &v8, &vC, Z, Z);
        G(&v1, &v5, &v9, &vD, Z, Z);
        G(&v2, &v6, &vA, &vE, Z, m1);
        G(&v3, &v7, &vB, &vF, m3, Z);
 
-       /**
-       * r=7, i=4, a=v[0], b=v[5], c=v[10], d=v[15], m[sigma]=5, m[sigma+1]=0
-       * r=7, i=5, a=v[1], b=v[6], c=v[11], d=v[12], m[sigma]=15, m[sigma+1]=4
-       * r=7, i=6, a=v[2], b=v[7], c=v[8], d=v[13], m[sigma]=8, m[sigma+1]=6
-       * r=7, i=7, a=v[3], b=v[4], c=v[9], d=v[14], m[sigma]=2, m[sigma+1]=10
-       */
        G(&v0, &v5, &vA, &vF, Z, m0);
        G(&v1, &v6, &vB, &vC, Z, m4);
        G(&v2, &v7, &v8, &vD, Z, Z);
        G(&v3, &v4, &v9, &vE, m2, Z);
 
-       /****************************************************************************
-       *                                                                                                                               ROUND(8)                                                                                                                                        *
-       ****************************************************************************/
-
        /**
-       * r=8, i=0, a=v[0], b=v[4], c=v[8], d=v[12], m[sigma]=6, m[sigma+1]=15
-       * r=8, i=1, a=v[1], b=v[5], c=v[9], d=v[13], m[sigma]=14, m[sigma+1]=9
-       * r=8, i=2, a=v[2], b=v[6], c=v[10], d=v[14], m[sigma]=11, m[sigma+1]=3
-       * r=8, i=3, a=v[3], b=v[7], c=v[11], d=v[15], m[sigma]=0, m[sigma+1]=8
+       * ROUND(8)
+       * m[sigma]=(6,15),(14,9),(11,3),(0,8)
+       * m[sigma]=(12,2),(13,7),(1,4),(10,5)
        */
        G(&v0, &v4, &v8, &vC, Z, Z);
        G(&v1, &v5, &v9, &vD, Z, Z);
        G(&v2, &v6, &vA, &vE, Z, m3);
        G(&v3, &v7, &vB, &vF, m0, Z);
 
-       /**
-       * r=8, i=4, a=v[0], b=v[5], c=v[10], d=v[15], m[sigma]=12, m[sigma+1]=2
-       * r=8, i=5, a=v[1], b=v[6], c=v[11], d=v[12], m[sigma]=13, m[sigma+1]=7
-       * r=8, i=6, a=v[2], b=v[7], c=v[8], d=v[13], m[sigma]=1, m[sigma+1]=4
-       * r=8, i=7, a=v[3], b=v[4], c=v[9], d=v[14], m[sigma]=10, m[sigma+1]=5
-       */
        G(&v0, &v5, &vA, &vF, Z, m2);
        G(&v1, &v6, &vB, &vC, Z, Z);
        G(&v2, &v7, &v8, &vD, m1, m4);
        G(&v3, &v4, &v9, &vE, Z, Z);
 
-       /****************************************************************************
-       *                                                                                                                               ROUND(9)                                                                                                                                        *
-       ****************************************************************************/
-
        /**
-       * r=9, i=0, a=v[0], b=v[4], c=v[8], d=v[12], m[sigma]=10, m[sigma+1]=2
-       * r=9, i=1, a=v[1], b=v[5], c=v[9], d=v[13], m[sigma]=8, m[sigma+1]=4
-       * r=9, i=2, a=v[2], b=v[6], c=v[10], d=v[14], m[sigma]=7, m[sigma+1]=6
-       * r=9, i=3, a=v[3], b=v[7], c=v[11], d=v[15], m[sigma]=1, m[sigma+1]=5
+       * ROUND(9)
+       * m[sigma]=(10,2),(8,4),(7,6),(1,5)
+       * m[sigma]=(15,11),(9,14),(3,12),(13,0)
        */
        G(&v0, &v4, &v8, &vC, Z, m2);
        G(&v1, &v5, &v9, &vD, Z, m4);
        G(&v2, &v6, &vA, &vE, Z, Z);
        G(&v3, &v7, &vB, &vF, m1, Z);
 
-       /**
-       * r=9, i=4, a=v[0], b=v[5], c=v[10], d=v[15], m[sigma]=15, m[sigma+1]=11
-       * r=9, i=5, a=v[1], b=v[6], c=v[11], d=v[12], m[sigma]=9, m[sigma+1]=14
-       * r=9, i=6, a=v[2], b=v[7], c=v[8], d=v[13], m[sigma]=3, m[sigma+1]=12
-       * r=9, i=7, a=v[3], b=v[4], c=v[9], d=v[14], m[sigma]=13, m[sigma+1]=0
-       */
        G(&v0, &v5, &vA, &vF, Z, Z);
        G(&v1, &v6, &vB, &vC, Z, Z);
        G(&v2, &v7, &v8, &vD, m3, Z);
        G(&v3, &v4, &v9, &vE, Z, m0);
 
-       /****************************************************************************
-       *                                                                                                                               ROUND(10)                                                                                                                                       *
-       ****************************************************************************/
-
        /**
-       * r=10, i=0, a=v[0], b=v[4], c=v[8], d=v[12], m[sigma]=0, m[sigma+1]=1
-       * r=10, i=1, a=v[1], b=v[5], c=v[9], d=v[13], m[sigma]=2, m[sigma+1]=3
-       * r=10, i=2, a=v[2], b=v[6], c=v[10], d=v[14], m[sigma]=4, m[sigma+1]=5
-       * r=10, i=3, a=v[3], b=v[7], c=v[11], d=v[15], m[sigma]=6, m[sigma+1]=7
+       * ROUND(10)
+       * m[sigma]=(0,1),(2,3),(4,5),(6,7)
+       * m[sigma]=(8,9),(10,11),(12,13),(14,15)
        */
        G(&v0, &v4, &v8, &vC, m0, m1);
        G(&v1, &v5, &v9, &vD, m2, m3);
        G(&v2, &v6, &vA, &vE, m4, Z);
        G(&v3, &v7, &vB, &vF, Z, Z);
 
-       /**
-       * r=10, i=4, a=v[0], b=v[5], c=v[10], d=v[15], m[sigma]=8, m[sigma+1]=9
-       * r=10, i=5, a=v[1], b=v[6], c=v[11], d=v[12], m[sigma]=10, m[sigma+1]=11
-       * r=10, i=6, a=v[2], b=v[7], c=v[8], d=v[13], m[sigma]=12, m[sigma+1]=13
-       * r=10, i=7, a=v[3], b=v[4], c=v[9], d=v[14], m[sigma]=14, m[sigma+1]=15
-       */
        G(&v0, &v5, &vA, &vF, Z, Z);
        G(&v1, &v6, &vB, &vC, Z, Z);
        G(&v2, &v7, &v8, &vD, Z, Z);
        G(&v3, &v4, &v9, &vE, Z, Z);
 
-       /****************************************************************************
-       *                                                                                                                               ROUND(11)                                                                                                                                       *
-       ****************************************************************************/
-
        /**
-       * r=11, i=0, a=v[0], b=v[4], c=v[8], d=v[12], m[sigma]=14, m[sigma+1]=10
-       * r=11, i=1, a=v[1], b=v[5], c=v[9], d=v[13], m[sigma]=4, m[sigma+1]=8
-       * r=11, i=2, a=v[2], b=v[6], c=v[10], d=v[14], m[sigma]=9, m[sigma+1]=15
-       * r=11, i=3, a=v[3], b=v[7], c=v[11], d=v[15], m[sigma]=13, m[sigma+1]=6
+       * ROUND(11)
+       * m[sigma]=(14,10),(4,8),(9,15),(13,6)
+       * m[sigma]=(1,12),(0,2),(11,7),(5,3)
        */
        G(&v0, &v4, &v8, &vC, Z, Z);
        G(&v1, &v5, &v9, &vD, m4, Z);
        G(&v2, &v6, &vA, &vE, Z, Z);
        G(&v3, &v7, &vB, &vF, Z, Z);
 
-       /**
-       * r=11, i=4, a=v[0], b=v[5], c=v[10], d=v[15], m[sigma]=1, m[sigma+1]=12
-       * r=11, i=5, a=v[1], b=v[6], c=v[11], d=v[12], m[sigma]=0, m[sigma+1]=2
-       * r=11, i=6, a=v[2], b=v[7], c=v[8], d=v[13], m[sigma]=11, m[sigma+1]=7
-       * r=11, i=7, a=v[3], b=v[4], c=v[9], d=v[14], m[sigma]=5, m[sigma+1]=3
-       */
        G(&v0, &v5, &vA, &vF, m1, Z);
        // G(&v1, &v6, &vB, &vC, m0, m2);
        G(&v2, &v7, &v8, &vD, Z, Z);