package hardcaml

  1. Overview
  2. Docs
Legend:
Library
Module
Module type
Parameter
Class
Class type

Combinational logic API.

This includes standard arithmetic, logical, equality and comparision operators, as well as more hardware specific functions such as bit selection, concatention, multiplexing etc.

In operators, a trailing colon : indicates that the operator treats the bits as unsigned or that sign doesn't matter, while a trailing plus + indicates that the operator treats the bits as signed twos-complement.

module type Gates = sig ... end
module type Primitives = sig ... end
module type S = sig ... end
type nonrec 'a optional_branching_factor = ?branching_factor:Base.int -> 'a
type nonrec ('a, 'b) with_valid2 = {
  1. valid : 'a;
  2. value : 'b;
}
type nonrec 'a with_valid = ('a, 'a) with_valid2
module Make_primitives (Gates : Gates) : Primitives with type t = Gates.t
module Make (Primitives : Primitives) : S with type t = Primitives.t

Generates the full combinational API