package tezos-benchmark

  1. Overview
  2. Docs

A Costlang transformer for various code optimizations

Parameters

module X : Costlang.S

Signature

include Costlang.S with type size = X.size
type 'a repr
type size = X.size
val size_ty : size Costlang.Ty.t

Runtime type for size

val true_ : bool repr
val false_ : bool repr
val int : int -> size repr
val float : float -> size repr
val (+) : size repr -> size repr -> size repr
val sat_sub : size repr -> size repr -> size repr
val (*) : size repr -> size repr -> size repr
val (/) : size repr -> size repr -> size repr
val max : size repr -> size repr -> size repr
val min : size repr -> size repr -> size repr
val log2 : size repr -> size repr
val sqrt : size repr -> size repr
val free : name:Free_variable.t -> size repr
val lt : size repr -> size repr -> bool repr
val eq : size repr -> size repr -> bool repr
val shift_left : size repr -> int -> size repr
val shift_right : size repr -> int -> size repr
val lam' : name:string -> 'a Costlang.Ty.t -> ('a repr -> 'b repr) -> ('a -> 'b) repr
val lam : name:string -> (size repr -> 'a repr) -> (size -> 'a) repr

Instantiation of lam' for size repr argument

val app : ('a -> 'b) repr -> 'a repr -> 'b repr
val let_ : name:string -> 'a repr -> ('a repr -> 'b repr) -> 'b repr
val if_ : bool repr -> size repr -> size repr -> size repr
val prj : 'a repr -> 'a X.repr
OCaml

Innovation. Community. Security.