quri_parts.qsub.allocate module

class Allocator

Bases: Generic[T], ABC

abstract allocate(bit_count)
Parameters:

bit_count (int)

Return type:

Sequence[T]

abstract allocate_map(bits)
Parameters:

bits (Sequence[T])

Return type:

Mapping[T, T]

abstract free(bits)
Parameters:

bits (Sequence[T])

Return type:

None

abstract free_last(bit_count)
Parameters:

bit_count (int)

Return type:

None

abstract in_use(bit)
Parameters:

bit (T)

Return type:

bool

abstract total()
Return type:

int

class HierarchicalReuseAllocator(bit_class, init_count=0)

Bases: Allocator[T]

Parameters:
  • bit_class (type[T])

  • init_count (int)

allocate(bit_count)
Parameters:

bit_count (int)

Return type:

Sequence[T]

allocate_map(bits)
Parameters:

bits (Sequence[T])

Return type:

Mapping[T, T]

free(bits)
Parameters:

bits (Sequence[T])

Return type:

None

free_last(bit_count)
Parameters:

bit_count (int)

Return type:

None

in_use(bit)
Parameters:

bit (T)

Return type:

bool

total()
Return type:

int

class QubitAllocator(init_count=0)

Bases: HierarchicalReuseAllocator[Qubit]

Parameters:

init_count (int)

class RegisterAllocator(init_count=0)

Bases: HierarchicalReuseAllocator[Register]

Parameters:

init_count (int)