Curve.Makemodule BaseField : Field_intfmodule ScalarField : sig ... endmodule Params : sig ... endmodule C :
Input_intf
with module BaseField := BaseField
and module ScalarField := ScalarFieldinclude module type of C with type t = C.t with module Affine := C.Affinetype t = C.tval to_affine : t -> C.Affine.tval of_affine_coordinates : BaseField.t -> BaseField.t -> tval scale : t -> ScalarField.t -> tval random : unit -> tmodule Base_field = BaseFieldval one : tval zero : tval y_squared : BaseField.t -> BaseField.tmodule Affine : sig ... endval to_affine_or_infinity : C.t -> C.Affine.tval to_affine_exn : C.t -> BaseField.t * BaseField.tval of_affine : (BaseField.t * BaseField.t) -> C.tval bin_size_t : t Bin_prot.Size.sizerval bin_write_t : t Bin_prot.Write.writerval bin_read_t : t Bin_prot.Read.readerval __bin_read_t__ : ( int -> t ) Bin_prot.Read.readerval bin_writer_t : t Bin_prot.Type_class.writerval bin_reader_t : t Bin_prot.Type_class.readerval bin_t : t Bin_prot.Type_class.tval (*) : ScalarField.t -> t -> tval find_y : BaseField.t -> BaseField.t optionval point_near_x : BaseField.t -> C.t