Lattice
AddressQubit
dataclass
AddressQubit(data: int)
Bases: QubitLike
A lattice element representing a single qubit with a known address.
AddressReg
dataclass
AddressReg(data: Sequence[int])
Bases: RegisterLike
A lattice element representing a container of qubits with known indices.
Bottom
dataclass
Bottom()
Bases: Address
Error during interpretation
ConstResult
dataclass
ConstResult(result: Result)
Bases: Address
Stores a constant prop result in the lattice
PartialIList
dataclass
PartialIList(data: tuple[Address, ...])
PartialIListMeta
Bases: LatticeAttributeMeta
This metaclass assures that PartialILists of ConstResults or AddressQubits are canonicalized to a single ConstResult or AddressReg respectively.
because AddressReg is a specialization of PartialIList, being a container of pure qubit addresses. For Operations that act in generic containers (e.g., ilist.ForEach), AddressReg is treated as PartialIList but for other types of analysis it is often useful to distinguish between a generic IList and a pure qubit address list.
Inside the method tables the GetValuesMixin implements a method that effectively
undoes this canonicalization.
PartialLambda
dataclass
PartialLambda(
argnames: list[str],
code: Statement,
captured: tuple[Address, ...],
)
Bases: Address
Represents a partially known lambda function
PartialTuple
dataclass
PartialTuple(data: tuple[Address, ...])
PartialTupleMeta
Bases: LatticeAttributeMeta
This metaclass assures that PartialTuples of ConstResults are canonicalized to a single ConstResult.
StaticContainer
dataclass
StaticContainer(data: tuple[Address, ...])
Bases: Address
A lattice element representing the results of any static container, e. g. ilist or tuple.
Unknown
dataclass
Unknown()
Bases: Address
Can't determine if it is an address or constant.
UnknownQubit
dataclass
UnknownQubit()
Bases: QubitLike
A lattice element representing a single qubit with an unknown address.
UnknownReg
dataclass
UnknownReg()
Bases: RegisterLike
A lattice element representing a container of qubits with unknown indices.