jam.types.base.sequences.bytes.bit_array module
- class jam.types.base.sequences.bytes.bit_array.BitArray(value: int | bool | bytes | str | bytearray | memoryview | Sequence)[source]
Bases:
ArrayFixed-length bit sequence implementation that supports codec operations.
A BitSequence represents a fixed-length sequence of bits, where each bit is represented as a Boolean value. The sequence is encoded as a compact bit array.
- __init__(value: int | bool | bytes | str | bytearray | memoryview | Sequence)[source]
Initialize bit sequence.
- Parameters:
value – Initial values. Must match the fixed length. All elements must be Boolean instances.
- Raises:
TypeError – If elements are not Boolean instances
ValueError – If initial values don’t match fixed length
- jam.types.base.sequences.bytes.bit_array.decodable_bit_array(length: int, bitorder: Literal['msb', 'lsb'] | None = 'msb') Callable[[Type[BitArray]], Type[BitArray]][source]
Extend existing decodable_array to be array of Bits
- class jam.types.base.sequences.bytes.bit_array.Byte(value: int | bool | bytes | str | bytearray | memoryview | Sequence)[source]
Bases:
BitArrayA single byte value that supports codec operations. Array uses BitSequenceCodec.
A Byte represents an 8-bit array that is encoded as a single byte.
- static decode_from(buffer: bytes | bytearray | memoryview, offset: int = 0) Tuple[BitArray, int]
Decode from buffer. Must be implemented by subclasses or added via decorator.
- Parameters:
buffer – Buffer to decode from
offset – Starting position in buffer
- Returns:
The decoded value
Number of bytes read
- Return type:
Tuple containing