Struct roqoqo_qasm::Backend
source · [−]pub struct Backend { /* private fields */ }
Expand description
QASM backend to qoqo
This backend to roqoqo produces QASM output which can be exported.
This backend takes a roqoqo circuit and returns a QASM String or writes a QASM file containing the translated circuit. The circuit itself is translated using the roqoqo-qasm interface. In this backend, the initialization sets up the relevant parameters and the run function calls the QASM interface and writes the QASM file, which is saved to be used by the user on whatever platform they see fit. QASM input is widely supported on various quantum computing platforms.
Implementations
sourceimpl Backend
impl Backend
sourcepub fn circuit_iterator_to_qasm_str<'a>(
&self,
circuit: impl Iterator<Item = &'a Operation>
) -> Result<String, RoqoqoBackendError>
pub fn circuit_iterator_to_qasm_str<'a>(
&self,
circuit: impl Iterator<Item = &'a Operation>
) -> Result<String, RoqoqoBackendError>
sourcepub fn circuit_iterator_to_qasm_file<'a>(
&self,
circuit: impl Iterator<Item = &'a Operation>,
folder_name: &Path,
filename: &Path,
overwrite: bool
) -> Result<(), RoqoqoBackendError>
pub fn circuit_iterator_to_qasm_file<'a>(
&self,
circuit: impl Iterator<Item = &'a Operation>,
folder_name: &Path,
filename: &Path,
overwrite: bool
) -> Result<(), RoqoqoBackendError>
Translates an iterator over operations to a QASM file.
Arguments
circuit
- The iterator over [roqoqo::Operation] items that is translatedfolder_name
- The name of the folder that is prepended to all filenames.filename
- The name of the file the QASM text is saved to.overwrite
- Whether to overwrite file if it already exists.
Returns
Ok(())
- The qasm file was correctly writtenRoqoqoBackendError::FileAlreadyExists
- The file at this location already exists
sourcepub fn circuit_to_qasm_str(
&self,
circuit: &Circuit
) -> Result<String, RoqoqoBackendError>
pub fn circuit_to_qasm_str(
&self,
circuit: &Circuit
) -> Result<String, RoqoqoBackendError>
sourcepub fn circuit_to_qasm_file(
&self,
circuit: &Circuit,
folder_name: &Path,
filename: &Path,
overwrite: bool
) -> Result<(), RoqoqoBackendError>
pub fn circuit_to_qasm_file(
&self,
circuit: &Circuit,
folder_name: &Path,
filename: &Path,
overwrite: bool
) -> Result<(), RoqoqoBackendError>
Translates a Circuit to a QASM file.
Arguments
circuit
- The Circuit that is translatedfolder_name
- The name of the folder that is prepended to all filenames.filename
- The name of the file the QASM text is saved to.overwrite
- Whether to overwrite file if it already exists.
Returns
Ok(())
- The qasm file was correctly writtenRoqoqoBackendError::FileAlreadyExists
- The file at this location already exists
Trait Implementations
impl StructuralPartialEq for Backend
Auto Trait Implementations
impl RefUnwindSafe for Backend
impl Send for Backend
impl Sync for Backend
impl Unpin for Backend
impl UnwindSafe for Backend
Blanket Implementations
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
impl<SS, SP> SupersetOf<SS> for SP where
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SP where
SS: SubsetOf<SP>,
fn to_subset(&self) -> Option<SS>
fn to_subset(&self) -> Option<SS>
The inverse inclusion map: attempts to construct self
from the equivalent element of its
superset. Read more
fn is_in_subset(&self) -> bool
fn is_in_subset(&self) -> bool
Checks if self
is actually part of its subset T
(and can be converted to it).
fn to_subset_unchecked(&self) -> SS
fn to_subset_unchecked(&self) -> SS
Use with care! Same as self.to_subset
but without any property checks. Always succeeds.
fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
The inclusion map: converts self
to the equivalent element of its superset.
sourceimpl<T> ToOwned for T where
T: Clone,
impl<T> ToOwned for T where
T: Clone,
type Owned = T
type Owned = T
The resulting type after obtaining ownership.
sourcefn clone_into(&self, target: &mut T)
fn clone_into(&self, target: &mut T)
toowned_clone_into
)Uses borrowed data to replace owned data, usually by cloning. Read more