aboutsummaryrefslogtreecommitdiff
path: root/src/core/kernel.c
diff options
context:
space:
mode:
authorhachem <im@hachem.wtf>2026-09-13 08:07:10 +0200
committerhachem <im@hachem.wtf>2026-09-13 08:07:10 +0200
commitae07aab1442a45bbddb79e066f15eaf252a4254a (patch)
tree111ae3073f25059ec29145548aa81305e4b024fb /src/core/kernel.c
parentc0405cc8a81e6197df976d3135db413b6c74ba90 (diff)
wire simd into runtime execution
Diffstat (limited to 'src/core/kernel.c')
-rw-r--r--src/core/kernel.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/src/core/kernel.c b/src/core/kernel.c
index 0a92ee1..f8f7dfd 100644
--- a/src/core/kernel.c
+++ b/src/core/kernel.c
@@ -286,6 +286,13 @@ void psi_execute_kernel_batch(struct PsiKernelBatch batch, struct PsiVector *sta
}
}
+void psi_apply_kernel(struct PsiVector *state, struct PsiKernel kernel, size_t num_qubits)
+{
+ struct PsiComplex *next = apply_kernel(state->data, kernel, num_qubits);
+ free(state->data);
+ state->data = next;
+}
+
static void push_kernel(struct PsiKernel **kernels, size_t *count, size_t *capacity, struct PsiKernel kernel)
{
if (*count == *capacity)