void led_set(led_t mode) { switch(mode) { case IDLE: if (has_error) { init_prg(0); } else { _leds_off(); } break; case OFF: has_error = 0; _leds_off(); break; case ACTIVE: if(!has_error) _active_led_on(); break; case ON: _led_on(); break; case PANIC: init_prg(PANIC_OFFSET); break; case ERROR: has_error = 1; _leds_off(); default: init_prg(0); break; } }
int main(void) { init_prg(); uint l = random_dim(); uint n = random_dim(); float *ys = random_vector(n); float eta = 0.001; float *Ys = random_matrix(n, l); perturbate(l, n, ys, eta, Ys); for (uint j = 1; j <= l; j++) { for (uint i = 1; i <= n; i++) { assert(abs((M_IDX(Ys, n, i, j) - V_IDX(ys, i)) / V_IDX(ys, i)) <= eta); } } free(Ys); free(ys); return 0; }