Trait OptimizationStrategy

Source
pub trait OptimizationStrategy:
    Send
    + Sync
    + Debug {
    // Required methods
    fn strategy_name(&self) -> &str;
    fn applicable_to(&self, backend_type: &HardwareType) -> bool;
    fn optimize_operation(
        &self,
        operation: &dyn GateOp,
        backend: &dyn QuantumHardwareBackend,
    ) -> Result<Box<dyn GateOp>, QuantRS2Error>;
    fn optimize_circuit(
        &self,
        circuit: &[Box<dyn GateOp>],
        backend: &dyn QuantumHardwareBackend,
    ) -> Result<Vec<Box<dyn GateOp>>, QuantRS2Error>;
}

Required Methods§

Source

fn strategy_name(&self) -> &str

Source

fn applicable_to(&self, backend_type: &HardwareType) -> bool

Source

fn optimize_operation( &self, operation: &dyn GateOp, backend: &dyn QuantumHardwareBackend, ) -> Result<Box<dyn GateOp>, QuantRS2Error>

Source

fn optimize_circuit( &self, circuit: &[Box<dyn GateOp>], backend: &dyn QuantumHardwareBackend, ) -> Result<Vec<Box<dyn GateOp>>, QuantRS2Error>

Implementors§