#include #include "gate.h" #include "error.h" #define GATE_MAX 1024 static size_t gate_count; static struct gate gates[GATE_MAX]; int gate_count_guard(void) { if (gate_count >= GATE_MAX) { emit_error("Internal: too many gates\n"); } return 1; } int gate_add(struct gate *in1, struct gate *in2) { struct gate g = {0}; if (gate_count_guard()) { return 1; } g.in1 = in1; g.in2 = in2; gates[gate_count++] = g; return 0; } int tick(void) { /* FIXME */ return 1; } void gate_init(void) { gate_count = 0; memset(gates, 0, sizeof(gates)); }