1 package era.mi.logic.components.gates;
3 import java.util.Arrays;
4 import java.util.Collections;
7 import era.mi.logic.Util;
8 import era.mi.logic.components.BasicComponent;
9 import era.mi.logic.wires.WireArray;
10 import era.mi.logic.wires.WireArray.WireArrayInput;
12 public class OrGate extends BasicComponent
14 private WireArray a, b, out;
15 private WireArrayInput outI;
17 public OrGate(int processTime, WireArray a, WireArray b, WireArray out)
25 this.outI = out.createInput();
28 protected void compute()
30 outI.feedSignals(Util.or(a.getValues(), b.getValues()));
33 public WireArray getA()
38 public WireArray getB()
43 public WireArray getOut()
49 public List<WireArray> getAllInputs()
51 return Collections.unmodifiableList(Arrays.asList(a, b));
55 public List<WireArray> getAllOutputs()
57 return Collections.unmodifiableList(Arrays.asList(out));