package hardcaml

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

Module With_interface.ISource

Sourcetype 'a t = {
  1. clock : 'a;
  2. clear : 'a;
  3. wr : 'a;
  4. d : 'a;
  5. rd : 'a;
}
include Interface.S with type 'a t := 'a t
Sourceval sexp_of_t : ('a -> Ppx_sexp_conv_lib.Sexp.t) -> 'a t -> Ppx_sexp_conv_lib.Sexp.t
Sourceval iter : 'a t -> f:('a -> Base.Unit.t) -> Base.Unit.t
Sourceval iter2 : 'a t -> 'b t -> f:('a -> 'b -> Base.Unit.t) -> Base.Unit.t
Sourceval map : 'a t -> f:('a -> 'b) -> 'b t
Sourceval map2 : 'a t -> 'b t -> f:('a -> 'b -> 'c) -> 'c t
Sourceval to_list : 'a t -> 'a Base.List.t
include Base.Equal.S1 with type 'a t := 'a t
Sourceval port_names : Base.String.t t

RTL names specified in the interface definition - commonly also the OCaml field name.

Sourceval port_widths : Base.Int.t t

Bit widths specified in the interface definition.

Sourceval to_alist : 'a t -> (Base.String.t * 'a) Base.List.t

Create association list indexed by field names.

Sourceval of_alist : (Base.String.t * 'a) Base.List.t -> 'a t

Create interface from association list indexed by field names

Sourceval zip : 'a t -> 'b t -> ('a * 'b) t
Sourceval zip3 : 'a t -> 'b t -> 'c t -> ('a * 'b * 'c) t
Sourceval zip4 : 'a t -> 'b t -> 'c t -> 'd t -> ('a * 'b * 'c * 'd) t
Sourceval zip5 : 'a t -> 'b t -> 'c t -> 'd t -> 'e t -> ('a * 'b * 'c * 'd * 'e) t
Sourceval map3 : 'a t -> 'b t -> 'c t -> f:('a -> 'b -> 'c -> 'd) -> 'd t
Sourceval map4 : 'a t -> 'b t -> 'c t -> 'd t -> f:('a -> 'b -> 'c -> 'd -> 'e) -> 'e t
Sourceval map5 : 'a t -> 'b t -> 'c t -> 'd t -> 'e t -> f:('a -> 'b -> 'c -> 'd -> 'e -> 'f) -> 'f t
Sourceval iter3 : 'a t -> 'b t -> 'c t -> f:('a -> 'b -> 'c -> Base.Unit.t) -> Base.Unit.t
Sourceval iter4 : 'a t -> 'b t -> 'c t -> 'd t -> f:('a -> 'b -> 'c -> 'd -> Base.Unit.t) -> Base.Unit.t
Sourceval iter5 : 'a t -> 'b t -> 'c t -> 'd t -> 'e t -> f:('a -> 'b -> 'c -> 'd -> 'e -> Base.Unit.t) -> Base.Unit.t
Sourceval fold : 'a t -> init:'acc -> f:('acc -> 'a -> 'acc) -> 'acc
Sourceval fold2 : 'a t -> 'b t -> init:'acc -> f:('acc -> 'a -> 'b -> 'acc) -> 'acc
Sourceval scan : 'a t -> init:'acc -> f:('acc -> 'a -> 'acc * 'b) -> 'b t
Sourceval scan2 : 'a t -> 'b t -> init:'acc -> f:('acc -> 'a -> 'b -> 'acc * 'c) -> 'c t
Sourceval offsets : ?rev:Base.Bool.t -> Base.Unit.t -> Base.Int.t t

Offset of each field within the interface. The first field is placed at the least significant bit, unless the rev argument is true.

Sourceval of_interface_list : 'a t Base.List.t -> 'a Base.List.t t

Take a list of interfaces and produce a single interface where each field is a list.

Sourceval to_interface_list : 'a Base.List.t t -> 'a t Base.List.t

Create a list of interfaces from a single interface where each field is a list. Raises if all lists don't have the same length.

Sourcemodule type Comb = sig ... end
Sourcemodule Make_comb (Comb : Comb.S) : Comb with type comb = Comb.t
Sourcemodule Of_bits : Comb with type comb = Bits.t
Sourcemodule Of_signal : sig ... end
OCaml

Innovation. Community. Security.