Gadget.JubjubEdwards
module L : sig ... end
type point = L.scalar * L.scalar
val input_point : ?kind:L.input_kind -> (Csir.Scalar.t * Csir.Scalar.t) -> point L.repr L.t
val is_on_curve : point L.repr -> bool L.repr L.t
val assert_is_on_curve : point L.repr -> unit L.repr L.t
val from_coordinates : L.scalar L.repr -> L.scalar L.repr -> point L.repr L.t
val unsafe_from_coordinates : L.scalar L.repr -> L.scalar L.repr -> point L.repr L.t
val get_x_coordinate : point L.repr -> L.scalar L.repr
val get_y_coordinate : point L.repr -> L.scalar L.repr
val add : point L.repr -> point L.repr -> point L.repr L.t
val double : point L.repr -> point L.repr L.t
val scalar_mul : bool list L.repr -> point L.repr -> point L.repr L.t
val scalar_order : Z.t
val base_order : Z.t
val id : Csir.Scalar.t * Csir.Scalar.t
val cond_add : point L.repr -> point L.repr -> bool L.repr -> point L.repr L.t
val multi_scalar_mul : bool list list L.repr -> point list L.repr -> point L.repr L.t