Module Bits.MutableSource

Mutable is a mutable bits used by Cyclesim for efficiency.

Sourcetype t = private bytes
Sourceval number_of_data_bytes : t -> int
Sourceval empty : t
Sourceval width : t -> int
Sourceval to_string : t -> string
Sourceval equal : t -> t -> bool
Sourceval equal_bits : t -> t -> bool
Sourceval create : int -> t

Create a t of given width, initially set to 0.

Sourceval unsafe_copy : src:t -> dst:t -> unit
Sourceval copy : src:t -> dst:t -> unit
Sourceval copy_bits : src:t -> dst:t -> unit
Sourceval num_words : t -> int

A Bits.Mutable.t can be accessed as an array of 64 bit words.

Sourceval randomize : random_state:Hardcaml_kernel__.Core0.Splittable_random.t -> t -> unit

Set to random value.

Sourceval unsafe_get_int64 : t @ local -> int -> int64
Sourceval unsafe_set_int64 : t -> int -> int64 -> unit
Sourceval get_int64 : t -> int -> int64
Sourceval set_int64 : t -> int -> int64 -> unit
Sourceval to_bits : t -> t
Sourceval of_constant : Constant.t -> t
Sourceval to_constant : t -> Constant.t
Sourceval vdd : t
Sourceval gnd : t
Sourceval wire : int -> t
Sourceval (--) : loc:lexing_position -> t -> string -> t
Sourceval (&:) : t -> t -> t -> unit
Sourceval (|:) : t -> t -> t -> unit
Sourceval (^:) : t -> t -> t -> unit
Sourceval (~:) : t -> t -> unit
Sourceval (+:) : t -> t -> t -> unit
Sourceval (-:) : t -> t -> t -> unit
Sourceval (==:) : t -> t -> t -> unit
Sourceval (<>:) : t -> t -> t -> unit
Sourceval (<:) : t -> t -> t -> unit
Sourceval mux : t -> t -> t list -> unit
Sourceval concat : t -> t list -> unit
Sourceval concat_rev_array : t -> t array -> unit
Sourceval select : t -> t -> int -> int -> unit
Sourceval (*:) : t -> t -> t -> unit
Sourceval (*+) : t -> t -> t -> unit
Sourceval mask : t -> unit

Mask the unused bits to zero.

Sourcemodule Comb : Comb.S with type t = t