diff options
Diffstat (limited to 'libpsi-core/src/core/runtime.rs')
| -rw-r--r-- | libpsi-core/src/core/runtime.rs | 19 |
1 files changed, 8 insertions, 11 deletions
diff --git a/libpsi-core/src/core/runtime.rs b/libpsi-core/src/core/runtime.rs index 19ac191..f3e52ac 100644 --- a/libpsi-core/src/core/runtime.rs +++ b/libpsi-core/src/core/runtime.rs @@ -1,25 +1,22 @@ -use super::{ClassicalRegister, QuantumCircuit, QuantumRegister}; +use super::{ClassicalRegister, QuantumCircuit, QuantumRegister, QuantumState}; -#[allow(unused)] -pub struct ExecutionData { +pub struct RuntimeData { pub quantum_register: QuantumRegister, pub classical_states: ClassicalRegister, } -impl ExecutionData { +impl RuntimeData { pub fn new(quantum_register: QuantumRegister, classical_states: ClassicalRegister) -> Self { - ExecutionData { + RuntimeData { quantum_register, classical_states, } } } -pub trait RuntimeBase { - fn get_circuit(&self) -> &QuantumCircuit; -} - -pub trait Runtime<'a, T: RuntimeBase = Self> { +pub trait Runtime<'a> { fn new(circuit: &'a QuantumCircuit) -> Self; - fn execute(&self, repeat: usize) -> Vec<ExecutionData>; + fn execute(&self, repeat: usize) -> Vec<RuntimeData>; + fn get_state(&self) -> QuantumState; + fn get_circuit(&self) -> &QuantumCircuit; } |
