1 package era.mi.logic.components.gates;
\r
3 import java.util.Arrays;
\r
4 import java.util.Collections;
\r
5 import java.util.List;
\r
7 import era.mi.logic.Util;
\r
8 import era.mi.logic.components.BasicComponent;
\r
9 import era.mi.logic.wires.WireArray;
\r
10 import era.mi.logic.wires.WireArray.WireArrayInput;
\r
12 public class NotGate extends BasicComponent {
\r
13 private WireArray in, out;
\r
14 private WireArrayInput outI;
\r
16 public NotGate(int processTime, WireArray in, WireArray out) {
\r
19 in.addObserver(this);
\r
21 outI = out.createInput();
\r
24 public void compute() {
\r
25 outI.feedSignals(Util.not(in.getValues()));
\r
28 public WireArray getIn() {
\r
32 public WireArray getOut() {
\r
37 public List<WireArray> getAllInputs() {
\r
38 return Collections.unmodifiableList(Arrays.asList(in));
\r
42 public List<WireArray> getAllOutputs() {
\r
43 return Collections.unmodifiableList(Arrays.asList(out));
\r