int main() { event_t events[] = {EVT_A, EVT_B, EVT_B, EVT_C, EVT_C, EVT_A, EVT_C, EVT_B, EVT_A}; fsm_t fsm; fsm_init(&fsm); size_t events_max = sizeof(events) / sizeof(event_t); printf("|E| = %zu\n", events_max); for (size_t i = 0; i < events_max; i++) { fsm_transition(&fsm, events[i]); } }
int main(void) { FSM* fsm = init_fsm(); int value0[] = {0}; int value1[] = {1}; printf("(%d,%d),",fsm->currentState,fsm_transition(fsm,value0)); printf("(%d,%d),",fsm->currentState,fsm_transition(fsm,value1)); printf("(%d,%d),",fsm->currentState,fsm_transition(fsm,value1)); printf("(%d,%d),",fsm->currentState,fsm_transition(fsm,value0)); printf("(%d,%d),",fsm->currentState,fsm_transition(fsm,value0)); printf("(%d,%d),",fsm->currentState,fsm_transition(fsm,value0)); printf("(%d,%d),",fsm->currentState,fsm_transition(fsm,value1)); printf("(%d,%d),",fsm->currentState,fsm_transition(fsm,value1)); printf("(%d,%d),",fsm->currentState,fsm_transition(fsm,value0)); free_fsm(fsm); return 0; }