From: Chris Duncan Date: Fri, 21 Aug 2026 13:14:39 +0000 (-0700) Subject: Start migrating to flatter base point by decoupling access from data. X-Git-Url: https://git.codecow.com/?a=commitdiff_plain;h=5d0c6cd65d84fe1613b8edbbceb96622128f5962;p=nano25519.git Start migrating to flatter base point by decoupling access from data. --- diff --git a/src/assembly/base.ts b/src/assembly/base.ts index 3d041c3..16d0160 100644 --- a/src/assembly/base.ts +++ b/src/assembly/base.ts @@ -3,7 +3,10 @@ import { ge_precomp } from './p' -export const base = StaticArray.fromArray>([ +export function base (pos: i32): StaticArray { + return _base[pos] +} +const _base = StaticArray.fromArray>([ StaticArray.fromArray([ /* 0/31 */ { yplusx: StaticArray.fromArray([25967493, -14356035, 29566456, 3660896, -12694345, 4014787, 27544626, -11754271, -6079156, 2047605, 0, 0]), diff --git a/src/assembly/ge.ts b/src/assembly/ge.ts index 11c38b2..4438c6a 100644 --- a/src/assembly/ge.ts +++ b/src/assembly/ge.ts @@ -55,7 +55,7 @@ function ge_cmov8 (t: ge_precomp, precomp: StaticArray, 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()