Trait HardwareTarget

Source
pub trait HardwareTarget:
    Send
    + Sync
    + Debug {
    // Required methods
    fn target_name(&self) -> &str;
    fn native_gates(&self) -> Vec<String>;
    fn qubit_connectivity(&self) -> Vec<(usize, usize)>;
    fn gate_fidelities(&self) -> HashMap<String, f64>;
    fn gate_times(&self) -> HashMap<String, Duration>;
    fn coherence_times(&self) -> Vec<Duration>;
    fn compile_gate(
        &self,
        gate: &dyn GateOp,
        context: &CompilationContext,
    ) -> Result<CompiledGate, QuantRS2Error>;
    fn optimize_circuit(
        &self,
        circuit: &[CompiledGate],
    ) -> Result<Vec<CompiledGate>, QuantRS2Error>;
}
Expand description

Hardware target abstraction

Required Methods§

Implementors§