Releases: metastack/bitmasks
BitMaskSet 1.4.0
BitMaskSet 1.3.0
New functions:
filter_map
(4.11.0)
Bug fixes:
- Build hardened so that changes in Stdlib.Set.S prevent compilation (@kit-ty-kate)
BitMaskSet 1.2.0
Build system migrated to Dune. In order to maintain compatibility with OCaml 4.02-4.06, the seq and stdlib-shims libraries are now required.
Semantic changes and new functions from 4.07 and 4.08:
Seq.t
functions:to_seq_from
,to_seq
,add_seq
,of_seq
(4.07.0)
- Miscellaneous functions:
disjoint
(4.08.0)
BitMaskSet 1.1.0
Build system switched from OASIS to Jbuilder (documentation now
generated using odoc) and full project shift from OCaml Forge to GitHub.
Semantic changes and new functions from OCaml 4.03, 4.04 and 4.05:
- Ensure physical equality maintained in add and remove (4.03.0)
map
function (4.04.0)- Option-returning variants:
min_elt_opt
,max_elt_opt
,choose_opt
,find_opt
(4.05.0)
- New search functions:
find_first
,find_first_opt
,find_last
,find_last_opt
(4.05.0)
BitMask
signature has been simplified so that only the sum type and mask
are required (in addition to a Storage
structure). The 1.0.0 highest
,
lowest
, topbit
and shifts
values are now computed automatically by the
functor. No change is required in client code, since any values in the
input structure are now ignored.
Bug fixes:
BitMask.topbit
was incorrectly specified and resulted in incorrect
behaviour for themax_elt
andelements
functions (this fix is masked
by the change in theBitMask
signature). This affected any sparse
bitmasks (i.e. whereshifts
was not empty).- Fixed incorrect behaviour of
iter
,fold
,for_all
,exists
,filter
,
partition
,min_elt
andsplit
whenMask.lowest <> Mask.one
(i.e. when
the LSB is not part of the bitmask). - Fixed incorrect behaviour of
fold
,for_all
,exists
,filter
,partition
,
cardinal
,elements
,min_elt
,max_elt
andsplit
when the sign bit is
included in the mask.
BitMaskSet 1.0.0
Initial release