Module Elliptic_curve_lib.Ec_fpn_ops_config

type fn = {
latency : int;
impl : scope:Hardcaml.Scope.t -> clock:Hardcaml.Signal.t -> enable:Hardcaml.Signal.t -> Hardcaml.Signal.t -> Hardcaml.Signal.t option -> Hardcaml.Signal.t;
}
type t = {
multiply : fn;
square : fn;
reduce : fn;
coarse_reduce : fn;
p : Z.t;
}
val coarse_reduce : t -> scope:Hardcaml.Scope.t -> clock:Hardcaml.Signal.t -> enable:Hardcaml.Signal.t -> Hardcaml.Signal.t -> Hardcaml.Signal.t
val multiply_latency : reduce:bool -> t -> int
val square_latency : reduce:bool -> t -> int