fe_cmov(t.xy2d, u.xy2d, b)
}
-const ge_cmov8_minust: ge_precomp = new ge_precomp()
-const ge_cmov8_precomp: ge_precomp = new ge_precomp()
+const base_precomp: ge_precomp = new ge_precomp()
//@ts-expect-error
@inline
function ge_cmov8_base (t: ge_precomp, offset: i32, b: i8): void {
- const minust = ge_cmov8_minust
const bnegative: u8 = negative(b)
const babs: u8 = b - (((-bnegative) & b) * (i8(1) << 1))
ge_precomp_0(t)
for (let i = 0; i < 8; i++) {
- const ptr = base + offset + (i * 144) // 4 bytes * 12 values * 3 fields
- memory.copy(changetype<usize>(ge_cmov8_precomp.yplusx), ptr, 48)
- memory.copy(changetype<usize>(ge_cmov8_precomp.yminusx), ptr + 48, 48)
- memory.copy(changetype<usize>(ge_cmov8_precomp.xy2d), ptr + 96, 48)
- ge_cmov(t, ge_cmov8_precomp, equal(babs, i8(i + 1)))
+ const baseptr = base + offset + (i * 144) // 4 bytes * 12 values * 3 fields
+ memory.copy(changetype<usize>(base_precomp.yplusx), baseptr, 48)
+ memory.copy(changetype<usize>(base_precomp.yminusx), baseptr + 48, 48)
+ memory.copy(changetype<usize>(base_precomp.xy2d), baseptr + 96, 48)
+ ge_cmov(t, base_precomp, equal(babs, i8(i + 1)))
}
- fe_copy(minust.yplusx, t.yminusx)
- fe_copy(minust.yminusx, t.yplusx)
- fe_neg(minust.xy2d, t.xy2d)
- ge_cmov(t, minust, bnegative)
+ fe_copy(base_precomp.yplusx, t.yminusx)
+ fe_copy(base_precomp.yminusx, t.yplusx)
+ fe_neg(base_precomp.xy2d, t.xy2d)
+ ge_cmov(t, base_precomp, bnegative)
}
const u: FieldElement = fe()