rquant 0.0.3

A quantum computing library for qubit manipulation and observation.
Documentation
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
use rquant::quantum::types::{quantum_gate::QuantumGate, quantum_operators::QuantumOperator};

#[test]
fn new_shouldmakequantumgate_withvalidoperator() {
    [
        QuantumOperator::NOT,
        QuantumOperator::PHASE,
        QuantumOperator::ROTATE,
        QuantumOperator::SUPERPOSITION,
    ]
    .iter()
    .for_each(|op| {
        let quantum_gate = QuantumGate::new(op.clone());
        assert_eq!(*op, quantum_gate.operator);
        assert!(!quantum_gate.transform.is_empty());
    });
}