// ************************************************************************** // // eses eses // eses eses // eses eseses esesese eses Embedded Systems Group // ese ese ese ese ese // ese eseseses eseseses ese Department of Computer Science // eses eses ese eses // eses eseses eseseses eses University of Kaiserslautern // eses eses // // ************************************************************************** macro N = ?, noH = ?, get = ?, dif = ?; module Reset( [N]real h, off, x, [N][N]real ? a ) { int y; y = 0; while(y != noH) { choose(i = 0..N-1) { choose(j = 0..N-1) { if(((x[j]-x[i]) >= dif[i]) & (h[j] == 1.0) & (h[i] == 0.0) & (x[i] <= get[i]) & (a[j][i] == 1.0)) { next(h[j]) = 0.0 ; next(off[j]) = 0.0 ; next(h[i]) = 1.0 ; next(off[i]) = 0.0 ; next(y) = y + 1 ; } flow{}until(true); } } next(y) = 0 ; } }