[m-rev.] for review: fix problems with empty bitmaps

Julien Fischer juliensf at csse.unimelb.edu.au
Mon Mar 1 18:26:01 AEDT 2010

On Mon, 1 Mar 2010, Peter Wang wrote:

> Branches: main
> Fix bitmap predicates which did not work correctly with empty bitmaps.
> Note that `bitmap.to_string' now returns "<0:>" for an empty bitmap instead
> of "<0:00>".

Since bitmaps were in the 0.13 release it would be good to mention that
change in the NEWS file (on the off chance that some existing code
relies upon it.)

> library/bitmap.m:
>         Add `in_range_rexcl' to check an index is in the range [0, num_bits).
>         Fix bounds checks on empty bitmaps in `^ bits' and `copy_bytes'.
>         Simplify other bounds checks using `in_range_rexcl'.
>         Make `byte_index_for_bit' return -1 if its argument is negative,
>         instead of 0.  `byte_index_for_bit(NumBits - 1)' is used to get the
>         last byte index, so now loops over empty bitmaps will stop immediately
>         as the initial index must be greater than -1.
>         Make some code neater.
> tests/hard_coded/Mmakefile:
> tests/hard_coded/bitmap_empty.exp:
> tests/hard_coded/bitmap_empty.m:
>         Add a test case.

That looks okay.

mercury-reviews mailing list
Post messages to:       mercury-reviews at csse.unimelb.edu.au
Administrative Queries: owner-mercury-reviews at csse.unimelb.edu.au
Subscriptions:          mercury-reviews-request at csse.unimelb.edu.au

More information about the reviews mailing list