diff options
Diffstat (limited to 'libpsi-core/src/core/circuit.rs')
| -rw-r--r-- | libpsi-core/src/core/circuit.rs | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/libpsi-core/src/core/circuit.rs b/libpsi-core/src/core/circuit.rs new file mode 100644 index 0000000..65e359a --- /dev/null +++ b/libpsi-core/src/core/circuit.rs @@ -0,0 +1,25 @@ +use super::{ClassicalRegister, QuantumBit, QuantumGate}; + +#[allow(dead_code)] +struct QuantumCircuitInstruction { + target_indices: Vec<i32>, + control_indices: Vec<i32>, + gate: QuantumGate, +} + +#[allow(dead_code)] +pub struct QuantumCircuit { + quantum_bits: Vec<QuantumBit>, + classical_register: ClassicalRegister, + instructions: Vec<QuantumCircuitInstruction>, +} + +impl QuantumCircuit { + pub fn new(quantum_bit_count: usize, classical_bit_count: usize) -> QuantumCircuit { + QuantumCircuit { + quantum_bits: Vec::with_capacity(quantum_bit_count), + classical_register: ClassicalRegister::new(classical_bit_count), + instructions: Vec::new(), + } + } +} |
