Files
@ 63f3efc9c886
Branch filter:
Location: CSY/reowolf/examples/old/eg_protocols.pdl - annotation
63f3efc9c886
598 B
text/plain
more logging, tests and comments. re-implemented checking for consistency for natives (eagerly) and proto components (after run_to_blocker). deduplicated each connector's failure requests toward the sink
1ae65b0b574e 1ae65b0b574e 1ae65b0b574e 1ae65b0b574e 1ae65b0b574e 1ae65b0b574e 1ae65b0b574e 1ae65b0b574e 1ae65b0b574e 1ae65b0b574e 1ae65b0b574e 1ae65b0b574e 1ae65b0b574e 1ae65b0b574e 1ae65b0b574e 1ae65b0b574e 1ae65b0b574e 1ae65b0b574e 1ae65b0b574e 1ae65b0b574e 1ae65b0b574e 1ae65b0b574e 1ae65b0b574e 1ae65b0b574e 1ae65b0b574e 1ae65b0b574e 1ae65b0b574e 1ae65b0b574e 1ae65b0b574e 1ae65b0b574e 1ae65b0b574e 1ae65b0b574e 1ae65b0b574e |
primitive forward(in i, out o) {
while(true) synchronous {
put(o, get(i));
}
}
composite dynamic(in i, out o) {
new forward(i, o);
}
primitive sync(in i, out o) {
while(true) synchronous {
if(fires(i)) {
put(o, get(i));
}
}
}
primitive sync_two(in ia, in ib, out oa, out ob) {
while(true) synchronous {
if (fires(ia)) {
put(oa, get(ia));
put(ob, get(ib));
}
}
}
primitive xor_three(in ai, out ao, in bi, out bo, in ci, out co) {
synchronous {
if (fires(ai)) put(ao, get(ai));
else if (fires(bi)) put(bo, get(bi));
else put(co, get(ci));
}
}
|