Module adseq.implementations.bgpq1

Classes

class BGPQ1 (inner: ForwardRef('SRush_BGPQ_KeyOnly'))
Expand source code
class BGPQ1(typing.NamedTuple):
    inner: SRush_BGPQ_KeyOnly
    @classmethod
    def init(cls, delay):
        del delay
        return BGPQ1(SRush_BGPQ_KeyOnly.make(size=8))
    def enqueue(self, n):
        return BGPQ1(self.inner.insert(8, jnp.array([n]).astype(float)))
    def pop(self, n):
        nxt, ks = self.inner.delete_min(1)
        hit = (ks <= n)[0]
        return (jax.lax.cond(hit, lambda: BGPQ1(nxt), lambda: self),
                hit.astype('int32'))

BGPQ1(inner,)

Ancestors

  • builtins.tuple

Static methods

def init(delay)

Instance variables

var inner : adseq.implementations.bgpq1.SRush_BGPQ_KeyOnly
Expand source code
class BGPQ1(typing.NamedTuple):
    inner: SRush_BGPQ_KeyOnly
    @classmethod
    def init(cls, delay):
        del delay
        return BGPQ1(SRush_BGPQ_KeyOnly.make(size=8))
    def enqueue(self, n):
        return BGPQ1(self.inner.insert(8, jnp.array([n]).astype(float)))
    def pop(self, n):
        nxt, ks = self.inner.delete_min(1)
        hit = (ks <= n)[0]
        return (jax.lax.cond(hit, lambda: BGPQ1(nxt), lambda: self),
                hit.astype('int32'))

Alias for field number 0

Methods

def enqueue(self, n)
Expand source code
def enqueue(self, n):
    return BGPQ1(self.inner.insert(8, jnp.array([n]).astype(float)))
def pop(self, n)
Expand source code
def pop(self, n):
    nxt, ks = self.inner.delete_min(1)
    hit = (ks <= n)[0]
    return (jax.lax.cond(hit, lambda: BGPQ1(nxt), lambda: self),
            hit.astype('int32'))