aboutsummaryrefslogtreecommitdiff
path: root/include/core/classical_components.h
blob: 7c58ae341217b39b5e458cb884c5a5762fe52c40 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#pragma once

#include <stdbool.h>
#include <stddef.h>

struct PsiClassicalBit
{
    const char* name;
    bool state;
};

struct PsiClassicalRegister
{
    const char* name;
    struct PsiClassicalBit* bits;
    size_t num_bits;
};

struct PsiClassicalBit psi_new_classical_bit(const char* name, bool state);
struct PsiClassicalRegister psi_new_classical_register(const char* name, const char** names,
                                                       size_t count);
void psi_free_classical_register(struct PsiClassicalRegister* reg);