Bitfields.IntBitfieldsSourceBitfields - Sequences of bits that can be set, cleared, or unknown
We rely on Zarith for arithmetic operations.
cleared
The type of possibly empty bitfields.
module I = ItvUtils.IntItvmodule B = ItvUtils.IntBoundmodule C = CongUtils.IntCongBitfield enclosing the range lo,hi.
Bitfield enclosing the range lo,hi.
Bitfield enclosing the range lo,hi. Fails with invalid_arg if the range is empty.
Bitfield enclosing the range lo,hi. Fails with invalid_arg if the range is empty.
A total ordering on bitfields, returning -1, 0, or 1. Can be used as compare for sets, maps, etc.
Total ordering on possibly empty bitfields.
List of elements, in increasing order. Raises an invalid argument if it is unbounded.
Abstract intersection.
Conversion from integer to boolean in 0,1: maps 0 to 0 (false) and non-zero to 1 (true).
Logical negation. Logical operation use the C semantics: they accept 0 and non-0 respectively as false and true, but they always return 0 and 1 respectively for false and true.
C comparison tests. Returns an interval included in 0,1 (a boolean)
C comparison tests. Returns a boolean if the test may succeed
Unsigned bitshift right: division by a power of 2 with truncation.
Given two interval aruments, return the arguments assuming that the predicate holds.