Module adseq.implementations.bitarray32
Classes
class BitArray32 (buffer: int | jax.Array)-
Expand source code
class BitArray32(typing.NamedTuple): buffer: jax.Array | int @classmethod def init(cls, delay=None): if not (delay is None or delay < 32): print('Warning: BitArray32 can only handle delay < 32') return cls(jnp.zeros(shape=(), dtype='int32')) def enqueue(self, n): return BitArray32(self.buffer | (1 << (n&0x1f))) def pop(self, n): return BitArray32(self.buffer & ~(1<<(n&0x1f))), (self.buffer>>(n&0x1f))&1BitArray32(buffer,)
Ancestors
- builtins.tuple
Static methods
def init(delay=None)
Instance variables
var buffer : int | jax.Array-
Expand source code
class BitArray32(typing.NamedTuple): buffer: jax.Array | int @classmethod def init(cls, delay=None): if not (delay is None or delay < 32): print('Warning: BitArray32 can only handle delay < 32') return cls(jnp.zeros(shape=(), dtype='int32')) def enqueue(self, n): return BitArray32(self.buffer | (1 << (n&0x1f))) def pop(self, n): return BitArray32(self.buffer & ~(1<<(n&0x1f))), (self.buffer>>(n&0x1f))&1Alias for field number 0
Methods
def enqueue(self, n)-
Expand source code
def enqueue(self, n): return BitArray32(self.buffer | (1 << (n&0x1f))) def pop(self, n)-
Expand source code
def pop(self, n): return BitArray32(self.buffer & ~(1<<(n&0x1f))), (self.buffer>>(n&0x1f))&1