Function roqoqo_qasm::call_circuit [−][src]
pub fn call_circuit(
circuit: &Circuit,
qubit_register_name: &str
) -> Result<Vec<String>, RoqoqoBackendError>
Expand description
Translate the qoqo circuit into QASM ouput.
The qoqo_qasm interface iterates through the qoqo circuit and translates each qoqo operation to QASM output (strings).
Arguments
circuit
- The qoqo Circuit that is translated.qubit_register_name
- Name of the quantum register used for the roqoqo address-space
Returns
Ok(Vec<&str>)
- Vector containing converted operations as strings.Err(RoqoqoBackendError)
- Operation not supported by QASM backend.
Example
use roqoqo::{Circuit, operations::{DefinitionBit, PauliX, MeasureQubit}};
use roqoqo_qasm::call_circuit;
use std::collections::HashMap;
let mut circuit = Circuit::new();
circuit += DefinitionBit::new("ro".to_string(), 1, true);
circuit += PauliX::new(0);
circuit += MeasureQubit::new(0, "ro".to_string(), 0);
let circuit: Vec<String> = call_circuit(&circuit, "q").unwrap();
let manual_circuit: Vec<String> = vec![
"creg ro[1];".to_string(),
"x q[0];".to_string(),
"measure q[0] -> ro[0];".to_string()
];
assert_eq!(circuit, manual_circuit);