package mopsa
Install
Dune Dependency
Authors
Maintainers
Sources
md5=9f673f79708b44a7effb3b6bb3618d2c
sha512=cb91cb428e43a22f1abbcb8219710d0c10a5b3756d0da392d4084b3b3a6157350776c596983e63def344f617d39964e91f244f60c07958695ee5c8c809a9f0f4
doc/bitfields/Bitfields/IntBitfields/index.html
Module Bitfields.IntBitfields
Source
Bitfields - Sequences of bits that can be set, cleared, or unknown
We rely on Zarith for arithmetic operations.
Types
cleared
The type of possibly empty bitfields.
module I = ItvUtils.IntItv
module B = ItvUtils.IntBound
module C = CongUtils.IntCong
Constructors
Bitfield 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.
Predicates
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.
Printing
Enumeration
List of elements, in increasing order. Raises an invalid argument if it is unbounded.
Set operations
Abstract intersection.
Forward operations
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.
Filters
Given two interval aruments, return the arguments assuming that the predicate holds.