package octez-plompiler

  1. Overview
  2. Docs
include LIB
type scalar
type input_kind = [
  1. | `InputCom
  2. | `Public
  3. | `Private
]
type trace_kind = [
  1. | input_kind
  2. | `NoInput
]
type 'a repr
type 'a t
val ret : 'a -> 'a t
val let* : 'a t -> ('a -> 'b t) -> 'b t
val (>*) : unit repr t -> 'a t -> 'a t
val with_bool_check : bool repr t -> unit repr t
val get_checks_wire : bool repr t
module Input : sig ... end
type 'b open_input_com
val serialize : 'a Input.t -> Csir.Scalar.t array
val input : ?kind:input_kind -> 'a Input.t -> 'a repr t
val new_input_com : unit repr t
val begin_input_com : 'b -> 'b open_input_com
val (|:) : ('c repr -> 'd) open_input_com -> 'c Input.t -> 'd open_input_com
val end_input_com : 'a open_input_com -> 'a t
val eq : 'a repr -> 'a repr -> bool
val foldM : ('a -> 'b -> 'a t) -> 'a -> 'b list -> 'a t
val pair : 'a repr -> 'b repr -> ('a * 'b) repr
val of_pair : ('a * 'b) repr -> 'a repr * 'b repr
val to_list : 'a repr list -> 'a list repr
val of_list : 'a list repr -> 'a repr list
val unit : unit repr
val scalar_of_bool : bool repr -> scalar repr
val unsafe_bool_of_scalar : scalar repr -> bool repr
val assert_equal : 'a repr -> 'a repr -> unit repr t
val equal : 'a repr -> 'a repr -> bool repr t
val constant_scalar : Csir.Scalar.t -> scalar repr t
val bits_of_scalar : ?shift:Z.t -> nb_bits:int -> scalar repr -> bool list repr t

Returns a list of Boolean variables representing the little endian bit decomposition of the given scalar (with the least significant bit on the head).

val with_label : label:string -> 'a t -> 'a t
module Ecc : sig ... end
module Poseidon : sig ... end
module Anemoi : sig ... end
val hd : 'a list repr -> 'a repr t
val foldiM : ('a -> int -> 'a t) -> 'a -> int -> 'a t
val fold2M : ('a -> 'b -> 'c -> 'a t) -> 'a -> 'b list -> 'c list -> 'a t
val mapM : ('a -> 'b t) -> 'a list -> 'b list t
val map2M : ('a -> 'b -> 'c t) -> 'a list -> 'b list -> 'c list t
val iterM : ('a -> unit repr t) -> 'a list -> unit repr t
val iter2M : ('a -> 'b -> unit repr t) -> 'a list -> 'b list -> unit repr t
module Bool : sig ... end
module Num : sig ... end
module Enum (N : sig ... end) : sig ... end
module Bytes : sig ... end
val add2 : (scalar * scalar) repr -> (scalar * scalar) repr -> (scalar * scalar) repr t
val constant_bool : bool -> bool repr t
val constant_bytes : ?le:bool -> bytes -> Bytes.bl repr t
val constant_uint32 : ?le:bool -> Stdint.uint32 -> Bytes.bl repr t
val deserialize : S.t array -> 'a Input.t -> 'a Input.t
val get_inputs : 'a repr t -> S.t array * int
type cs_result = {
  1. nvars : int;
  2. free_wires : int list;
  3. cs : Csir.CS.t;
  4. input_com_sizes : int list;
  5. tables : Csir.Table.t list;
  6. solver : Solver.t;
}
val cs_result_t : cs_result Repr.t
val get_cs : ?optimize:bool -> 'a repr t -> cs_result
OCaml

Innovation. Community. Security.