]> git.codecow.com Git - nano25519.git/commitdiff
Start migrating to flatter base point by decoupling access from data.
authorChris Duncan <chris@codecow.com>
Fri, 21 Aug 2026 13:14:39 +0000 (06:14 -0700)
committerChris Duncan <chris@codecow.com>
Fri, 21 Aug 2026 13:14:39 +0000 (06:14 -0700)
src/assembly/base.ts
src/assembly/ge.ts

index 3d041c3de611131fdf45569b48b7d3b1b974d5a7..16d016040364ccf8bd2809f14d5a8f8c863d9d7e 100644 (file)
@@ -3,7 +3,10 @@
 
 import { ge_precomp } from './p'
 
-export const base = StaticArray.fromArray<StaticArray<ge_precomp>>([
+export function base (pos: i32): StaticArray<ge_precomp> {
+       return _base[pos]
+}
+const _base = StaticArray.fromArray<StaticArray<ge_precomp>>([
        StaticArray.fromArray<ge_precomp>([ /* 0/31 */
                {
                        yplusx: StaticArray.fromArray<i32>([25967493, -14356035, 29566456, 3660896, -12694345, 4014787, 27544626, -11754271, -6079156, 2047605, 0, 0]),
index 11c38b2d609576ff31f3745000a1c41a76e66dae..4438c6a3b63f674fbfa5a54b6d844f1a818c52d3 100644 (file)
@@ -55,7 +55,7 @@ function ge_cmov8 (t: ge_precomp, precomp: StaticArray<ge_precomp>, b: i8): void
 //@ts-expect-error
 @inline
 function ge_cmov8_base (t: ge_precomp, pos: i32, b: i8): void {
-       ge_cmov8(t, base[pos], b)
+       ge_cmov8(t, base(pos), b)
 }
 
 const u: FieldElement = fe()