])
//@ts-expect-error
@inline
-function ge_cmov8_base (t: ge_precomp, pos: i32, b: i8): void {
+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))
- const offset = pos * 1152 // 4 bytes * 12 values * 3 fe * 8 ge
memory.copy(ge_cmov8_precomp_buffer, changetype<usize>(base) + offset, 1152)
ge_precomp_0(t)
ge_p3_0(h)
- for (let i = 1; i < 64; i += 2) {
- ge_cmov8_base(t, i / 2, e[i])
+ // base pointer = 4 bytes * 12 values * 3 fe * 8 ge = 1152 bytes
+ for (let i = 1, bp = 0; i < 64; i += 2, bp += 1152) {
+ ge_cmov8_base(t, bp, e[i])
ge_add_precomp(r, h, t)
ge_p1p1_to_p3(h, r)
}
ge_p2_dbl(r, s)
ge_p1p1_to_p3(h, r)
- for (let i = 0; i < 64; i += 2) {
- ge_cmov8_base(t, i / 2, e[i])
+ // base pointer = 4 bytes * 12 values * 3 fe * 8 ge = 1152 bytes
+ for (let i = 0, bp = 0; i < 64; i += 2, bp += 1152) {
+ ge_cmov8_base(t, bp, e[i])
ge_add_precomp(r, h, t)
ge_p1p1_to_p3(h, r)
}