const stripNewline = s => s.replaceAll(/\n(\s*\n){2,}/gm, '\n\n')
await writeFile('src/assembly/ed25519/blake2b.ts', stripNewline(BLAKE2b))
-// await writeFile('src/assembly/ed25519/fe.ts', stripNewline(FE))
-// await writeFile('src/assembly/ed25519/ge.ts', stripNewline(GE))
+await writeFile('src/assembly/ed25519/fe.ts', stripNewline(FE))
+await writeFile('src/assembly/ed25519/ge.ts', stripNewline(GE))
// await writeFile('src/assembly/ed25519/p.ts', stripNewline(P))
//! SPDX-FileCopyrightText: 2026 Chris Duncan <chris@codecow.com>
//! SPDX-License-Identifier: GPL-3.0-or-later
-
/**
* ge means group element.
*
* - ge_p1p1 (completed): ((X:Z),(Y:T)) satisfying x=X/Z, y=Y/T
* - ge_precomp (Duif): (y+x,y-x,2dxy)
*/
+
import { base } from './base'
import { base2 } from './base2'
import { FieldElement, fe, fe_1, fe_add, fe_cmov, fe_frombytes, fe_isnegative, fe_iszero, fe_mul, fe_neg, fe_pow22523, fe_sq, fe_sub } from './fe'