flexfloat.ListInt64BitArray
- class flexfloat.ListInt64BitArray(chunks=None, length=0)[source]
A memory-efficient bit array class using a list of int64 values.
This implementation packs 64 bits per integer, making it more memory efficient for large bit arrays compared to the boolean list implementation.
- __init__(chunks=None, length=0)[source]
Initializes a ListInt64BitArray.
- Parameters:
chunks (
list[int] | None
, optional) – Initial list of int64 chunks. Defaults to empty list.length (
int
, optional) – The amount of bits in the array. Defaults to 0.
- Raises:
ValueError – If length is negative.
- classmethod from_bits(bits=None)[source]
Creates a BitArray from a list of boolean values.
- Parameters:
bits (
list[bool] | None
, optional) – List of boolean values in LSB-first order. Defaults to None, which creates an empty BitArray.- Returns:
A BitArray created from the bits.
- Return type:
- classmethod zeros(length)[source]
Creates a BitArray filled with zeros.
- Parameters:
length (
int
) – The length of the bit array.- Returns:
A BitArray filled with False values.
- Return type:
- classmethod ones(length)[source]
Creates a BitArray filled with ones.
- Parameters:
length (
int
) – The length of the bit array.- Returns:
A BitArray filled with True values.
- Return type:
- to_int()[source]
Converts the bit array to an unsigned integer (LSB-first).
- Returns:
The integer represented by the bit array.
- Return type:
- to_float()[source]
Converts a 64-bit array to a floating-point number (LSB-first).
- Returns:
The floating-point number represented by the bit array.
- Return type:
- Raises:
AssertionError – If the bit array is not 64 bits long.
- copy()[source]
Creates a copy of the bit array.
- Returns:
A new BitArray with the same bits.
- Return type:
- __len__()[source]
Returns the length of the bit array.
- Returns:
The number of bits in the array.
- Return type:
- __getitem__(index: int) bool [source]
- __getitem__(index: slice) ListInt64BitArray
Get a bit or a slice of bits as a new ListInt64BitArray.
- __setitem__(index: int, value: bool) None [source]
- __setitem__(index: slice, value: BitArray | list[bool]) None
Sets an item or slice in the bit array.
- __add__(other)[source]
Concatenates two bit arrays.
- Parameters:
other (
BitArray
orlist[bool]
) – The other bit array or list to concatenate.- Returns:
The concatenated bit array.
- Return type:
- __radd__(other)[source]
Reverse concatenation with a list.
- Parameters:
other (
list[bool]
) – The list to concatenate before this bit array.- Returns:
The concatenated bit array.
- Return type:
- __bool__()[source]
Returns True if any bit is set.
- Returns:
True if any bit is set, False otherwise.
- Return type:
- __repr__()[source]
Returns a string representation of the BitArray.
- Returns:
String representation of the BitArray.
- Return type: