* optimize util.random_p() by also using bitwise AND in final
step
* fix DeprecationWarning regarding u type code
* add verification tests for internals of util.random_p()
* optimize util.random_p() for n < 100
* add Random Bitarrays documentation
* add statistical tests for random functions
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-bitarray?expand=0&rev=74
* minor updates to documentation
* C-level:
- simplify and speedup `extend_unicode01()`
- customize `resize_lite()` - avoid unused code
- use `PyTypeObject` for bitarray type object in `_util.c` to
be consistent with `_bitarray.c`
- add and improve comments to implementation of sparse bitarray
compression
- simplify `sc_count()`
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-bitarray?expand=0&rev=70
* extend documentation of
[compression of sparse bitarrays](sparse_compression.rst)
* `util.sc_decode()` and `util.vl_decode()` now raise `StopIteration`
instead of `ValueError` when unexpected end of stream is encountered
* add debug mode tests for `read_n()`, `write_n()` and `count_from_word()`
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-bitarray?expand=0&rev=66
* remove `.endian()` method in favor of data descriptor `.endian`
* allow bitarray initializer `bytes` or `bytearray` to set buffer directly
* allow calling `.extend()` with `bytes` object (although the only
valid bytes are 0x00 and 0x01)
* add `util.byteswap()`
* add `util.correspond_all()`
* fix `.reverse()` for imported buffer
* drop Python 3.5 support
* add tests
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-bitarray?expand=0&rev=62
- update to 3.3.1:
* remove License classifier in favor of a SPDX license
expression, #231
* reorganize and cleanup many tests
* add optional group and sep arguments' to .to01(), #230 - as
well as util.ba2hex() and util.ba2base()
* ignore whitespace in util.base2ba() and util.hex2ba()
* check for embedded nul characters when extending (and
initializing) bitarray from string
* improve testing
* add double precision floating point number example
OBS-URL: https://build.opensuse.org/request/show/1272311
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-bitarray?expand=0&rev=30
* remove License classifier in favor of a SPDX license
expression, #231
* reorganize and cleanup many tests
* add optional group and sep arguments' to .to01(), #230 - as
well as util.ba2hex() and util.ba2base()
* ignore whitespace in util.base2ba() and util.hex2ba()
* check for embedded nul characters when extending (and
initializing) bitarray from string
* improve testing
* add double precision floating point number example
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-bitarray?expand=0&rev=58
* add `util.xor_indices()`, #229
* add Hamming code example
- Update to 3.1.1
* updated `pythoncapi_compat.h` for pypy3.11 support, see #227
* use `__builtin_parityll()` when available in `util.parity()`
* add `parity_64()` to header
* simplify some tests
* add LFSR example
- Update to 3.1.0
* allow mask assignment to bitarrays, see #225
* add missing masked operations to pyi-file
* refactor `resize()` and avoid overallocation when downsizing buffer
* update `build_wheels.yml`
* fix some typos
* minor simplifications
* rename `growth/` example to `resize/` and add tests for `resize()`
* update gene example
* add comments
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-bitarray?expand=0&rev=56
- update to 3.0.0:
* see Bitarray 3 transition
* remove Python 2.7 support
* .decode() now returns iterator (equivalent to past
.iterdecode())
* .search() now returns iterator (equivalent to past
.itersearch())
* remove .iterdecode() and .itersearch()
* remove util.rindex(), use .index(..., right=1) instead,
deprecated since 2.9
* remove util.make_endian(), use bitarray(..., endian=...)
instead, deprecated since 2.9
* remove hackish support for bitarray() handling unpickling,
see detailed explaination in #207 - closes#206
* add official Python 3.13 support
* update cibuildwheel to 2.21.3
* minor simplifications
* fix some typos
OBS-URL: https://build.opensuse.org/request/show/1218794
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-bitarray?expand=0&rev=28
* see Bitarray 3 transition
* remove Python 2.7 support
* .decode() now returns iterator (equivalent to past
.iterdecode())
* .search() now returns iterator (equivalent to past
.itersearch())
* remove .iterdecode() and .itersearch()
* remove util.rindex(), use .index(..., right=1) instead,
deprecated since 2.9
* remove util.make_endian(), use bitarray(..., endian=...)
instead, deprecated since 2.9
* remove hackish support for bitarray() handling unpickling,
see detailed explaination in #207 - closes#206
* add official Python 3.13 support
* update cibuildwheel to 2.21.3
* minor simplifications
* fix some typos
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-bitarray?expand=0&rev=54
- update to 2.9.1:
* avoid buffer being unnecessarily initialized with 0s in
several functions of the ``bitarray.util`` module
* fix ``.count()`` type hint in pyi-file
* improve testing
* deprecate support for Python 2 - Python 2.7 support will be
removed in bitarray version 3.0
* ``bitarray(n)`` for integer initializer ``n`` will always
return a bitarray of length ``n`` with all items initialized
to ``0``
* allow sub-bitarray in ``.count()``, `#212
* add ``util.ones()`` ``.find()`` and ``.index()``:
add keyword argument ``right`` for rightmost index
* ``.itersearch()``: add start and stop argument, and keyword
* argument ``right``
* deprecate ``util.rindex()`` (will be removed in 3.0 release),
* use ``.index(..., right=True)`` instead
* deprecate ``util.make_endian()`` (will be removed in 3.0
release),
* use ``bitarray(..., endian=...)`` instead
OBS-URL: https://build.opensuse.org/request/show/1135240
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-bitarray?expand=0&rev=25
* avoid buffer being unnecessarily initialized with 0s in
several functions of the ``bitarray.util`` module
* fix ``.count()`` type hint in pyi-file
* improve testing
* deprecate support for Python 2 - Python 2.7 support will be
removed in bitarray version 3.0
* ``bitarray(n)`` for integer initializer ``n`` will always
return a bitarray of length ``n`` with all items initialized
to ``0``
* allow sub-bitarray in ``.count()``, `#212
* add ``util.ones()`` ``.find()`` and ``.index()``:
add keyword argument ``right`` for rightmost index
* ``.itersearch()``: add start and stop argument, and keyword
* argument ``right``
* deprecate ``util.rindex()`` (will be removed in 3.0 release),
* use ``.index(..., right=True)`` instead
* deprecate ``util.make_endian()`` (will be removed in 3.0
release),
* use ``bitarray(..., endian=...)`` instead
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-bitarray?expand=0&rev=48
* speedup unaligned copies by always using word shifts (in
combination with builtin byte swap 64 when available) when
bit-endianness and machine byte-order are opposite
* add ``HAVE_BUILTIN_BSWAP64`` to header
* avoid misaligned pointers when casting to ``(uint64_t *)``
* add tests
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-bitarray?expand=0&rev=46
- update to 2.8.2:
* improve error messages for masked assignment
* simplify test collection
* added ``pytest.ini`` to allow running pytest with no
additional arguments
* ``util.sc_encode()``: avoid writing empty blocks at end of
compressed stream, ie. skip encoding when total population
count is reached
* optimize `richcompare()`
* `.bytereverse()` no longer sets unused pad bits to zero
* fix `sys.getsizeof(bitarray)` by adding `.__sizeof__()`, see issue #100
- Update to 1.5.2:
OBS-URL: https://build.opensuse.org/request/show/1115784
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-bitarray?expand=0&rev=21
* improve error messages for masked assignment
* simplify test collection
* added ``pytest.ini`` to allow running pytest with no
additional arguments
* ``util.sc_encode()``: avoid writing empty blocks at end of
compressed stream, ie. skip encoding when total population
count is reached
* optimize `richcompare()`
* `.bytereverse()` no longer sets unused pad bits to zero
* fix `sys.getsizeof(bitarray)` by adding `.__sizeof__()`, see issue #100
- Update to 1.5.2:
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-bitarray?expand=0&rev=40
- update to 2.7.3:
* allow running ``python setup.py test``
* add official Python 3.12 support
* simplify count functionality in util module
* retire ``bitcount_lookup[256]`` table
* improve ``util.count_n()`` error messages
* avoid ``util`` module tests from being run more than once in
each call to ``bitarray.test()`` when called multiple times in
the same Python process
* improve testing
OBS-URL: https://build.opensuse.org/request/show/1069754
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-bitarray?expand=0&rev=17
* fix popcount64 name conflict on NetBSD
* even though PyPy is not actively supported, allow running
tests for PyPy 3.7 and 3.8
* allow running ``python setup.py test``
* add official Python 3.12 support
* simplify count functionality in util module
* retire ``bitcount_lookup[256]`` table
* improve ``util.count_n()`` error messages
* avoid ``util`` module tests from being run more than once in
each call to ``bitarray.test()`` when called multiple times in
the same Python process
* improve testing
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-bitarray?expand=0&rev=31