bitvector-count-bits replaces bit-count*

* NEWS: Add entry.
* doc/ref/api-data.texi (Bit Vectors): Update.
* libguile/bitvectors.h:
* libguile/bitvectors.c (scm_c_bitvector_count_bits): New function.
* libguile/deprecated.h:
* libguile/deprecated.c (scm_bit_count_star): Deprecate.
* module/ice-9/sandbox.scm (bitvector-bindings): Replace bit-count* with
  bitvector-count-bits.
* test-suite/tests/bitvectors.test: Update.
This commit is contained in:
Andy Wingo 2020-04-21 21:58:33 +02:00
commit bfd38b8577
8 changed files with 154 additions and 118 deletions

12
NEWS
View file

@ -9,10 +9,11 @@ Changes in 3.0.3 (since 3.0.2)
* New interfaces and functionality
** New bitvector-count, bitvector-position procedures
** New bitvector-count, bitvector-count-bits, bitvector-position
procedures
These replace the wonky "bit-count" and "bit-position" procedures. See
"Bit Vectors" in the manual, for more.
These replace the wonky "bit-count", "bit-count*", and "bit-position"
procedures. See "Bit Vectors" in the manual, for more.
** New bitvector-bit-set?, bitvector-bit-clear? procedures
@ -66,6 +67,11 @@ Use 'bitvector-flip-all-bits! instead.
Use 'bitvector-set-bits!' or 'bitvector-clear-bits!' instead.
** 'bit-count*' deprecated
Use 'bitvector-count-bits' instead, subtracting from 'bitvector-count'
on the mask bitvector if you are counting unset bits.
** Passing a u32vector to 'bit-set*!' and 'bit-count*' deprecated
These functions had an interface that allowed the second bit-selection