aboutsummaryrefslogtreecommitdiff
path: root/tester/non_clifford.c
diff options
context:
space:
mode:
authorhachem <im@hachem.wtf>2026-09-18 12:25:32 +0200
committerhachem <im@hachem.wtf>2026-09-18 12:25:32 +0200
commit17598056a69a14e0390a07251d383f413ded9eea (patch)
tree79cf23ea99072f065407da3e0b92ee03f8972695 /tester/non_clifford.c
parentee14ad272e68d9363202d7f668e0b20302827209 (diff)
feat: add matrix, vector, and circuit display + fmt
Diffstat (limited to 'tester/non_clifford.c')
-rw-r--r--tester/non_clifford.c58
1 files changed, 29 insertions, 29 deletions
diff --git a/tester/non_clifford.c b/tester/non_clifford.c
index c361fb5..e82c86d 100644
--- a/tester/non_clifford.c
+++ b/tester/non_clifford.c
@@ -5,38 +5,38 @@ static const double PI = 3.141592653589793;
void run_non_clifford_tests(void)
{
- psi_test_section("Non-Clifford gates");
+ psi_test_section("Non-Clifford gates");
- struct PsiQuantumCircuit t = psi_new_quantum_circuit(1);
- psi_apply_x(&t, 0);
- psi_apply_t(&t, 0);
- struct PsiComplex t_exp[] = { psi_new_complex(0.0, 0.0), psi_new_complex(R2, R2) };
- psi_check_circuit("T|1> = e^{i pi/4}|1>", &t, t_exp, 2);
- psi_free_quantum_circuit(&t);
+ struct PsiQuantumCircuit t = psi_new_quantum_circuit(1);
+ psi_apply_x(&t, 0);
+ psi_apply_t(&t, 0);
+ struct PsiComplex t_exp[] = { psi_new_complex(0.0, 0.0), psi_new_complex(R2, R2) };
+ psi_check_circuit("T|1> = e^{i pi/4}|1>", &t, t_exp, 2);
+ psi_free_quantum_circuit(&t);
- struct PsiQuantumCircuit rx = psi_new_quantum_circuit(1);
- psi_apply_rx(&rx, 0, PI);
- struct PsiComplex rx_exp[] = { psi_new_complex(0.0, 0.0), psi_new_complex(0.0, -1.0) };
- psi_check_circuit("Rx(pi)|0> = -i|1>", &rx, rx_exp, 2);
- psi_free_quantum_circuit(&rx);
+ struct PsiQuantumCircuit rx = psi_new_quantum_circuit(1);
+ psi_apply_rx(&rx, 0, PI);
+ struct PsiComplex rx_exp[] = { psi_new_complex(0.0, 0.0), psi_new_complex(0.0, -1.0) };
+ psi_check_circuit("Rx(pi)|0> = -i|1>", &rx, rx_exp, 2);
+ psi_free_quantum_circuit(&rx);
- struct PsiQuantumCircuit ry = psi_new_quantum_circuit(1);
- psi_apply_ry(&ry, 0, PI);
- struct PsiComplex ry_exp[] = { psi_new_complex(0.0, 0.0), psi_new_complex(1.0, 0.0) };
- psi_check_circuit("Ry(pi)|0> = |1>", &ry, ry_exp, 2);
- psi_free_quantum_circuit(&ry);
+ struct PsiQuantumCircuit ry = psi_new_quantum_circuit(1);
+ psi_apply_ry(&ry, 0, PI);
+ struct PsiComplex ry_exp[] = { psi_new_complex(0.0, 0.0), psi_new_complex(1.0, 0.0) };
+ psi_check_circuit("Ry(pi)|0> = |1>", &ry, ry_exp, 2);
+ psi_free_quantum_circuit(&ry);
- struct PsiQuantumCircuit p = psi_new_quantum_circuit(1);
- psi_apply_x(&p, 0);
- psi_apply_p(&p, 0, PI / 2.0);
- struct PsiComplex p_exp[] = { psi_new_complex(0.0, 0.0), psi_new_complex(0.0, 1.0) };
- psi_check_circuit("P(pi/2)|1> = i|1>", &p, p_exp, 2);
- psi_free_quantum_circuit(&p);
+ struct PsiQuantumCircuit p = psi_new_quantum_circuit(1);
+ psi_apply_x(&p, 0);
+ psi_apply_p(&p, 0, PI / 2.0);
+ struct PsiComplex p_exp[] = { psi_new_complex(0.0, 0.0), psi_new_complex(0.0, 1.0) };
+ psi_check_circuit("P(pi/2)|1> = i|1>", &p, p_exp, 2);
+ psi_free_quantum_circuit(&p);
- struct PsiQuantumCircuit sx = psi_new_quantum_circuit(1);
- psi_apply_sx(&sx, 0);
- psi_apply_sx(&sx, 0);
- struct PsiComplex sx_exp[] = { psi_new_complex(0.0, 0.0), psi_new_complex(1.0, 0.0) };
- psi_check_circuit("sqrt(X) applied twice = X", &sx, sx_exp, 2);
- psi_free_quantum_circuit(&sx);
+ struct PsiQuantumCircuit sx = psi_new_quantum_circuit(1);
+ psi_apply_sx(&sx, 0);
+ psi_apply_sx(&sx, 0);
+ struct PsiComplex sx_exp[] = { psi_new_complex(0.0, 0.0), psi_new_complex(1.0, 0.0) };
+ psi_check_circuit("sqrt(X) applied twice = X", &sx, sx_exp, 2);
+ psi_free_quantum_circuit(&sx);
}