#[doc = r" Enum of all Operations implementing [Operate]"]
#[derive(Debug, Clone, PartialEq, InvolveQubits, Operate, Substitute, SupportedVersion)]
#[cfg_attr(feature = "serialize", derive(serde::Serialize, serde::Deserialize))]
#[cfg_attr(feature = "json_schema", derive(schemars::JsonSchema))]
#[non_exhaustive]
pub enum Operation {
#[allow(clippy::upper_case_acronyms)]
#[doc = "Variant for SingleQubitGate"]
SingleQubitGate(SingleQubitGate),
#[allow(clippy::upper_case_acronyms)]
#[doc = "Variant for RotateZ"]
RotateZ(RotateZ),
#[allow(clippy::upper_case_acronyms)]
#[doc = "Variant for RotateX"]
RotateX(RotateX),
#[allow(clippy::upper_case_acronyms)]
#[doc = "Variant for RotateY"]
RotateY(RotateY),
#[allow(clippy::upper_case_acronyms)]
#[doc = "Variant for PauliX"]
PauliX(PauliX),
#[allow(clippy::upper_case_acronyms)]
#[doc = "Variant for PauliY"]
PauliY(PauliY),
#[allow(clippy::upper_case_acronyms)]
#[doc = "Variant for PauliZ"]
PauliZ(PauliZ),
#[allow(clippy::upper_case_acronyms)]
#[doc = "Variant for SqrtPauliX"]
SqrtPauliX(SqrtPauliX),
#[allow(clippy::upper_case_acronyms)]
#[doc = "Variant for InvSqrtPauliX"]
InvSqrtPauliX(InvSqrtPauliX),
#[allow(clippy::upper_case_acronyms)]
#[doc = "Variant for Hadamard"]
Hadamard(Hadamard),
#[allow(clippy::upper_case_acronyms)]
#[doc = "Variant for SGate"]
SGate(SGate),
#[allow(clippy::upper_case_acronyms)]
#[doc = "Variant for TGate"]
TGate(TGate),
#[allow(clippy::upper_case_acronyms)]
#[doc = "Variant for PhaseShiftState1"]
PhaseShiftState1(PhaseShiftState1),
#[allow(clippy::upper_case_acronyms)]
#[doc = "Variant for PhaseShiftState0"]
PhaseShiftState0(PhaseShiftState0),
#[allow(clippy::upper_case_acronyms)]
#[doc = "Variant for RotateAroundSphericalAxis"]
RotateAroundSphericalAxis(RotateAroundSphericalAxis),
#[allow(clippy::upper_case_acronyms)]
#[doc = "Variant for RotateXY"]
RotateXY(RotateXY),
#[allow(clippy::upper_case_acronyms)]
#[doc = "Variant for PragmaSetNumberOfMeasurements"]
PragmaSetNumberOfMeasurements(PragmaSetNumberOfMeasurements),
#[allow(clippy::upper_case_acronyms)]
#[doc = "Variant for PragmaSetStateVector"]
PragmaSetStateVector(PragmaSetStateVector),
#[allow(clippy::upper_case_acronyms)]
#[doc = "Variant for PragmaSetDensityMatrix"]
PragmaSetDensityMatrix(PragmaSetDensityMatrix),
#[allow(clippy::upper_case_acronyms)]
#[doc = "Variant for PragmaRepeatGate"]
PragmaRepeatGate(PragmaRepeatGate),
#[allow(clippy::upper_case_acronyms)]
#[doc = "Variant for PragmaOverrotation"]
PragmaOverrotation(PragmaOverrotation),
#[allow(clippy::upper_case_acronyms)]
#[doc = "Variant for PragmaBoostNoise"]
PragmaBoostNoise(PragmaBoostNoise),
#[allow(clippy::upper_case_acronyms)]
#[doc = "Variant for PragmaStopParallelBlock"]
PragmaStopParallelBlock(PragmaStopParallelBlock),
#[allow(clippy::upper_case_acronyms)]
#[doc = "Variant for PragmaGlobalPhase"]
PragmaGlobalPhase(PragmaGlobalPhase),
#[allow(clippy::upper_case_acronyms)]
#[doc = "Variant for PragmaSleep"]
PragmaSleep(PragmaSleep),
#[allow(clippy::upper_case_acronyms)]
#[doc = "Variant for PragmaActiveReset"]
PragmaActiveReset(PragmaActiveReset),
#[allow(clippy::upper_case_acronyms)]
#[doc = "Variant for PragmaStartDecompositionBlock"]
PragmaStartDecompositionBlock(PragmaStartDecompositionBlock),
#[allow(clippy::upper_case_acronyms)]
#[doc = "Variant for PragmaStopDecompositionBlock"]
PragmaStopDecompositionBlock(PragmaStopDecompositionBlock),
#[allow(clippy::upper_case_acronyms)]
#[doc = "Variant for PragmaDamping"]
PragmaDamping(PragmaDamping),
#[allow(clippy::upper_case_acronyms)]
#[doc = "Variant for PragmaDepolarising"]
PragmaDepolarising(PragmaDepolarising),
#[allow(clippy::upper_case_acronyms)]
#[doc = "Variant for PragmaDephasing"]
PragmaDephasing(PragmaDephasing),
#[allow(clippy::upper_case_acronyms)]
#[doc = "Variant for PragmaRandomNoise"]
PragmaRandomNoise(PragmaRandomNoise),
#[allow(clippy::upper_case_acronyms)]
#[doc = "Variant for PragmaGeneralNoise"]
PragmaGeneralNoise(PragmaGeneralNoise),
#[allow(clippy::upper_case_acronyms)]
#[doc = "Variant for PragmaConditional"]
PragmaConditional(PragmaConditional),
#[allow(clippy::upper_case_acronyms)]
#[doc = "Variant for PragmaChangeDevice"]
PragmaChangeDevice(PragmaChangeDevice),
#[allow(clippy::upper_case_acronyms)]
#[doc = "Variant for CNOT"]
CNOT(CNOT),
#[allow(clippy::upper_case_acronyms)]
#[doc = "Variant for SWAP"]
SWAP(SWAP),
#[allow(clippy::upper_case_acronyms)]
#[doc = "Variant for ISwap"]
ISwap(ISwap),
#[allow(clippy::upper_case_acronyms)]
#[doc = "Variant for FSwap"]
FSwap(FSwap),
#[allow(clippy::upper_case_acronyms)]
#[doc = "Variant for SqrtISwap"]
SqrtISwap(SqrtISwap),
#[allow(clippy::upper_case_acronyms)]
#[doc = "Variant for InvSqrtISwap"]
InvSqrtISwap(InvSqrtISwap),
#[allow(clippy::upper_case_acronyms)]
#[doc = "Variant for XY"]
XY(XY),
#[allow(clippy::upper_case_acronyms)]
#[doc = "Variant for ControlledPhaseShift"]
ControlledPhaseShift(ControlledPhaseShift),
#[allow(clippy::upper_case_acronyms)]
#[doc = "Variant for ControlledPauliY"]
ControlledPauliY(ControlledPauliY),
#[allow(clippy::upper_case_acronyms)]
#[doc = "Variant for ControlledPauliZ"]
ControlledPauliZ(ControlledPauliZ),
#[allow(clippy::upper_case_acronyms)]
#[doc = "Variant for MolmerSorensenXX"]
MolmerSorensenXX(MolmerSorensenXX),
#[allow(clippy::upper_case_acronyms)]
#[doc = "Variant for VariableMSXX"]
VariableMSXX(VariableMSXX),
#[allow(clippy::upper_case_acronyms)]
#[doc = "Variant for GivensRotation"]
GivensRotation(GivensRotation),
#[allow(clippy::upper_case_acronyms)]
#[doc = "Variant for GivensRotationLittleEndian"]
GivensRotationLittleEndian(GivensRotationLittleEndian),
#[allow(clippy::upper_case_acronyms)]
#[doc = "Variant for Qsim"]
Qsim(Qsim),
#[allow(clippy::upper_case_acronyms)]
#[doc = "Variant for Fsim"]
Fsim(Fsim),
#[allow(clippy::upper_case_acronyms)]
#[doc = "Variant for SpinInteraction"]
SpinInteraction(SpinInteraction),
#[allow(clippy::upper_case_acronyms)]
#[doc = "Variant for Bogoliubov"]
Bogoliubov(Bogoliubov),
#[allow(clippy::upper_case_acronyms)]
#[doc = "Variant for PMInteraction"]
PMInteraction(PMInteraction),
#[allow(clippy::upper_case_acronyms)]
#[doc = "Variant for ComplexPMInteraction"]
ComplexPMInteraction(ComplexPMInteraction),
#[allow(clippy::upper_case_acronyms)]
#[doc = "Variant for PhaseShiftedControlledZ"]
PhaseShiftedControlledZ(PhaseShiftedControlledZ),
#[allow(clippy::upper_case_acronyms)]
#[doc = "Variant for MultiQubitMS"]
MultiQubitMS(MultiQubitMS),
#[allow(clippy::upper_case_acronyms)]
#[doc = "Variant for MultiQubitZZ"]
MultiQubitZZ(MultiQubitZZ),
#[allow(clippy::upper_case_acronyms)]
#[doc = "Variant for MeasureQubit"]
MeasureQubit(MeasureQubit),
#[allow(clippy::upper_case_acronyms)]
#[doc = "Variant for PragmaGetStateVector"]
PragmaGetStateVector(PragmaGetStateVector),
#[allow(clippy::upper_case_acronyms)]
#[doc = "Variant for PragmaGetDensityMatrix"]
PragmaGetDensityMatrix(PragmaGetDensityMatrix),
#[allow(clippy::upper_case_acronyms)]
#[doc = "Variant for PragmaGetOccupationProbability"]
PragmaGetOccupationProbability(PragmaGetOccupationProbability),
#[allow(clippy::upper_case_acronyms)]
#[doc = "Variant for PragmaGetPauliProduct"]
PragmaGetPauliProduct(PragmaGetPauliProduct),
#[allow(clippy::upper_case_acronyms)]
#[doc = "Variant for PragmaRepeatedMeasurement"]
PragmaRepeatedMeasurement(PragmaRepeatedMeasurement),
#[allow(clippy::upper_case_acronyms)]
#[doc = "Variant for DefinitionFloat"]
DefinitionFloat(DefinitionFloat),
#[allow(clippy::upper_case_acronyms)]
#[doc = "Variant for DefinitionComplex"]
DefinitionComplex(DefinitionComplex),
#[allow(clippy::upper_case_acronyms)]
#[doc = "Variant for DefinitionUsize"]
DefinitionUsize(DefinitionUsize),
#[allow(clippy::upper_case_acronyms)]
#[doc = "Variant for DefinitionBit"]
DefinitionBit(DefinitionBit),
#[allow(clippy::upper_case_acronyms)]
#[doc = "Variant for InputSymbolic"]
InputSymbolic(InputSymbolic),
#[allow(clippy::upper_case_acronyms)]
#[doc = "Variant for PragmaLoop"]
PragmaLoop(PragmaLoop),
#[allow(clippy::upper_case_acronyms)]
#[doc = "Variant for InputBit"]
InputBit(InputBit),
#[allow(clippy::upper_case_acronyms)]
#[doc = "Variant for PhaseShiftedControlledPhase"]
PhaseShiftedControlledPhase(PhaseShiftedControlledPhase),
#[allow(clippy::upper_case_acronyms)]
#[doc = "Variant for ControlledRotateX"]
ControlledRotateX(ControlledRotateX),
#[allow(clippy::upper_case_acronyms)]
#[doc = "Variant for ControlledRotateXY"]
ControlledRotateXY(ControlledRotateXY),
#[allow(clippy::upper_case_acronyms)]
#[doc = "Variant for ControlledControlledPauliZ"]
ControlledControlledPauliZ(ControlledControlledPauliZ),
#[allow(clippy::upper_case_acronyms)]
#[doc = "Variant for ControlledControlledPhaseShift"]
ControlledControlledPhaseShift(ControlledControlledPhaseShift),
#[allow(clippy::upper_case_acronyms)]
#[doc = "Variant for Toffoli"]
Toffoli(Toffoli),
#[allow(clippy::upper_case_acronyms)]
#[doc = "Variant for GPi"]
GPi(GPi),
#[allow(clippy::upper_case_acronyms)]
#[doc = "Variant for GPi2"]
GPi2(GPi2),
#[allow(clippy::upper_case_acronyms)]
#[doc = "Variant for PragmaControlledCircuit"]
PragmaControlledCircuit(PragmaControlledCircuit),
#[allow(clippy::upper_case_acronyms)]
#[doc = "Variant for Squeezing"]
Squeezing(Squeezing),
#[allow(clippy::upper_case_acronyms)]
#[doc = "Variant for PhaseShift"]
PhaseShift(PhaseShift),
#[allow(clippy::upper_case_acronyms)]
#[doc = "Variant for BeamSplitter"]
BeamSplitter(BeamSplitter),
#[allow(clippy::upper_case_acronyms)]
#[doc = "Variant for PhotonDetection"]
PhotonDetection(PhotonDetection),
#[allow(clippy::upper_case_acronyms)]
#[doc = "Variant for Identity"]
Identity(Identity),
#[allow(clippy::upper_case_acronyms)]
#[doc = "Variant for PragmaAnnotatedOp"]
PragmaAnnotatedOp(PragmaAnnotatedOp),
#[allow(clippy::upper_case_acronyms)]
#[doc = "Variant for EchoCrossResonance"]
EchoCrossResonance(EchoCrossResonance),
#[allow(clippy::upper_case_acronyms)]
#[doc = "Variant for PhaseDisplacement"]
PhaseDisplacement(PhaseDisplacement),
#[allow(clippy::upper_case_acronyms)]
#[doc = "Variant for QuantumRabi"]
QuantumRabi(QuantumRabi),
#[allow(clippy::upper_case_acronyms)]
#[doc = "Variant for LongitudinalCoupling"]
LongitudinalCoupling(LongitudinalCoupling),
#[allow(clippy::upper_case_acronyms)]
#[doc = "Variant for JaynesCummings"]
JaynesCummings(JaynesCummings),
#[allow(clippy::upper_case_acronyms)]
#[doc = "Variant for SingleExcitationStore"]
SingleExcitationStore(SingleExcitationStore),
#[allow(clippy::upper_case_acronyms)]
#[doc = "Variant for SingleExcitationLoad"]
SingleExcitationLoad(SingleExcitationLoad),
#[allow(clippy::upper_case_acronyms)]
#[doc = "Variant for CZQubitResonator"]
CZQubitResonator(CZQubitResonator),
}
#[doc = r" Enum of all Operations implementing [OperateSingleQubit]"]
#[derive(
Debug,
Clone,
PartialEq,
InvolveQubits,
Operate,
OperateTryFromEnum,
Substitute,
OperateSingleQubit,
SupportedVersion,
)]
#[cfg_attr(feature = "serialize", derive(serde::Serialize, serde::Deserialize))]
#[cfg_attr(feature = "json_schema", derive(schemars::JsonSchema))]
#[non_exhaustive]
pub enum SingleQubitOperation {
#[allow(clippy::upper_case_acronyms)]
#[doc = "Variant for SingleQubitGate"]
SingleQubitGate(SingleQubitGate),
#[allow(clippy::upper_case_acronyms)]
#[doc = "Variant for RotateZ"]
RotateZ(RotateZ),
#[allow(clippy::upper_case_acronyms)]
#[doc = "Variant for RotateX"]
RotateX(RotateX),
#[allow(clippy::upper_case_acronyms)]
#[doc = "Variant for RotateY"]
RotateY(RotateY),
#[allow(clippy::upper_case_acronyms)]
#[doc = "Variant for PauliX"]
PauliX(PauliX),
#[allow(clippy::upper_case_acronyms)]
#[doc = "Variant for PauliY"]
PauliY(PauliY),
#[allow(clippy::upper_case_acronyms)]
#[doc = "Variant for PauliZ"]
PauliZ(PauliZ),
#[allow(clippy::upper_case_acronyms)]
#[doc = "Variant for SqrtPauliX"]
SqrtPauliX(SqrtPauliX),
#[allow(clippy::upper_case_acronyms)]
#[doc = "Variant for InvSqrtPauliX"]
InvSqrtPauliX(InvSqrtPauliX),
#[allow(clippy::upper_case_acronyms)]
#[doc = "Variant for Hadamard"]
Hadamard(Hadamard),
#[allow(clippy::upper_case_acronyms)]
#[doc = "Variant for SGate"]
SGate(SGate),
#[allow(clippy::upper_case_acronyms)]
#[doc = "Variant for TGate"]
TGate(TGate),
#[allow(clippy::upper_case_acronyms)]
#[doc = "Variant for PhaseShiftState1"]
PhaseShiftState1(PhaseShiftState1),
#[allow(clippy::upper_case_acronyms)]
#[doc = "Variant for PhaseShiftState0"]
PhaseShiftState0(PhaseShiftState0),
#[allow(clippy::upper_case_acronyms)]
#[doc = "Variant for RotateAroundSphericalAxis"]
RotateAroundSphericalAxis(RotateAroundSphericalAxis),
#[allow(clippy::upper_case_acronyms)]
#[doc = "Variant for RotateXY"]
RotateXY(RotateXY),
#[allow(clippy::upper_case_acronyms)]
#[doc = "Variant for PragmaActiveReset"]
PragmaActiveReset(PragmaActiveReset),
#[allow(clippy::upper_case_acronyms)]
#[doc = "Variant for PragmaDamping"]
PragmaDamping(PragmaDamping),
#[allow(clippy::upper_case_acronyms)]
#[doc = "Variant for PragmaDepolarising"]
PragmaDepolarising(PragmaDepolarising),
#[allow(clippy::upper_case_acronyms)]
#[doc = "Variant for PragmaDephasing"]
PragmaDephasing(PragmaDephasing),
#[allow(clippy::upper_case_acronyms)]
#[doc = "Variant for PragmaRandomNoise"]
PragmaRandomNoise(PragmaRandomNoise),
#[allow(clippy::upper_case_acronyms)]
#[doc = "Variant for PragmaGeneralNoise"]
PragmaGeneralNoise(PragmaGeneralNoise),
#[allow(clippy::upper_case_acronyms)]
#[doc = "Variant for MeasureQubit"]
MeasureQubit(MeasureQubit),
#[allow(clippy::upper_case_acronyms)]
#[doc = "Variant for GPi"]
GPi(GPi),
#[allow(clippy::upper_case_acronyms)]
#[doc = "Variant for GPi2"]
GPi2(GPi2),
#[allow(clippy::upper_case_acronyms)]
#[doc = "Variant for Identity"]
Identity(Identity),
#[allow(clippy::upper_case_acronyms)]
#[doc = "Variant for QuantumRabi"]
QuantumRabi(QuantumRabi),
#[allow(clippy::upper_case_acronyms)]
#[doc = "Variant for LongitudinalCoupling"]
LongitudinalCoupling(LongitudinalCoupling),
#[allow(clippy::upper_case_acronyms)]
#[doc = "Variant for JaynesCummings"]
JaynesCummings(JaynesCummings),
#[allow(clippy::upper_case_acronyms)]
#[doc = "Variant for SingleExcitationStore"]
SingleExcitationStore(SingleExcitationStore),
#[allow(clippy::upper_case_acronyms)]
#[doc = "Variant for SingleExcitationLoad"]
SingleExcitationLoad(SingleExcitationLoad),
#[allow(clippy::upper_case_acronyms)]
#[doc = "Variant for CZQubitResonator"]
CZQubitResonator(CZQubitResonator),
}
#[doc = r" Enum of all Operations implementing [OperateTwoQubit]"]
#[derive(
Debug,
Clone,
PartialEq,
InvolveQubits,
Operate,
OperateTryFromEnum,
Substitute,
OperateTwoQubit,
SupportedVersion,
)]
#[cfg_attr(feature = "serialize", derive(serde::Serialize, serde::Deserialize))]
#[cfg_attr(feature = "json_schema", derive(schemars::JsonSchema))]
#[non_exhaustive]
pub enum TwoQubitOperation {
#[allow(clippy::upper_case_acronyms)]
#[doc = "Variant for CNOT"]
CNOT(CNOT),
#[allow(clippy::upper_case_acronyms)]
#[doc = "Variant for SWAP"]
SWAP(SWAP),
#[allow(clippy::upper_case_acronyms)]
#[doc = "Variant for ISwap"]
ISwap(ISwap),
#[allow(clippy::upper_case_acronyms)]
#[doc = "Variant for FSwap"]
FSwap(FSwap),
#[allow(clippy::upper_case_acronyms)]
#[doc = "Variant for SqrtISwap"]
SqrtISwap(SqrtISwap),
#[allow(clippy::upper_case_acronyms)]
#[doc = "Variant for InvSqrtISwap"]
InvSqrtISwap(InvSqrtISwap),
#[allow(clippy::upper_case_acronyms)]
#[doc = "Variant for XY"]
XY(XY),
#[allow(clippy::upper_case_acronyms)]
#[doc = "Variant for ControlledPhaseShift"]
ControlledPhaseShift(ControlledPhaseShift),
#[allow(clippy::upper_case_acronyms)]
#[doc = "Variant for ControlledPauliY"]
ControlledPauliY(ControlledPauliY),
#[allow(clippy::upper_case_acronyms)]
#[doc = "Variant for ControlledPauliZ"]
ControlledPauliZ(ControlledPauliZ),
#[allow(clippy::upper_case_acronyms)]
#[doc = "Variant for MolmerSorensenXX"]
MolmerSorensenXX(MolmerSorensenXX),
#[allow(clippy::upper_case_acronyms)]
#[doc = "Variant for VariableMSXX"]
VariableMSXX(VariableMSXX),
#[allow(clippy::upper_case_acronyms)]
#[doc = "Variant for GivensRotation"]
GivensRotation(GivensRotation),
#[allow(clippy::upper_case_acronyms)]
#[doc = "Variant for GivensRotationLittleEndian"]
GivensRotationLittleEndian(GivensRotationLittleEndian),
#[allow(clippy::upper_case_acronyms)]
#[doc = "Variant for Qsim"]
Qsim(Qsim),
#[allow(clippy::upper_case_acronyms)]
#[doc = "Variant for Fsim"]
Fsim(Fsim),
#[allow(clippy::upper_case_acronyms)]
#[doc = "Variant for SpinInteraction"]
SpinInteraction(SpinInteraction),
#[allow(clippy::upper_case_acronyms)]
#[doc = "Variant for Bogoliubov"]
Bogoliubov(Bogoliubov),
#[allow(clippy::upper_case_acronyms)]
#[doc = "Variant for PMInteraction"]
PMInteraction(PMInteraction),
#[allow(clippy::upper_case_acronyms)]
#[doc = "Variant for ComplexPMInteraction"]
ComplexPMInteraction(ComplexPMInteraction),
#[allow(clippy::upper_case_acronyms)]
#[doc = "Variant for PhaseShiftedControlledZ"]
PhaseShiftedControlledZ(PhaseShiftedControlledZ),
#[allow(clippy::upper_case_acronyms)]
#[doc = "Variant for PhaseShiftedControlledPhase"]
PhaseShiftedControlledPhase(PhaseShiftedControlledPhase),
#[allow(clippy::upper_case_acronyms)]
#[doc = "Variant for ControlledRotateX"]
ControlledRotateX(ControlledRotateX),
#[allow(clippy::upper_case_acronyms)]
#[doc = "Variant for ControlledRotateXY"]
ControlledRotateXY(ControlledRotateXY),
#[allow(clippy::upper_case_acronyms)]
#[doc = "Variant for EchoCrossResonance"]
EchoCrossResonance(EchoCrossResonance),
}
#[doc = r" Enum of all Operations implementing [OperateThreeQubit]"]
#[derive(
Debug,
Clone,
PartialEq,
InvolveQubits,
Operate,
OperateTryFromEnum,
Substitute,
OperateThreeQubit,
SupportedVersion,
)]
#[cfg_attr(feature = "serialize", derive(serde::Serialize, serde::Deserialize))]
#[cfg_attr(feature = "json_schema", derive(schemars::JsonSchema))]
#[non_exhaustive]
pub enum ThreeQubitOperation {
#[allow(clippy::upper_case_acronyms)]
#[doc = "Variant for ControlledControlledPauliZ"]
ControlledControlledPauliZ(ControlledControlledPauliZ),
#[allow(clippy::upper_case_acronyms)]
#[doc = "Variant for ControlledControlledPhaseShift"]
ControlledControlledPhaseShift(ControlledControlledPhaseShift),
#[allow(clippy::upper_case_acronyms)]
#[doc = "Variant for Toffoli"]
Toffoli(Toffoli),
}
#[doc = r" Enum of all Operations implementing [OperateMultiQubit]"]
#[derive(
Debug,
Clone,
PartialEq,
InvolveQubits,
Operate,
OperateTryFromEnum,
Substitute,
OperateMultiQubit,
SupportedVersion,
)]
#[cfg_attr(feature = "serialize", derive(serde::Serialize, serde::Deserialize))]
#[cfg_attr(feature = "json_schema", derive(schemars::JsonSchema))]
#[non_exhaustive]
pub enum MultiQubitOperation {
#[allow(clippy::upper_case_acronyms)]
#[doc = "Variant for PragmaOverrotation"]
PragmaOverrotation(PragmaOverrotation),
#[allow(clippy::upper_case_acronyms)]
#[doc = "Variant for PragmaStopParallelBlock"]
PragmaStopParallelBlock(PragmaStopParallelBlock),
#[allow(clippy::upper_case_acronyms)]
#[doc = "Variant for PragmaSleep"]
PragmaSleep(PragmaSleep),
#[allow(clippy::upper_case_acronyms)]
#[doc = "Variant for PragmaStartDecompositionBlock"]
PragmaStartDecompositionBlock(PragmaStartDecompositionBlock),
#[allow(clippy::upper_case_acronyms)]
#[doc = "Variant for PragmaStopDecompositionBlock"]
PragmaStopDecompositionBlock(PragmaStopDecompositionBlock),
#[allow(clippy::upper_case_acronyms)]
#[doc = "Variant for MultiQubitMS"]
MultiQubitMS(MultiQubitMS),
#[allow(clippy::upper_case_acronyms)]
#[doc = "Variant for MultiQubitZZ"]
MultiQubitZZ(MultiQubitZZ),
}
#[doc = r" Enum of all Operations implementing [OperatePragma]"]
#[derive(
Debug,
Clone,
PartialEq,
InvolveQubits,
Operate,
OperateTryFromEnum,
Substitute,
OperatePragma,
SupportedVersion,
)]
#[cfg_attr(feature = "serialize", derive(serde::Serialize, serde::Deserialize))]
#[cfg_attr(feature = "json_schema", derive(schemars::JsonSchema))]
#[non_exhaustive]
pub enum PragmaOperation {
#[allow(clippy::upper_case_acronyms)]
#[doc = "Variant for PragmaSetNumberOfMeasurements"]
PragmaSetNumberOfMeasurements(PragmaSetNumberOfMeasurements),
#[allow(clippy::upper_case_acronyms)]
#[doc = "Variant for PragmaSetStateVector"]
PragmaSetStateVector(PragmaSetStateVector),
#[allow(clippy::upper_case_acronyms)]
#[doc = "Variant for PragmaSetDensityMatrix"]
PragmaSetDensityMatrix(PragmaSetDensityMatrix),
#[allow(clippy::upper_case_acronyms)]
#[doc = "Variant for PragmaRepeatGate"]
PragmaRepeatGate(PragmaRepeatGate),
#[allow(clippy::upper_case_acronyms)]
#[doc = "Variant for PragmaOverrotation"]
PragmaOverrotation(PragmaOverrotation),
#[allow(clippy::upper_case_acronyms)]
#[doc = "Variant for PragmaBoostNoise"]
PragmaBoostNoise(PragmaBoostNoise),
#[allow(clippy::upper_case_acronyms)]
#[doc = "Variant for PragmaStopParallelBlock"]
PragmaStopParallelBlock(PragmaStopParallelBlock),
#[allow(clippy::upper_case_acronyms)]
#[doc = "Variant for PragmaGlobalPhase"]
PragmaGlobalPhase(PragmaGlobalPhase),
#[allow(clippy::upper_case_acronyms)]
#[doc = "Variant for PragmaSleep"]
PragmaSleep(PragmaSleep),
#[allow(clippy::upper_case_acronyms)]
#[doc = "Variant for PragmaActiveReset"]
PragmaActiveReset(PragmaActiveReset),
#[allow(clippy::upper_case_acronyms)]
#[doc = "Variant for PragmaStartDecompositionBlock"]
PragmaStartDecompositionBlock(PragmaStartDecompositionBlock),
#[allow(clippy::upper_case_acronyms)]
#[doc = "Variant for PragmaStopDecompositionBlock"]
PragmaStopDecompositionBlock(PragmaStopDecompositionBlock),
#[allow(clippy::upper_case_acronyms)]
#[doc = "Variant for PragmaDamping"]
PragmaDamping(PragmaDamping),
#[allow(clippy::upper_case_acronyms)]
#[doc = "Variant for PragmaDepolarising"]
PragmaDepolarising(PragmaDepolarising),
#[allow(clippy::upper_case_acronyms)]
#[doc = "Variant for PragmaDephasing"]
PragmaDephasing(PragmaDephasing),
#[allow(clippy::upper_case_acronyms)]
#[doc = "Variant for PragmaRandomNoise"]
PragmaRandomNoise(PragmaRandomNoise),
#[allow(clippy::upper_case_acronyms)]
#[doc = "Variant for PragmaGeneralNoise"]
PragmaGeneralNoise(PragmaGeneralNoise),
#[allow(clippy::upper_case_acronyms)]
#[doc = "Variant for PragmaConditional"]
PragmaConditional(PragmaConditional),
#[allow(clippy::upper_case_acronyms)]
#[doc = "Variant for PragmaGetStateVector"]
PragmaGetStateVector(PragmaGetStateVector),
#[allow(clippy::upper_case_acronyms)]
#[doc = "Variant for PragmaGetDensityMatrix"]
PragmaGetDensityMatrix(PragmaGetDensityMatrix),
#[allow(clippy::upper_case_acronyms)]
#[doc = "Variant for PragmaGetOccupationProbability"]
PragmaGetOccupationProbability(PragmaGetOccupationProbability),
#[allow(clippy::upper_case_acronyms)]
#[doc = "Variant for PragmaGetPauliProduct"]
PragmaGetPauliProduct(PragmaGetPauliProduct),
#[allow(clippy::upper_case_acronyms)]
#[doc = "Variant for PragmaRepeatedMeasurement"]
PragmaRepeatedMeasurement(PragmaRepeatedMeasurement),
#[allow(clippy::upper_case_acronyms)]
#[doc = "Variant for PragmaLoop"]
PragmaLoop(PragmaLoop),
#[allow(clippy::upper_case_acronyms)]
#[doc = "Variant for PragmaControlledCircuit"]
PragmaControlledCircuit(PragmaControlledCircuit),
}
#[doc = r" Enum of all Operations implementing [OperatePragmaNoise]"]
#[derive(
Debug,
Clone,
PartialEq,
InvolveQubits,
Operate,
OperateTryFromEnum,
Substitute,
OperatePragma,
OperatePragmaNoise,
SupportedVersion,
)]
#[cfg_attr(feature = "serialize", derive(serde::Serialize, serde::Deserialize))]
#[cfg_attr(feature = "json_schema", derive(schemars::JsonSchema))]
#[non_exhaustive]
pub enum PragmaNoiseOperation {
#[allow(clippy::upper_case_acronyms)]
#[doc = "Variant for PragmaDamping"]
PragmaDamping(PragmaDamping),
#[allow(clippy::upper_case_acronyms)]
#[doc = "Variant for PragmaDepolarising"]
PragmaDepolarising(PragmaDepolarising),
#[allow(clippy::upper_case_acronyms)]
#[doc = "Variant for PragmaDephasing"]
PragmaDephasing(PragmaDephasing),
#[allow(clippy::upper_case_acronyms)]
#[doc = "Variant for PragmaRandomNoise"]
PragmaRandomNoise(PragmaRandomNoise),
#[allow(clippy::upper_case_acronyms)]
#[doc = "Variant for PragmaGeneralNoise"]
PragmaGeneralNoise(PragmaGeneralNoise),
}
#[doc = r" Enum of all Operations implementing [OperatePragmaNoiseProba]"]
#[derive(
Debug,
Clone,
PartialEq,
InvolveQubits,
Operate,
OperateTryFromEnum,
Substitute,
OperatePragma,
OperatePragmaNoise,
OperatePragmaNoiseProba,
SupportedVersion,
)]
#[cfg_attr(feature = "serialize", derive(serde::Serialize, serde::Deserialize))]
#[cfg_attr(feature = "json_schema", derive(schemars::JsonSchema))]
#[non_exhaustive]
pub enum PragmaNoiseProbaOperation {
#[allow(clippy::upper_case_acronyms)]
#[doc = "Variant for PragmaDamping"]
PragmaDamping(PragmaDamping),
#[allow(clippy::upper_case_acronyms)]
#[doc = "Variant for PragmaDepolarising"]
PragmaDepolarising(PragmaDepolarising),
#[allow(clippy::upper_case_acronyms)]
#[doc = "Variant for PragmaDephasing"]
PragmaDephasing(PragmaDephasing),
#[allow(clippy::upper_case_acronyms)]
#[doc = "Variant for PragmaRandomNoise"]
PragmaRandomNoise(PragmaRandomNoise),
}
#[doc = r" Enum of all Operations implementing [OperateGate]"]
#[derive(
Debug,
Clone,
PartialEq,
InvolveQubits,
Operate,
OperateTryFromEnum,
Substitute,
OperateGate,
SupportedVersion,
)]
#[cfg_attr(feature = "serialize", derive(serde::Serialize, serde::Deserialize))]
#[cfg_attr(feature = "json_schema", derive(schemars::JsonSchema))]
#[non_exhaustive]
pub enum GateOperation {
#[allow(clippy::upper_case_acronyms)]
#[doc = "Variant for SingleQubitGate"]
SingleQubitGate(SingleQubitGate),
#[allow(clippy::upper_case_acronyms)]
#[doc = "Variant for RotateZ"]
RotateZ(RotateZ),
#[allow(clippy::upper_case_acronyms)]
#[doc = "Variant for RotateX"]
RotateX(RotateX),
#[allow(clippy::upper_case_acronyms)]
#[doc = "Variant for RotateY"]
RotateY(RotateY),
#[allow(clippy::upper_case_acronyms)]
#[doc = "Variant for PauliX"]
PauliX(PauliX),
#[allow(clippy::upper_case_acronyms)]
#[doc = "Variant for PauliY"]
PauliY(PauliY),
#[allow(clippy::upper_case_acronyms)]
#[doc = "Variant for PauliZ"]
PauliZ(PauliZ),
#[allow(clippy::upper_case_acronyms)]
#[doc = "Variant for SqrtPauliX"]
SqrtPauliX(SqrtPauliX),
#[allow(clippy::upper_case_acronyms)]
#[doc = "Variant for InvSqrtPauliX"]
InvSqrtPauliX(InvSqrtPauliX),
#[allow(clippy::upper_case_acronyms)]
#[doc = "Variant for Hadamard"]
Hadamard(Hadamard),
#[allow(clippy::upper_case_acronyms)]
#[doc = "Variant for SGate"]
SGate(SGate),
#[allow(clippy::upper_case_acronyms)]
#[doc = "Variant for TGate"]
TGate(TGate),
#[allow(clippy::upper_case_acronyms)]
#[doc = "Variant for PhaseShiftState1"]
PhaseShiftState1(PhaseShiftState1),
#[allow(clippy::upper_case_acronyms)]
#[doc = "Variant for PhaseShiftState0"]
PhaseShiftState0(PhaseShiftState0),
#[allow(clippy::upper_case_acronyms)]
#[doc = "Variant for RotateAroundSphericalAxis"]
RotateAroundSphericalAxis(RotateAroundSphericalAxis),
#[allow(clippy::upper_case_acronyms)]
#[doc = "Variant for RotateXY"]
RotateXY(RotateXY),
#[allow(clippy::upper_case_acronyms)]
#[doc = "Variant for CNOT"]
CNOT(CNOT),
#[allow(clippy::upper_case_acronyms)]
#[doc = "Variant for SWAP"]
SWAP(SWAP),
#[allow(clippy::upper_case_acronyms)]
#[doc = "Variant for ISwap"]
ISwap(ISwap),
#[allow(clippy::upper_case_acronyms)]
#[doc = "Variant for FSwap"]
FSwap(FSwap),
#[allow(clippy::upper_case_acronyms)]
#[doc = "Variant for SqrtISwap"]
SqrtISwap(SqrtISwap),
#[allow(clippy::upper_case_acronyms)]
#[doc = "Variant for InvSqrtISwap"]
InvSqrtISwap(InvSqrtISwap),
#[allow(clippy::upper_case_acronyms)]
#[doc = "Variant for XY"]
XY(XY),
#[allow(clippy::upper_case_acronyms)]
#[doc = "Variant for ControlledPhaseShift"]
ControlledPhaseShift(ControlledPhaseShift),
#[allow(clippy::upper_case_acronyms)]
#[doc = "Variant for ControlledPauliY"]
ControlledPauliY(ControlledPauliY),
#[allow(clippy::upper_case_acronyms)]
#[doc = "Variant for ControlledPauliZ"]
ControlledPauliZ(ControlledPauliZ),
#[allow(clippy::upper_case_acronyms)]
#[doc = "Variant for MolmerSorensenXX"]
MolmerSorensenXX(MolmerSorensenXX),
#[allow(clippy::upper_case_acronyms)]
#[doc = "Variant for VariableMSXX"]
VariableMSXX(VariableMSXX),
#[allow(clippy::upper_case_acronyms)]
#[doc = "Variant for GivensRotation"]
GivensRotation(GivensRotation),
#[allow(clippy::upper_case_acronyms)]
#[doc = "Variant for GivensRotationLittleEndian"]
GivensRotationLittleEndian(GivensRotationLittleEndian),
#[allow(clippy::upper_case_acronyms)]
#[doc = "Variant for Qsim"]
Qsim(Qsim),
#[allow(clippy::upper_case_acronyms)]
#[doc = "Variant for Fsim"]
Fsim(Fsim),
#[allow(clippy::upper_case_acronyms)]
#[doc = "Variant for SpinInteraction"]
SpinInteraction(SpinInteraction),
#[allow(clippy::upper_case_acronyms)]
#[doc = "Variant for Bogoliubov"]
Bogoliubov(Bogoliubov),
#[allow(clippy::upper_case_acronyms)]
#[doc = "Variant for PMInteraction"]
PMInteraction(PMInteraction),
#[allow(clippy::upper_case_acronyms)]
#[doc = "Variant for ComplexPMInteraction"]
ComplexPMInteraction(ComplexPMInteraction),
#[allow(clippy::upper_case_acronyms)]
#[doc = "Variant for PhaseShiftedControlledZ"]
PhaseShiftedControlledZ(PhaseShiftedControlledZ),
#[allow(clippy::upper_case_acronyms)]
#[doc = "Variant for MultiQubitMS"]
MultiQubitMS(MultiQubitMS),
#[allow(clippy::upper_case_acronyms)]
#[doc = "Variant for MultiQubitZZ"]
MultiQubitZZ(MultiQubitZZ),
#[allow(clippy::upper_case_acronyms)]
#[doc = "Variant for PhaseShiftedControlledPhase"]
PhaseShiftedControlledPhase(PhaseShiftedControlledPhase),
#[allow(clippy::upper_case_acronyms)]
#[doc = "Variant for ControlledRotateX"]
ControlledRotateX(ControlledRotateX),
#[allow(clippy::upper_case_acronyms)]
#[doc = "Variant for ControlledRotateXY"]
ControlledRotateXY(ControlledRotateXY),
#[allow(clippy::upper_case_acronyms)]
#[doc = "Variant for ControlledControlledPauliZ"]
ControlledControlledPauliZ(ControlledControlledPauliZ),
#[allow(clippy::upper_case_acronyms)]
#[doc = "Variant for ControlledControlledPhaseShift"]
ControlledControlledPhaseShift(ControlledControlledPhaseShift),
#[allow(clippy::upper_case_acronyms)]
#[doc = "Variant for Toffoli"]
Toffoli(Toffoli),
#[allow(clippy::upper_case_acronyms)]
#[doc = "Variant for GPi"]
GPi(GPi),
#[allow(clippy::upper_case_acronyms)]
#[doc = "Variant for GPi2"]
GPi2(GPi2),
#[allow(clippy::upper_case_acronyms)]
#[doc = "Variant for Identity"]
Identity(Identity),
#[allow(clippy::upper_case_acronyms)]
#[doc = "Variant for EchoCrossResonance"]
EchoCrossResonance(EchoCrossResonance),
}
#[doc = r" Enum of all Operations implementing [Rotate]"]
#[allow(clippy::upper_case_acronyms)]
#[derive(
Debug,
Clone,
PartialEq,
InvolveQubits,
Operate,
OperateTryFromEnum,
Substitute,
OperateGate,
Rotate,
SupportedVersion,
)]
#[cfg_attr(feature = "serialize", derive(serde::Serialize, serde::Deserialize))]
#[cfg_attr(feature = "json_schema", derive(schemars::JsonSchema))]
#[non_exhaustive]
pub enum Rotation {
#[allow(clippy::upper_case_acronyms)]
#[doc = "Variant for RotateZ"]
RotateZ(RotateZ),
#[allow(clippy::upper_case_acronyms)]
#[doc = "Variant for RotateX"]
RotateX(RotateX),
#[allow(clippy::upper_case_acronyms)]
#[doc = "Variant for RotateY"]
RotateY(RotateY),
#[allow(clippy::upper_case_acronyms)]
#[doc = "Variant for PhaseShiftState1"]
PhaseShiftState1(PhaseShiftState1),
#[allow(clippy::upper_case_acronyms)]
#[doc = "Variant for PhaseShiftState0"]
PhaseShiftState0(PhaseShiftState0),
#[allow(clippy::upper_case_acronyms)]
#[doc = "Variant for RotateAroundSphericalAxis"]
RotateAroundSphericalAxis(RotateAroundSphericalAxis),
#[allow(clippy::upper_case_acronyms)]
#[doc = "Variant for RotateXY"]
RotateXY(RotateXY),
#[allow(clippy::upper_case_acronyms)]
#[doc = "Variant for XY"]
XY(XY),
#[allow(clippy::upper_case_acronyms)]
#[doc = "Variant for ControlledPhaseShift"]
ControlledPhaseShift(ControlledPhaseShift),
#[allow(clippy::upper_case_acronyms)]
#[doc = "Variant for VariableMSXX"]
VariableMSXX(VariableMSXX),
#[allow(clippy::upper_case_acronyms)]
#[doc = "Variant for GivensRotation"]
GivensRotation(GivensRotation),
#[allow(clippy::upper_case_acronyms)]
#[doc = "Variant for GivensRotationLittleEndian"]
GivensRotationLittleEndian(GivensRotationLittleEndian),
#[allow(clippy::upper_case_acronyms)]
#[doc = "Variant for MultiQubitMS"]
MultiQubitMS(MultiQubitMS),
#[allow(clippy::upper_case_acronyms)]
#[doc = "Variant for MultiQubitZZ"]
MultiQubitZZ(MultiQubitZZ),
#[allow(clippy::upper_case_acronyms)]
#[doc = "Variant for PhaseShiftedControlledPhase"]
PhaseShiftedControlledPhase(PhaseShiftedControlledPhase),
#[allow(clippy::upper_case_acronyms)]
#[doc = "Variant for ControlledRotateX"]
ControlledRotateX(ControlledRotateX),
#[allow(clippy::upper_case_acronyms)]
#[doc = "Variant for ControlledRotateXY"]
ControlledRotateXY(ControlledRotateXY),
#[allow(clippy::upper_case_acronyms)]
#[doc = "Variant for ControlledControlledPhaseShift"]
ControlledControlledPhaseShift(ControlledControlledPhaseShift),
#[allow(clippy::upper_case_acronyms)]
#[doc = "Variant for GPi"]
GPi(GPi),
#[allow(clippy::upper_case_acronyms)]
#[doc = "Variant for GPi2"]
GPi2(GPi2),
}
#[doc = r" Enum of all Operations implementing [Define]"]
#[derive(
Debug,
Clone,
PartialEq,
InvolveQubits,
Operate,
OperateTryFromEnum,
Substitute,
Define,
SupportedVersion,
)]
#[cfg_attr(feature = "serialize", derive(serde::Serialize, serde::Deserialize))]
#[cfg_attr(feature = "json_schema", derive(schemars::JsonSchema))]
#[non_exhaustive]
pub enum Definition {
#[allow(clippy::upper_case_acronyms)]
#[doc = "Variant for DefinitionFloat"]
DefinitionFloat(DefinitionFloat),
#[allow(clippy::upper_case_acronyms)]
#[doc = "Variant for DefinitionComplex"]
DefinitionComplex(DefinitionComplex),
#[allow(clippy::upper_case_acronyms)]
#[doc = "Variant for DefinitionUsize"]
DefinitionUsize(DefinitionUsize),
#[allow(clippy::upper_case_acronyms)]
#[doc = "Variant for DefinitionBit"]
DefinitionBit(DefinitionBit),
#[allow(clippy::upper_case_acronyms)]
#[doc = "Variant for InputSymbolic"]
InputSymbolic(InputSymbolic),
#[allow(clippy::upper_case_acronyms)]
#[doc = "Variant for InputBit"]
InputBit(InputBit),
}
#[doc = r" Enum of all Operations implementing [OperateConstantGate]"]
#[derive(
Debug,
Clone,
PartialEq,
Eq,
InvolveQubits,
Operate,
OperateTryFromEnum,
Substitute,
OperateGate,
OperateConstantGate,
SupportedVersion,
)]
#[cfg_attr(feature = "serialize", derive(serde::Serialize, serde::Deserialize))]
#[cfg_attr(feature = "json_schema", derive(schemars::JsonSchema))]
#[non_exhaustive]
pub enum ConstantGateOperation {}
#[doc = r" Enum of all Operations implementing [OperateSingleQubitGate]"]
#[derive(
Debug,
Clone,
PartialEq,
InvolveQubits,
Operate,
OperateTryFromEnum,
Substitute,
OperateGate,
OperateSingleQubit,
OperateSingleQubitGate,
SupportedVersion,
)]
#[cfg_attr(feature = "serialize", derive(serde::Serialize, serde::Deserialize))]
#[cfg_attr(feature = "json_schema", derive(schemars::JsonSchema))]
#[non_exhaustive]
pub enum SingleQubitGateOperation {
#[allow(clippy::upper_case_acronyms)]
#[doc = "Variant for SingleQubitGate"]
SingleQubitGate(SingleQubitGate),
#[allow(clippy::upper_case_acronyms)]
#[doc = "Variant for RotateZ"]
RotateZ(RotateZ),
#[allow(clippy::upper_case_acronyms)]
#[doc = "Variant for RotateX"]
RotateX(RotateX),
#[allow(clippy::upper_case_acronyms)]
#[doc = "Variant for RotateY"]
RotateY(RotateY),
#[allow(clippy::upper_case_acronyms)]
#[doc = "Variant for PauliX"]
PauliX(PauliX),
#[allow(clippy::upper_case_acronyms)]
#[doc = "Variant for PauliY"]
PauliY(PauliY),
#[allow(clippy::upper_case_acronyms)]
#[doc = "Variant for PauliZ"]
PauliZ(PauliZ),
#[allow(clippy::upper_case_acronyms)]
#[doc = "Variant for SqrtPauliX"]
SqrtPauliX(SqrtPauliX),
#[allow(clippy::upper_case_acronyms)]
#[doc = "Variant for InvSqrtPauliX"]
InvSqrtPauliX(InvSqrtPauliX),
#[allow(clippy::upper_case_acronyms)]
#[doc = "Variant for Hadamard"]
Hadamard(Hadamard),
#[allow(clippy::upper_case_acronyms)]
#[doc = "Variant for SGate"]
SGate(SGate),
#[allow(clippy::upper_case_acronyms)]
#[doc = "Variant for TGate"]
TGate(TGate),
#[allow(clippy::upper_case_acronyms)]
#[doc = "Variant for PhaseShiftState1"]
PhaseShiftState1(PhaseShiftState1),
#[allow(clippy::upper_case_acronyms)]
#[doc = "Variant for PhaseShiftState0"]
PhaseShiftState0(PhaseShiftState0),
#[allow(clippy::upper_case_acronyms)]
#[doc = "Variant for RotateAroundSphericalAxis"]
RotateAroundSphericalAxis(RotateAroundSphericalAxis),
#[allow(clippy::upper_case_acronyms)]
#[doc = "Variant for RotateXY"]
RotateXY(RotateXY),
#[allow(clippy::upper_case_acronyms)]
#[doc = "Variant for GPi"]
GPi(GPi),
#[allow(clippy::upper_case_acronyms)]
#[doc = "Variant for GPi2"]
GPi2(GPi2),
#[allow(clippy::upper_case_acronyms)]
#[doc = "Variant for Identity"]
Identity(Identity),
}
#[doc = r" Enum of all Operations implementing [OperateTwoQubitGate]"]
#[derive(
Debug,
Clone,
PartialEq,
InvolveQubits,
Operate,
OperateTryFromEnum,
Substitute,
OperateGate,
OperateTwoQubit,
OperateTwoQubitGate,
SupportedVersion,
)]
#[cfg_attr(feature = "serialize", derive(serde::Serialize, serde::Deserialize))]
#[cfg_attr(feature = "json_schema", derive(schemars::JsonSchema))]
#[non_exhaustive]
pub enum TwoQubitGateOperation {
#[allow(clippy::upper_case_acronyms)]
#[doc = "Variant for CNOT"]
CNOT(CNOT),
#[allow(clippy::upper_case_acronyms)]
#[doc = "Variant for SWAP"]
SWAP(SWAP),
#[allow(clippy::upper_case_acronyms)]
#[doc = "Variant for ISwap"]
ISwap(ISwap),
#[allow(clippy::upper_case_acronyms)]
#[doc = "Variant for FSwap"]
FSwap(FSwap),
#[allow(clippy::upper_case_acronyms)]
#[doc = "Variant for SqrtISwap"]
SqrtISwap(SqrtISwap),
#[allow(clippy::upper_case_acronyms)]
#[doc = "Variant for InvSqrtISwap"]
InvSqrtISwap(InvSqrtISwap),
#[allow(clippy::upper_case_acronyms)]
#[doc = "Variant for XY"]
XY(XY),
#[allow(clippy::upper_case_acronyms)]
#[doc = "Variant for ControlledPhaseShift"]
ControlledPhaseShift(ControlledPhaseShift),
#[allow(clippy::upper_case_acronyms)]
#[doc = "Variant for ControlledPauliY"]
ControlledPauliY(ControlledPauliY),
#[allow(clippy::upper_case_acronyms)]
#[doc = "Variant for ControlledPauliZ"]
ControlledPauliZ(ControlledPauliZ),
#[allow(clippy::upper_case_acronyms)]
#[doc = "Variant for MolmerSorensenXX"]
MolmerSorensenXX(MolmerSorensenXX),
#[allow(clippy::upper_case_acronyms)]
#[doc = "Variant for VariableMSXX"]
VariableMSXX(VariableMSXX),
#[allow(clippy::upper_case_acronyms)]
#[doc = "Variant for GivensRotation"]
GivensRotation(GivensRotation),
#[allow(clippy::upper_case_acronyms)]
#[doc = "Variant for GivensRotationLittleEndian"]
GivensRotationLittleEndian(GivensRotationLittleEndian),
#[allow(clippy::upper_case_acronyms)]
#[doc = "Variant for Qsim"]
Qsim(Qsim),
#[allow(clippy::upper_case_acronyms)]
#[doc = "Variant for Fsim"]
Fsim(Fsim),
#[allow(clippy::upper_case_acronyms)]
#[doc = "Variant for SpinInteraction"]
SpinInteraction(SpinInteraction),
#[allow(clippy::upper_case_acronyms)]
#[doc = "Variant for Bogoliubov"]
Bogoliubov(Bogoliubov),
#[allow(clippy::upper_case_acronyms)]
#[doc = "Variant for PMInteraction"]
PMInteraction(PMInteraction),
#[allow(clippy::upper_case_acronyms)]
#[doc = "Variant for ComplexPMInteraction"]
ComplexPMInteraction(ComplexPMInteraction),
#[allow(clippy::upper_case_acronyms)]
#[doc = "Variant for PhaseShiftedControlledZ"]
PhaseShiftedControlledZ(PhaseShiftedControlledZ),
#[allow(clippy::upper_case_acronyms)]
#[doc = "Variant for PhaseShiftedControlledPhase"]
PhaseShiftedControlledPhase(PhaseShiftedControlledPhase),
#[allow(clippy::upper_case_acronyms)]
#[doc = "Variant for ControlledRotateX"]
ControlledRotateX(ControlledRotateX),
#[allow(clippy::upper_case_acronyms)]
#[doc = "Variant for ControlledRotateXY"]
ControlledRotateXY(ControlledRotateXY),
#[allow(clippy::upper_case_acronyms)]
#[doc = "Variant for EchoCrossResonance"]
EchoCrossResonance(EchoCrossResonance),
}
#[doc = r" Enum of all Operations implementing [OperateThreeQubitGate]"]
#[derive(
Debug,
Clone,
PartialEq,
InvolveQubits,
Operate,
OperateTryFromEnum,
Substitute,
OperateGate,
OperateThreeQubit,
OperateThreeQubitGate,
SupportedVersion,
)]
#[cfg_attr(feature = "serialize", derive(serde::Serialize, serde::Deserialize))]
#[cfg_attr(feature = "json_schema", derive(schemars::JsonSchema))]
#[non_exhaustive]
pub enum ThreeQubitGateOperation {
#[allow(clippy::upper_case_acronyms)]
#[doc = "Variant for ControlledControlledPauliZ"]
ControlledControlledPauliZ(ControlledControlledPauliZ),
#[allow(clippy::upper_case_acronyms)]
#[doc = "Variant for ControlledControlledPhaseShift"]
ControlledControlledPhaseShift(ControlledControlledPhaseShift),
#[allow(clippy::upper_case_acronyms)]
#[doc = "Variant for Toffoli"]
Toffoli(Toffoli),
}
#[doc = r" Enum of all Operations implementing [OperateMultiQubitGate]"]
#[derive(
Debug,
Clone,
PartialEq,
InvolveQubits,
Operate,
OperateTryFromEnum,
Substitute,
OperateGate,
OperateMultiQubit,
OperateMultiQubitGate,
SupportedVersion,
)]
#[cfg_attr(feature = "serialize", derive(serde::Serialize, serde::Deserialize))]
#[cfg_attr(feature = "json_schema", derive(schemars::JsonSchema))]
#[non_exhaustive]
pub enum MultiQubitGateOperation {
#[allow(clippy::upper_case_acronyms)]
#[doc = "Variant for MultiQubitMS"]
MultiQubitMS(MultiQubitMS),
#[allow(clippy::upper_case_acronyms)]
#[doc = "Variant for MultiQubitZZ"]
MultiQubitZZ(MultiQubitZZ),
}
#[doc = r" Enum of all Operations implementing [OperateModeGate]"]
#[derive(
Debug,
Clone,
PartialEq,
InvolveQubits,
InvolveModes,
Operate,
OperateTryFromEnum,
Substitute,
SubstituteModes,
OperateModeGate,
SupportedVersion,
)]
#[cfg_attr(feature = "serialize", derive(serde::Serialize, serde::Deserialize))]
#[cfg_attr(feature = "json_schema", derive(schemars::JsonSchema))]
#[non_exhaustive]
pub enum ModeGateOperation {
#[allow(clippy::upper_case_acronyms)]
#[doc = "Variant for Squeezing"]
Squeezing(Squeezing),
#[allow(clippy::upper_case_acronyms)]
#[doc = "Variant for PhaseShift"]
PhaseShift(PhaseShift),
#[allow(clippy::upper_case_acronyms)]
#[doc = "Variant for BeamSplitter"]
BeamSplitter(BeamSplitter),
#[allow(clippy::upper_case_acronyms)]
#[doc = "Variant for PhaseDisplacement"]
PhaseDisplacement(PhaseDisplacement),
#[allow(clippy::upper_case_acronyms)]
#[doc = "Variant for QuantumRabi"]
QuantumRabi(QuantumRabi),
#[allow(clippy::upper_case_acronyms)]
#[doc = "Variant for LongitudinalCoupling"]
LongitudinalCoupling(LongitudinalCoupling),
#[allow(clippy::upper_case_acronyms)]
#[doc = "Variant for JaynesCummings"]
JaynesCummings(JaynesCummings),
#[allow(clippy::upper_case_acronyms)]
#[doc = "Variant for SingleExcitationStore"]
SingleExcitationStore(SingleExcitationStore),
#[allow(clippy::upper_case_acronyms)]
#[doc = "Variant for SingleExcitationLoad"]
SingleExcitationLoad(SingleExcitationLoad),
#[allow(clippy::upper_case_acronyms)]
#[doc = "Variant for CZQubitResonator"]
CZQubitResonator(CZQubitResonator),
}
#[doc = r" Enum of all Operations implementing [OperateSingleMode]"]
#[derive(
Debug,
Clone,
PartialEq,
InvolveQubits,
InvolveModes,
Operate,
OperateTryFromEnum,
Substitute,
SubstituteModes,
OperateSingleMode,
SupportedVersion,
)]
#[cfg_attr(feature = "serialize", derive(serde::Serialize, serde::Deserialize))]
#[cfg_attr(feature = "json_schema", derive(schemars::JsonSchema))]
#[non_exhaustive]
pub enum SingleModeOperation {
#[allow(clippy::upper_case_acronyms)]
#[doc = "Variant for Squeezing"]
Squeezing(Squeezing),
#[allow(clippy::upper_case_acronyms)]
#[doc = "Variant for PhaseShift"]
PhaseShift(PhaseShift),
#[allow(clippy::upper_case_acronyms)]
#[doc = "Variant for PhotonDetection"]
PhotonDetection(PhotonDetection),
#[allow(clippy::upper_case_acronyms)]
#[doc = "Variant for PhaseDisplacement"]
PhaseDisplacement(PhaseDisplacement),
#[allow(clippy::upper_case_acronyms)]
#[doc = "Variant for QuantumRabi"]
QuantumRabi(QuantumRabi),
#[allow(clippy::upper_case_acronyms)]
#[doc = "Variant for LongitudinalCoupling"]
LongitudinalCoupling(LongitudinalCoupling),
#[allow(clippy::upper_case_acronyms)]
#[doc = "Variant for JaynesCummings"]
JaynesCummings(JaynesCummings),
#[allow(clippy::upper_case_acronyms)]
#[doc = "Variant for SingleExcitationStore"]
SingleExcitationStore(SingleExcitationStore),
#[allow(clippy::upper_case_acronyms)]
#[doc = "Variant for SingleExcitationLoad"]
SingleExcitationLoad(SingleExcitationLoad),
#[allow(clippy::upper_case_acronyms)]
#[doc = "Variant for CZQubitResonator"]
CZQubitResonator(CZQubitResonator),
}
#[doc = r" Enum of all Operations implementing [OperateTwoMode]"]
#[derive(
Debug,
Clone,
PartialEq,
InvolveQubits,
InvolveModes,
Operate,
OperateTryFromEnum,
Substitute,
SubstituteModes,
OperateTwoMode,
SupportedVersion,
)]
#[cfg_attr(feature = "serialize", derive(serde::Serialize, serde::Deserialize))]
#[cfg_attr(feature = "json_schema", derive(schemars::JsonSchema))]
#[non_exhaustive]
pub enum TwoModeOperation {
#[allow(clippy::upper_case_acronyms)]
#[doc = "Variant for BeamSplitter"]
BeamSplitter(BeamSplitter),
}
#[doc = r" Enum of all Operations implementing [OperateSingleModeGate]"]
#[derive(
Debug,
Clone,
PartialEq,
InvolveQubits,
InvolveModes,
Operate,
OperateTryFromEnum,
Substitute,
SubstituteModes,
OperateModeGate,
OperateSingleMode,
OperateSingleModeGate,
SupportedVersion,
)]
#[cfg_attr(feature = "serialize", derive(serde::Serialize, serde::Deserialize))]
#[cfg_attr(feature = "json_schema", derive(schemars::JsonSchema))]
#[non_exhaustive]
pub enum SingleModeGateOperation {
#[allow(clippy::upper_case_acronyms)]
#[doc = "Variant for Squeezing"]
Squeezing(Squeezing),
#[allow(clippy::upper_case_acronyms)]
#[doc = "Variant for PhaseShift"]
PhaseShift(PhaseShift),
#[allow(clippy::upper_case_acronyms)]
#[doc = "Variant for PhaseDisplacement"]
PhaseDisplacement(PhaseDisplacement),
#[allow(clippy::upper_case_acronyms)]
#[doc = "Variant for QuantumRabi"]
QuantumRabi(QuantumRabi),
#[allow(clippy::upper_case_acronyms)]
#[doc = "Variant for LongitudinalCoupling"]
LongitudinalCoupling(LongitudinalCoupling),
#[allow(clippy::upper_case_acronyms)]
#[doc = "Variant for JaynesCummings"]
JaynesCummings(JaynesCummings),
#[allow(clippy::upper_case_acronyms)]
#[doc = "Variant for SingleExcitationStore"]
SingleExcitationStore(SingleExcitationStore),
#[allow(clippy::upper_case_acronyms)]
#[doc = "Variant for SingleExcitationLoad"]
SingleExcitationLoad(SingleExcitationLoad),
#[allow(clippy::upper_case_acronyms)]
#[doc = "Variant for CZQubitResonator"]
CZQubitResonator(CZQubitResonator),
}
#[doc = r" Enum of all Operations implementing [OperateTwoModeGate]"]
#[derive(
Debug,
Clone,
PartialEq,
InvolveQubits,
InvolveModes,
Operate,
OperateTryFromEnum,
Substitute,
SubstituteModes,
OperateModeGate,
OperateTwoMode,
OperateTwoModeGate,
SupportedVersion,
)]
#[cfg_attr(feature = "serialize", derive(serde::Serialize, serde::Deserialize))]
#[cfg_attr(feature = "json_schema", derive(schemars::JsonSchema))]
#[non_exhaustive]
pub enum TwoModeGateOperation {
#[allow(clippy::upper_case_acronyms)]
#[doc = "Variant for BeamSplitter"]
BeamSplitter(BeamSplitter),
}
#[doc = r" Enum of all Operations implementing [OperateSpinsAnalog]"]
#[derive(
Debug,
Clone,
PartialEq,
InvolveQubits,
Operate,
OperateTryFromEnum,
Substitute,
SupportedVersion,
)]
#[cfg_attr(feature = "serialize", derive(serde::Serialize, serde::Deserialize))]
#[cfg_attr(feature = "json_schema", derive(schemars::JsonSchema))]
#[non_exhaustive]
pub enum SpinsAnalogOperation {}