bloqade.lanes.analysis.placement.lattice.UserMoved
← Module overview
class
method
sourcemethod
sourcemethod
source
classUserMoved¶source
bloqade.lanes.analysis.placement.lattice.UserMoved
Bases: ConcreteState
State produced by a user-directed place.MoveTo statement.
Signature
class UserMoved(occupied: frozenset[LocationAddress], layout: tuple[LocationAddress, ...], move_count: tuple[int, ...], *, move_layers: tuple[tuple[LaneAddress, ...], ...], accumulated_move_layers: tuple[tuple[LaneAddress, ...], ...], pre_user_layout: tuple[LocationAddress, ...])move_layers: AOD layers for this MoveTo only; read by InsertMoves to emit forward Move IR at the MoveTo site.accumulated_move_layers: all user-move layers since the last CZ (or start), for palindrome return at the next CZ.pre_user_layout: atom layout before the first user move in this inter-CZ segment; the palindrome home position.
Parameters
| Name | Type | Description |
|---|---|---|
occupied | frozenset[LocationAddress] | |
layout | tuple[LocationAddress, ...] | |
move_count | tuple[int, ...] | |
move_layers | tuple[tuple[LaneAddress, ...], ...] | |
accumulated_move_layers | tuple[tuple[LaneAddress, ...], ...] | |
pre_user_layout | tuple[LocationAddress, ...] |
Attributes
| Name | Type | Default | Description |
|---|---|---|---|
move_layers | tuple[tuple[LaneAddress, ...], ...] | field(kw_only=True) | |
accumulated_move_layers | tuple[tuple[LaneAddress, ...], ...] | field(kw_only=True) | |
pre_user_layout | tuple[LocationAddress, ...] | field(kw_only=True) |
methodget_move_layers¶source
bloqade.lanes.analysis.placement.lattice.UserMoved.get_move_layers
def get_move_layers() -> tuple[tuple[LaneAddress, ...], ...]Returns
tuple[tuple[LaneAddress, ...], ...]
methodis_subseteq¶source
bloqade.lanes.analysis.placement.lattice.UserMoved.is_subseteq
def is_subseteq(other: AtomState) -> boolParameters
| Name | Type | Description |
|---|---|---|
other | AtomState |
Returns
bool
methodfrom_concrete_state¶source
bloqade.lanes.analysis.placement.lattice.UserMoved.from_concrete_state
Signature
def from_concrete_state(state: ConcreteState, move_layers: tuple[tuple[LaneAddress, ...], ...], accumulated_move_layers: tuple[tuple[LaneAddress, ...], ...], pre_user_layout: tuple[LocationAddress, ...]) -> UserMovedParameters
| Name | Type | Description |
|---|---|---|
state | ConcreteState | |
move_layers | tuple[tuple[LaneAddress, ...], ...] | |
accumulated_move_layers | tuple[tuple[LaneAddress, ...], ...] | |
pre_user_layout | tuple[LocationAddress, ...] |
Returns
UserMoved