public Basic1In1OutComponent(IComponentOutput component, Trit inputState = Trit.Neu) { if (component != null) { component.Output += Input; } InputState = inputState; }
public OutIfPosCircuit(IComponentOutput evalComponent, IComponentOutput outComponent) { Muxer muxer = new Muxer(); outComponent.Output += muxer.CInput; evalComponent.Output += muxer.InputSelect; muxer.Output += (s, t) => Output?.Invoke(this, t); }
public OutIfNotNeuCircuit(TritMatchCircuit3 matchGate, IComponentOutput componentOutput) { Muxer muxer = new Muxer(); componentOutput.Output += muxer.AInput; componentOutput.Output += muxer.CInput; matchGate.Output += muxer.InputSelect; muxer.Output += (s, t) => Output?.Invoke(this, t); }
public Basic2In1OutComponent(IComponentOutput componentA, IComponentOutput componentB, Trit inputStateA = Trit.Neu, Trit inputStateB = Trit.Neu) { if (componentA != null) { componentA.Output += AInput; } if (componentB != null) { componentB.Output += BInput; } AInputState = inputStateA; BInputState = inputStateB; }
public TryteRegisterCircuit(IBusComponentOutput <Tryte> dataIn, IComponentOutput rwState, IComponentOutput railX, IComponentOutput railY) { TritMatchCircuit addr = new TritMatchCircuit(Trit.Pos, Trit.Pos); railX.Output += addr.InputA; railY.Output += addr.InputB; register = new TryteRegister(); outIfPosGate = new OutIfPosCircuit(addr, rwState); outIfPosGate.Output += register.ReadWriteEnabled; dataIn.BusOutput += register.BusInput; register.BusOutput += (s, t) => BusOutput?.Invoke(this, t); }
public CycleDownGate(IComponentOutput component, Trit inputState = Trit.Neu) : base(component, inputState) { }
public ReverseDiode(IComponentOutput component, Trit inputState = Trit.Neu) : base(component, inputState) { }
public InverterGate(IComponentOutput component, Trit inputState = Trit.Neu) : base(component, inputState) { }
public EqualityGate(IComponentOutput componentA, IComponentOutput componentB, Trit inputStateA = Trit.Neu, Trit inputStateB = Trit.Neu) : base(componentA, componentB, inputStateA, inputStateB) { }
public DyadicBaseGate(IComponentOutput componentA, IComponentOutput componentB, Trit inputStateA = Trit.Neu, Trit inputStateB = Trit.Neu) : base(componentA, componentB, inputStateA, inputStateB) { }
public ImplicationGate(IComponentOutput componentA, IComponentOutput componentB, Trit inputStateA = Trit.Neu, Trit inputStateB = Trit.Neu) : base(componentA, componentB, inputStateA, inputStateB) { }
public MonadicBaseGate(IComponentOutput component, Trit inputState = Trit.Neu) : base(component, inputState) { }
public AntiMaxGate(IComponentOutput componentA, IComponentOutput componentB, Trit inputStateA = Trit.Neu, Trit inputStateB = Trit.Neu) : base(componentA, componentB, inputStateA, inputStateB) { }
public ShiftUpGate(IComponentOutput component, Trit inputState = Trit.Neu) : base(component, inputState) { }
public ConsensusGate(IComponentOutput componentA, IComponentOutput componentB, Trit inputStateA = Trit.Neu, Trit inputStateB = Trit.Neu) : base(componentA, componentB, inputStateA, inputStateB) { }
public ForwardDiode(IComponentOutput component, Trit inputState = Trit.Neu) : base(component, inputState) { }