From: Chris Duncan Date: Fri, 21 Aug 2026 18:27:19 +0000 (-0700) Subject: Loop over cmov to simplify for upcoming base accessor pattern change. X-Git-Url: https://git.codecow.com/?a=commitdiff_plain;h=21645e4eabeb93f4c9baad588dc00e1aa270ff56;p=nano25519.git Loop over cmov to simplify for upcoming base accessor pattern change. --- diff --git a/src/assembly/ge.ts b/src/assembly/ge.ts index 5b22656..f60e893 100644 --- a/src/assembly/ge.ts +++ b/src/assembly/ge.ts @@ -41,14 +41,9 @@ function ge_cmov8_base (t: ge_precomp, pos: i32, b: i8): void { const precomp = base(pos) ge_precomp_0(t) - ge_cmov(t, precomp[0], equal(babs, 1)) - ge_cmov(t, precomp[1], equal(babs, 2)) - ge_cmov(t, precomp[2], equal(babs, 3)) - ge_cmov(t, precomp[3], equal(babs, 4)) - ge_cmov(t, precomp[4], equal(babs, 5)) - ge_cmov(t, precomp[5], equal(babs, 6)) - ge_cmov(t, precomp[6], equal(babs, 7)) - ge_cmov(t, precomp[7], equal(babs, 8)) + for (let i: i8 = 0; i < 8; i++) { + ge_cmov(t, precomp[i], equal(babs, i + 1)) + } fe_copy(minust.yplusx, t.yminusx) fe_copy(minust.yminusx, t.yplusx)