public Basic1In1OutComponent(IComponentOutput component, Trit inputState = Trit.Neu)
        {
            if (component != null)
            {
                component.Output += Input;
            }

            InputState = inputState;
        }
Exemple #2
0
        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);
        }
Exemple #3
0
        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);
        }
Exemple #4
0
        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;
        }
Exemple #5
0
        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);
        }
Exemple #6
0
 public CycleDownGate(IComponentOutput component, Trit inputState = Trit.Neu) :
     base(component, inputState)
 {
 }
Exemple #7
0
 public ReverseDiode(IComponentOutput component, Trit inputState = Trit.Neu) :
     base(component, inputState)
 {
 }
Exemple #8
0
 public InverterGate(IComponentOutput component, Trit inputState = Trit.Neu) :
     base(component, inputState)
 {
 }
Exemple #9
0
 public EqualityGate(IComponentOutput componentA, IComponentOutput componentB, Trit inputStateA = Trit.Neu, Trit inputStateB = Trit.Neu) :
     base(componentA, componentB, inputStateA, inputStateB)
 {
 }
Exemple #10
0
 public DyadicBaseGate(IComponentOutput componentA, IComponentOutput componentB, Trit inputStateA = Trit.Neu, Trit inputStateB = Trit.Neu) :
     base(componentA, componentB, inputStateA, inputStateB)
 {
 }
Exemple #11
0
 public ImplicationGate(IComponentOutput componentA, IComponentOutput componentB, Trit inputStateA = Trit.Neu, Trit inputStateB = Trit.Neu) :
     base(componentA, componentB, inputStateA, inputStateB)
 {
 }
Exemple #12
0
 public MonadicBaseGate(IComponentOutput component, Trit inputState = Trit.Neu) :
     base(component, inputState)
 {
 }
Exemple #13
0
 public AntiMaxGate(IComponentOutput componentA, IComponentOutput componentB, Trit inputStateA = Trit.Neu, Trit inputStateB = Trit.Neu) :
     base(componentA, componentB, inputStateA, inputStateB)
 {
 }
Exemple #14
0
 public ShiftUpGate(IComponentOutput component, Trit inputState = Trit.Neu) :
     base(component, inputState)
 {
 }
Exemple #15
0
 public ConsensusGate(IComponentOutput componentA, IComponentOutput componentB, Trit inputStateA = Trit.Neu, Trit inputStateB = Trit.Neu) :
     base(componentA, componentB, inputStateA, inputStateB)
 {
 }
Exemple #16
0
 public ForwardDiode(IComponentOutput component, Trit inputState = Trit.Neu) :
     base(component, inputState)
 {
 }