aboutsummaryrefslogtreecommitdiff
path: root/include/core/classical_components.h
blob: 53c00ef7eb890251a033ca61e3e008d74dda0722 (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);