bitvector-flip-all-bits! replaces bit-invert!

* NEWS: Add entry.
* doc/ref/api-data.texi (Bit Vectors): Update.
* libguile/bitvectors.h:
* libguile/bitvectors.c (scm_c_bitvector_flip_all_bits_x): New function.
* libguile/deprecated.h:
* libguile/deprecated.c (scm_bit_invert_x): Deprecate.
* module/ice-9/sandbox.scm (mutable-bitvector-bindings): Replace
  bit-invert! with bitvector-flip-all-bits!.
* module/system/vm/frame.scm (available-bindings): Use the new
  interface.
* test-suite/tests/bitvectors.test: Update.
This commit is contained in:
Andy Wingo 2020-04-18 22:16:31 +02:00
commit f897efa9f1
9 changed files with 70 additions and 40 deletions

View file

@ -6600,12 +6600,14 @@ Set or clear the bit at index @var{idx} of the bitvector @var{vec}.
@deffn {Scheme Procedure} bitvector-set-all-bits! vec
@deffnx {Scheme Procedure} bitvector-clear-all-bits! vec
Set or clear all bits of @var{vec}.
@deffnx {Scheme Procedure} bitvector-flip-all-bits! vec
Set, clear, or flip all bits of @var{vec}.
@end deffn
@deftypefn {C Function} void scm_c_bitvector_set_all_bits_x (SCM vec)
@deftypefnx {C Function} void scm_c_bitvector_clear_all_bits_x (SCM vec)
Set or clear all bits in the bitvector @var{vec}.
@deftypefnx {C Function} void scm_c_bitvector_flip_all_bits_x (SCM vec)
Set, clear, or flip all bits in the bitvector @var{vec}.
@end deftypefn
@deffn {Scheme Procedure} list->bitvector list
@ -6642,11 +6644,6 @@ entry between @var{start} and the end of @var{bitvector}, then return
@end example
@end deffn
@deffn {Scheme Procedure} bit-invert! bitvector
@deffnx {C Function} scm_bit_invert_x (bitvector)
Modify @var{bitvector} by replacing each element with its negation.
@end deffn
@deffn {Scheme Procedure} bitvector-set-bits! bitvector bits
@deffnx {C Function} scm_bit_set_star_x (bitvector, bits)
Set entries of @var{bitvector} to @code{#t}, with @var{bits} selecting