#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; }