[][src]Trait q1tsim::export::OpenQasm

pub trait OpenQasm: Gate {
    fn open_qasm(
        &self,
        _bit_names: &[String],
        _bits: &[usize]
    ) -> Result<String> { ... }
fn conditional_open_qasm(
        &self,
        condition: &str,
        bit_names: &[String],
        bits: &[usize]
    ) -> Result<String> { ... } }

Trait for gates that can be represented in OpenQasm.

Provided methods

fn open_qasm(&self, _bit_names: &[String], _bits: &[usize]) -> Result<String>

OpenQasm representation

Return an OpenQasm instruction string for this gate operating on qubits bits. The array bit_names contains the names of all qubits. The default implementation returns a NotImplemented error.

fn conditional_open_qasm(
    &self,
    condition: &str,
    bit_names: &[String],
    bits: &[usize]
) -> Result<String>

OpenQasm representation of conditional gate.

Return the OpenQasm representation of a gate that is only executed when the condition condition on the classical bits of the program state holds. The default implementation only works for a single gate, composite gates (like Composite or Kron) should overwrite this default. On success, returns Ok with the instruction string. On error, returns Err with an error message.

Loading content...

Implementors

impl OpenQasm for CCRX[src]

fn conditional_open_qasm(
    &self,
    condition: &str,
    bit_names: &[String],
    bits: &[usize]
) -> Result<String>
[src]

impl OpenQasm for CCRY[src]

fn conditional_open_qasm(
    &self,
    condition: &str,
    bit_names: &[String],
    bits: &[usize]
) -> Result<String>
[src]

impl OpenQasm for CCRZ[src]

fn conditional_open_qasm(
    &self,
    condition: &str,
    bit_names: &[String],
    bits: &[usize]
) -> Result<String>
[src]

impl OpenQasm for CCX[src]

fn conditional_open_qasm(
    &self,
    condition: &str,
    bit_names: &[String],
    bits: &[usize]
) -> Result<String>
[src]

impl OpenQasm for CCZ[src]

fn conditional_open_qasm(
    &self,
    condition: &str,
    bit_names: &[String],
    bits: &[usize]
) -> Result<String>
[src]

impl OpenQasm for CH[src]

fn conditional_open_qasm(
    &self,
    condition: &str,
    bit_names: &[String],
    bits: &[usize]
) -> Result<String>
[src]

impl OpenQasm for CRX[src]

fn conditional_open_qasm(
    &self,
    condition: &str,
    bit_names: &[String],
    bits: &[usize]
) -> Result<String>
[src]

impl OpenQasm for CRY[src]

fn conditional_open_qasm(
    &self,
    condition: &str,
    bit_names: &[String],
    bits: &[usize]
) -> Result<String>
[src]

impl OpenQasm for CRZ[src]

fn conditional_open_qasm(
    &self,
    condition: &str,
    bit_names: &[String],
    bits: &[usize]
) -> Result<String>
[src]

impl OpenQasm for CS[src]

fn conditional_open_qasm(
    &self,
    condition: &str,
    bit_names: &[String],
    bits: &[usize]
) -> Result<String>
[src]

impl OpenQasm for CSdg[src]

fn conditional_open_qasm(
    &self,
    condition: &str,
    bit_names: &[String],
    bits: &[usize]
) -> Result<String>
[src]

impl OpenQasm for CT[src]

fn conditional_open_qasm(
    &self,
    condition: &str,
    bit_names: &[String],
    bits: &[usize]
) -> Result<String>
[src]

impl OpenQasm for CTdg[src]

fn conditional_open_qasm(
    &self,
    condition: &str,
    bit_names: &[String],
    bits: &[usize]
) -> Result<String>
[src]

impl OpenQasm for CU1[src]

fn conditional_open_qasm(
    &self,
    condition: &str,
    bit_names: &[String],
    bits: &[usize]
) -> Result<String>
[src]

impl OpenQasm for CU2[src]

fn conditional_open_qasm(
    &self,
    condition: &str,
    bit_names: &[String],
    bits: &[usize]
) -> Result<String>
[src]

impl OpenQasm for CU3[src]

fn conditional_open_qasm(
    &self,
    condition: &str,
    bit_names: &[String],
    bits: &[usize]
) -> Result<String>
[src]

impl OpenQasm for CV[src]

fn conditional_open_qasm(
    &self,
    condition: &str,
    bit_names: &[String],
    bits: &[usize]
) -> Result<String>
[src]

impl OpenQasm for CVdg[src]

fn conditional_open_qasm(
    &self,
    condition: &str,
    bit_names: &[String],
    bits: &[usize]
) -> Result<String>
[src]

impl OpenQasm for CX[src]

fn conditional_open_qasm(
    &self,
    condition: &str,
    bit_names: &[String],
    bits: &[usize]
) -> Result<String>
[src]

impl OpenQasm for CY[src]

fn conditional_open_qasm(
    &self,
    condition: &str,
    bit_names: &[String],
    bits: &[usize]
) -> Result<String>
[src]

impl OpenQasm for CZ[src]

fn conditional_open_qasm(
    &self,
    condition: &str,
    bit_names: &[String],
    bits: &[usize]
) -> Result<String>
[src]

impl OpenQasm for Composite[src]

impl OpenQasm for H[src]

fn conditional_open_qasm(
    &self,
    condition: &str,
    bit_names: &[String],
    bits: &[usize]
) -> Result<String>
[src]

impl OpenQasm for I[src]

fn conditional_open_qasm(
    &self,
    condition: &str,
    bit_names: &[String],
    bits: &[usize]
) -> Result<String>
[src]

impl OpenQasm for Loop[src]

impl OpenQasm for RX[src]

fn conditional_open_qasm(
    &self,
    condition: &str,
    bit_names: &[String],
    bits: &[usize]
) -> Result<String>
[src]

impl OpenQasm for RY[src]

fn conditional_open_qasm(
    &self,
    condition: &str,
    bit_names: &[String],
    bits: &[usize]
) -> Result<String>
[src]

impl OpenQasm for RZ[src]

fn conditional_open_qasm(
    &self,
    condition: &str,
    bit_names: &[String],
    bits: &[usize]
) -> Result<String>
[src]

impl OpenQasm for S[src]

fn conditional_open_qasm(
    &self,
    condition: &str,
    bit_names: &[String],
    bits: &[usize]
) -> Result<String>
[src]

impl OpenQasm for Sdg[src]

fn conditional_open_qasm(
    &self,
    condition: &str,
    bit_names: &[String],
    bits: &[usize]
) -> Result<String>
[src]

impl OpenQasm for Swap[src]

fn conditional_open_qasm(
    &self,
    condition: &str,
    bit_names: &[String],
    bits: &[usize]
) -> Result<String>
[src]

impl OpenQasm for T[src]

fn conditional_open_qasm(
    &self,
    condition: &str,
    bit_names: &[String],
    bits: &[usize]
) -> Result<String>
[src]

impl OpenQasm for Tdg[src]

fn conditional_open_qasm(
    &self,
    condition: &str,
    bit_names: &[String],
    bits: &[usize]
) -> Result<String>
[src]

impl OpenQasm for U1[src]

fn conditional_open_qasm(
    &self,
    condition: &str,
    bit_names: &[String],
    bits: &[usize]
) -> Result<String>
[src]

impl OpenQasm for U2[src]

fn conditional_open_qasm(
    &self,
    condition: &str,
    bit_names: &[String],
    bits: &[usize]
) -> Result<String>
[src]

impl OpenQasm for U3[src]

fn conditional_open_qasm(
    &self,
    condition: &str,
    bit_names: &[String],
    bits: &[usize]
) -> Result<String>
[src]

impl OpenQasm for V[src]

fn conditional_open_qasm(
    &self,
    condition: &str,
    bit_names: &[String],
    bits: &[usize]
) -> Result<String>
[src]

impl OpenQasm for Vdg[src]

fn conditional_open_qasm(
    &self,
    condition: &str,
    bit_names: &[String],
    bits: &[usize]
) -> Result<String>
[src]

impl OpenQasm for X[src]

fn conditional_open_qasm(
    &self,
    condition: &str,
    bit_names: &[String],
    bits: &[usize]
) -> Result<String>
[src]

impl OpenQasm for Y[src]

fn conditional_open_qasm(
    &self,
    condition: &str,
    bit_names: &[String],
    bits: &[usize]
) -> Result<String>
[src]

impl OpenQasm for Z[src]

fn conditional_open_qasm(
    &self,
    condition: &str,
    bit_names: &[String],
    bits: &[usize]
) -> Result<String>
[src]

impl<G0, G1> OpenQasm for Kron<G0, G1> where
    G0: OpenQasm,
    G1: OpenQasm
[src]

Loading content...