const ge_double_scalarmult_vartime_A2: ge_p3 = new ge_p3()
const ge_double_scalarmult_vartime_fe_scratch: FieldElement = fe()
/**
- * r = a * A + b * B
- * where a = a[0]+256*a[1]+...+256^31 a[31].
- * and b = b[0]+256*b[1]+...+256^31 b[31].
- * B is the Ed25519 base point (x,4/5) with x positive.
+ * `r = a[A] + b[B]`
*
- * Only used for signatures verification.
+ * where `a = a[0]+256*a[1]+...+256^31 a[31]`
+ *
+ * and `b = b[0]+256*b[1]+...+256^31 b[31]`
+ *
+ * `B` is the Ed25519 base point `(x, 4/5)` with `x` positive.
+ *
+ * Variable-time; only used for signature verification.
*/
export function ge_double_scalarmult_vartime_to_p3 (r: ge_p3, a: StaticArray<u8>, A: ge_p3, b: StaticArray<u8>): void {
const Bi = base2