aboutsummaryrefslogtreecommitdiff
path: root/include/core/classical_components.h
blob: 48714b4a2292965e6b5812072996952080f9e4e5 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#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);