quantrs2_sim/quantum_reservoir_computing/
quantumreservoircomputer_encoding_3.rs1use crate::circuit_interfaces::{
8 CircuitInterface, InterfaceCircuit, InterfaceGate, InterfaceGateType,
9};
10use crate::error::Result;
11use scirs2_core::ndarray::{Array1, Array2};
12use scirs2_core::random::prelude::*;
13
14use super::quantumreservoircomputer_type::QuantumReservoirComputer;
15
16impl QuantumReservoirComputer {
17 pub(super) fn encode_basis_state(&mut self, input: &Array1<f64>) -> Result<()> {
19 let num_inputs = input.len().min(self.config.num_qubits);
20 for i in 0..num_inputs {
21 if input[i] > 0.5 {
22 self.apply_single_qubit_gate(i, InterfaceGateType::X)?;
23 }
24 }
25 Ok(())
26 }
27}