#include "core/classical_components.h" #include #include struct PsiClassicalBit psi_new_classical_bit(const char *name, bool state) { return (struct PsiClassicalBit) { name, state, }; } struct PsiClassicalRegister psi_new_classical_register(const char *name, const char **names, size_t count) { struct PsiClassicalBit *bits = malloc(count * sizeof(struct PsiClassicalBit)); assert(bits != NULL || count == 0); for (size_t i = 0; i < count; i++) bits[i] = psi_new_classical_bit(names[i], false); return (struct PsiClassicalRegister) { name, bits, count, }; } void psi_free_classical_register(struct PsiClassicalRegister *reg) { free(reg->bits); reg->bits = NULL; reg->num_bits = 0; }