diff options
| author | hachem <im@hachem.wtf> | 2026-09-14 12:20:52 +0200 |
|---|---|---|
| committer | hachem <im@hachem.wtf> | 2026-09-14 12:20:52 +0200 |
| commit | ee14ad272e68d9363202d7f668e0b20302827209 (patch) | |
| tree | 88dd1012ad7f9d6ac7abeb7562dac2194794b823 /include/core/quantum_components.h | |
| parent | ae07aab1442a45bbddb79e066f15eaf252a4254a (diff) | |
feat: simd + testing + formatting
Diffstat (limited to 'include/core/quantum_components.h')
| -rw-r--r-- | include/core/quantum_components.h | 30 |
1 files changed, 17 insertions, 13 deletions
diff --git a/include/core/quantum_components.h b/include/core/quantum_components.h index b238b5a..63797cf 100644 --- a/include/core/quantum_components.h +++ b/include/core/quantum_components.h @@ -10,34 +10,38 @@ struct PsiVector psi_new_state_1(void); struct PsiQuantumGate { - const char *name; + const char* name; struct PsiMatrix matrix; size_t num_qubits; }; -struct PsiQuantumGate psi_new_quantum_gate(const char *name, struct PsiMatrix matrix, size_t num_qubits); -struct PsiQuantumGate psi_new_quantum_gate_from_matrix(const char *name, struct PsiMatrix matrix); -void psi_free_quantum_gate(struct PsiQuantumGate *gate); +struct PsiQuantumGate psi_new_quantum_gate(const char* name, struct PsiMatrix matrix, + size_t num_qubits); +struct PsiQuantumGate psi_new_quantum_gate_from_matrix(const char* name, struct PsiMatrix matrix); +void psi_free_quantum_gate(struct PsiQuantumGate* gate); struct PsiQuantumBit { - const char *name; + const char* name; struct PsiVector state; }; -struct PsiQuantumBit psi_new_quantum_bit(const char *name, struct PsiVector state); -void psi_free_quantum_bit(struct PsiQuantumBit *bit); +struct PsiQuantumBit psi_new_quantum_bit(const char* name, struct PsiVector state); +void psi_free_quantum_bit(struct PsiQuantumBit* bit); struct PsiQuantumRegister { - const char *name; + const char* name; struct PsiVector state_vector; - struct PsiQuantumBit *qubits; + struct PsiQuantumBit* qubits; size_t num_qubits; }; -struct PsiQuantumRegister psi_new_quantum_register(const char *name, const char **names, size_t count); -struct PsiQuantumRegister psi_new_quantum_register_from(const char *name, const struct PsiQuantumBit *bits, size_t count); -void psi_free_quantum_register(struct PsiQuantumRegister *reg); +struct PsiQuantumRegister psi_new_quantum_register(const char* name, const char** names, + size_t count); +struct PsiQuantumRegister +psi_new_quantum_register_from(const char* name, const struct PsiQuantumBit* bits, size_t count); +void psi_free_quantum_register(struct PsiQuantumRegister* reg); -void psi_apply_gate(struct PsiQuantumRegister *reg, struct PsiQuantumGate gate, const size_t *targets, size_t target_count); +void psi_apply_gate(struct PsiQuantumRegister* reg, struct PsiQuantumGate gate, + const size_t* targets, size_t target_count); |
