コード例 #1
0
ファイル: MuxerBusBase.cs プロジェクト: bmdevx/Ternary
 public void InputSelect(object sender, Trit select)
 {
     SelectState = select;
     OnSelectInvoked(sender, select);
 }
コード例 #2
0
ファイル: MinGate.cs プロジェクト: bmdevx/Ternary
 public MinGate(IComponentOutput componentA, IComponentOutput componentB, Trit inputStateA = Trit.Neu, Trit inputStateB = Trit.Neu) :
     base(componentA, componentB, inputStateA, inputStateB)
 {
 }
コード例 #3
0
 protected virtual void OnInputInvoked(object sender, Trit trit, int pin)
 {
 }
コード例 #4
0
ファイル: ALU.cs プロジェクト: bmdevx/Ternary
 protected void InvokeSignedOutput(object sender, Trit sign)
 {
     SignedState = sign;
     SignedOutput?.Invoke(this, SignedState);
 }
コード例 #5
0
ファイル: MinGate.cs プロジェクト: bmdevx/Ternary
 public MinGate(ComponentTriggeredEvent input1 = null, ComponentTriggeredEvent input2 = null, Trit inputStateA = Trit.Neu, Trit inputStateB = Trit.Neu) :
     base(input1, input2, inputStateA, inputStateB)
 {
 }
コード例 #6
0
ファイル: DeMuxer.cs プロジェクト: bmdevx/Ternary
 public DeMuxer(Trit selectState = Trit.Neu, Trit inputState = Trit.Neu) : base(selectState)
 {
     InputState = inputState;
 }
コード例 #7
0
ファイル: ALU.cs プロジェクト: bmdevx/Ternary
 public void FowleanControlInput(object sender, Trit trit)
 {
     FowleanControlState = trit;
     muxerBus2.InputSelect(this, trit);
 }
コード例 #8
0
ファイル: TritOld.cs プロジェクト: bmdevx/Ternary
 public static Trit Reverse(Trit trit)
 {
     return(trit == Trit.Neg ? Trit.Neg : Trit.Neu);
 }
コード例 #9
0
        public Trit this[int index]
        {
            get
            {
                switch (index)
                {
                case 0: return(T0);

                case 1: return(T1);

                case 2: return(T2);

                case 3: return(T3);

                case 4: return(T4);

                case 5: return(T5);

                case 6: return(T6);

                case 7: return(T7);

                case 8: return(T8);

                case 9: return(T9);

                case 10: return(T10);

                case 11: return(T11);
                }

                throw new IndexOutOfRangeException();
            }

            set
            {
                switch (index)
                {
                case 0: T0 = value; break;

                case 1: T1 = value; break;

                case 2: T2 = value; break;

                case 3: T3 = value; break;

                case 4: T4 = value; break;

                case 5: T5 = value; break;

                case 6: T6 = value; break;

                case 7: T7 = value; break;

                case 8: T8 = value; break;

                case 9: T9 = value; break;

                case 10: T10 = value; break;

                case 11: T11 = value; break;

                default: throw new IndexOutOfRangeException();
                }
            }
        }
コード例 #10
0
ファイル: TXOR.cs プロジェクト: roluan/emulator
 /// <summary>
 /// Represents Ternary XOR Gate
 /// </summary>
 /// <param name="inputA">The first input <see cref="Trit"/></param>
 /// <param name="inputB">The second input <see cref="Trit"/></param>
 /// <returns>Ternary XOR <see cref="Trit"/> output</returns>
 public static Trit Output(Trit inputA, Trit inputB)
 {
     return(TAND.Output(TNAND.Output(inputA, inputB), TOR.Output(inputA, inputB)));
 }
コード例 #11
0
ファイル: TritOld.cs プロジェクト: bmdevx/Ternary
 public static Trit Forward(Trit trit)
 {
     return(trit == Trit.Pos ? Trit.Pos : Trit.Neu);
 }
コード例 #12
0
ファイル: DyadicBaseBusOld.cs プロジェクト: bmdevx/Ternary
 protected abstract Trit Execute(Trit inputStateA, Trit inputStateB);
コード例 #13
0
 public bool Equal(Trit other)
 {
     return(this.Value == other.Value);
 }
コード例 #14
0
ファイル: MuxerBusBase.cs プロジェクト: bmdevx/Ternary
 protected abstract void OnSelectInvoked(object sender, Trit select);
コード例 #15
0
 public void Input(object sender, Trit trit)
 {
     InputState = trit;
     OnInputInvoked(sender, trit);
 }
コード例 #16
0
ファイル: ForwardBus.cs プロジェクト: bmdevx/Ternary
 protected override Trit Execute(object sender, Trit trit)
 {
     return(TritLogic.Forward(trit));
 }
コード例 #17
0
 protected void InvokeOutput(object sender, Trit trit)
 {
     OutputState = trit;
     Output?.Invoke(sender, trit);
 }
コード例 #18
0
ファイル: MonadicBaseBusOld.cs プロジェクト: bmdevx/Ternary
 protected override void OnInputInvoked(object sender, Trit trit, int pin)
 {
     InvokeOutput(pin, Execute(sender, InputStates[pin]), this);
 }
コード例 #19
0
ファイル: DeMuxer.cs プロジェクト: bmdevx/Ternary
 protected override void OnSelectInvoked(object sender, Trit select)
 {
     Input(this, InputState);
 }
コード例 #20
0
ファイル: MonadicBaseBusOld.cs プロジェクト: bmdevx/Ternary
 protected abstract Trit Execute(object sender, Trit inputState);
コード例 #21
0
ファイル: ALU.cs プロジェクト: bmdevx/Ternary
 protected void InvokeOverflowOutput(object sender, Trit overflow)
 {
     OverflowState = overflow;
     OverflowOutput?.Invoke(this, OverflowState);
 }
コード例 #22
0
 public ConverseImplicationGate(ComponentTriggeredEvent input1 = null, ComponentTriggeredEvent input2 = null, Trit inputStateA = Trit.Neu, Trit inputStateB = Trit.Neu) :
     base(input1, input2, inputStateA, inputStateB)
 {
 }
コード例 #23
0
ファイル: TritMatchCircuit4.cs プロジェクト: bmdevx/Ternary
 public void InputD(object sender, Trit trit)
 {
     egated.AInput(this, trit);
 }
コード例 #24
0
 protected override Trit Execute(Trit inputStateA, Trit inputStateB)
 {
     return(TritLogic.ConverseImplication(inputStateA, inputStateB));
 }
コード例 #25
0
ファイル: MinGate.cs プロジェクト: bmdevx/Ternary
 protected override Trit Execute(Trit inputStateA, Trit inputStateB)
 {
     return(TritLogic.Min(inputStateA, inputStateB));
 }
コード例 #26
0
 public ConverseImplicationGate(IComponentOutput componentA, IComponentOutput componentB, Trit inputStateA = Trit.Neu, Trit inputStateB = Trit.Neu) :
     base(componentA, componentB, inputStateA, inputStateB)
 {
 }
コード例 #27
0
 protected override Trit Execute(object sender, Trit trit)
 {
     return(TritLogic.ShiftUp(trit));
 }
コード例 #28
0
 public Basic1In1OutComponent(ComponentTriggeredEvent input = null, Trit inputState = Trit.Neu)
 {
     input     += Input;
     InputState = inputState;
 }
コード例 #29
0
 public ShiftUpGate(ComponentTriggeredEvent input = null, Trit inputState = Trit.Neu) :
     base(input, inputState)
 {
 }
コード例 #30
0
ファイル: MuxerBusBase.cs プロジェクト: bmdevx/Ternary
 public MuxerBusBase(Trit selectState = Trit.Neu)
 {
     SelectState = selectState;
 }