mqt.ionshuttler.linear.validation¶
Checks for actions and groups of transports in a Linear schedule.
Module Contents¶
- is_adjacent(pos_a: int, pos_b: int) bool[source]¶
Return whether two Linear site indices are adjacent.
- is_action_valid(state: State, action: Action, architecture: Architecture) bool[source]¶
Return whether an action can start in the current state.
This asks the action to check its own requirements. Use
is_transport_layer_valid()when several transports start together.
- is_transport_layer_valid(state: State, actions: tuple[TransportAction, ...], architecture: Architecture) bool[source]¶
Return whether several transports can safely happen together.
An ion may enter a site that another ion leaves in the same group, provided every ion ends at a different valid site.