diff options
Diffstat (limited to 'src/core/kernel.c')
| -rw-r--r-- | src/core/kernel.c | 7 |
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) |
