package miou

  1. Overview
  2. Docs

Module Miou_bitvSource

This module implements bit vectors, as an abstract datatype t. Since bit vectors are particular cases of arrays, this module provides the same operations as module Array. It also provides bitwise operations and conversions to/from integer types.

In the following, false stands for bit 0 and true for bit 1.

Sourcetype t

The type of bit vectors

Sourceval create : int -> bool -> t

create n b creates a new bit vector of length n, initialized with b.

Sourceval length : t -> int

length returns the length (number of elements) of the given vector.

Sourceval next : t -> int option

next v returns the next unset nth bit of v.

Sourceval max : t -> int
Sourceval get : t -> int -> bool

get v n returns the nth bit of v.

Sourceval set : t -> int -> bool -> unit

set v n b sets the nth bit of v to the value b.

Sourceval iter : (int -> unit) -> t -> unit

iter fn v applies function fn in turn to all indexes of the elements of v which are set (i.e. true); indexes are visited from least significant to most significant.

Sourceval equal : t -> t -> bool

Returns true if two bit vectors are of the same length and with the same bits.