aboutsummaryrefslogtreecommitdiff
path: root/include/core/kernel.h
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 /include/core/kernel.h
parentee14ad272e68d9363202d7f668e0b20302827209 (diff)
feat: add matrix, vector, and circuit display + fmt
Diffstat (limited to 'include/core/kernel.h')
-rw-r--r--include/core/kernel.h58
1 files changed, 29 insertions, 29 deletions
diff --git a/include/core/kernel.h b/include/core/kernel.h
index b8b19ea..f3a2b77 100644
--- a/include/core/kernel.h
+++ b/include/core/kernel.h
@@ -8,18 +8,18 @@
enum PsiGateType
{
- PSI_GATE_TYPE_DIAGONAL,
- PSI_GATE_TYPE_NON_DIAGONAL,
- PSI_GATE_TYPE_CONTROLLED,
+ PSI_GATE_TYPE_DIAGONAL,
+ PSI_GATE_TYPE_NON_DIAGONAL,
+ PSI_GATE_TYPE_CONTROLLED,
};
struct PsiKernel
{
- struct PsiMatrix matrix;
- size_t* targets;
- size_t target_count;
- char* name;
- enum PsiGateType gate_type;
+ struct PsiMatrix matrix;
+ size_t* targets;
+ size_t target_count;
+ char* name;
+ enum PsiGateType gate_type;
};
struct PsiKernel psi_new_kernel(const char* name, struct PsiMatrix matrix, const size_t* targets,
@@ -34,10 +34,10 @@ bool psi_fuse_kernels(struct PsiKernel a, struct PsiKernel b, struct PsiKernel*
struct PsiKernelBatch
{
- struct PsiKernel* kernels;
- size_t count;
- size_t capacity;
- size_t num_qubits;
+ struct PsiKernel* kernels;
+ size_t count;
+ size_t capacity;
+ size_t num_qubits;
};
struct PsiKernelBatch psi_new_kernel_batch(size_t num_qubits);
@@ -49,31 +49,31 @@ void psi_apply_kernel(struct PsiVector* state, struct PsiKernel kernel, size_t n
struct PsiExecutionLayer
{
- struct PsiKernel* kernels;
- size_t count;
- size_t capacity;
+ struct PsiKernel* kernels;
+ size_t count;
+ size_t capacity;
};
struct PsiKernelStats
{
- size_t total_kernels;
- size_t single_qubit;
- size_t two_qubit;
- size_t multi_qubit;
- size_t diagonal;
- size_t execution_layers;
+ size_t total_kernels;
+ size_t single_qubit;
+ size_t two_qubit;
+ size_t multi_qubit;
+ size_t diagonal;
+ size_t execution_layers;
};
struct PsiStructureAwareBatch
{
- struct PsiKernel* kernels;
- size_t count;
- size_t capacity;
- struct PsiExecutionLayer* layers;
- size_t layer_count;
- size_t layer_capacity;
- size_t num_qubits;
- bool optimised;
+ struct PsiKernel* kernels;
+ size_t count;
+ size_t capacity;
+ struct PsiExecutionLayer* layers;
+ size_t layer_count;
+ size_t layer_capacity;
+ size_t num_qubits;
+ bool optimised;
};
struct PsiStructureAwareBatch psi_new_structure_aware_batch(size_t num_qubits);