public Basic2In1OutComponent(ComponentTriggeredEvent inputA = null, ComponentTriggeredEvent inputB = null, Trit inputStateA = Trit.Neu, Trit inputStateB = Trit.Neu) { inputA += AInput; inputB += BInput; AInputState = inputStateA; BInputState = inputStateB; }
public BasicDataInDataOutComponent(IEnumerable <Trit> inputStates = null) { Outputs = new ComponentTriggeredEvent[DataType.NUMBER_OF_TRITS]; Inputs = new ComponentTriggeredEvent[DataType.NUMBER_OF_TRITS]; InputStates = new Trit[DataType.NUMBER_OF_TRITS]; OutputStates = new Trit[DataType.NUMBER_OF_TRITS]; if (inputStates != null) { int i = 0; foreach (Trit t in inputStates) { InputStates[i] = t; if (i == DataType.NUMBER_OF_TRITS - 1) { break; } i++; } } for (int i = 0; i < DataType.NUMBER_OF_TRITS; i++) { Inputs[i] += (s, t) => { InputStates[i] = t; OnInputInvoked(s, t, i); }; } ComponentName = GetType().Name; }
public IChip() { Outputs = new ComponentTriggeredEvent[NUMBER_OF_PINS]; Inputs = new ComponentTriggeredEvent[NUMBER_OF_PINS]; PinStates = new Trit[NUMBER_OF_PINS]; }
public TryteFullAdder(IEnumerable <Trit> aInputStates = null, IEnumerable <Trit> bInputStates = null, IEnumerable <Trit> carryInputStates = null) : base(aInputStates, bInputStates) { CarryInputs = new ComponentTriggeredEvent[Tryte.NUMBER_OF_TRITS]; CarryInputStates = new Trit[Tryte.NUMBER_OF_TRITS]; for (int i = 0; i < Tryte.NUMBER_OF_TRITS; i++) { CarryInputs[i] += (s, t) => CarryInInvoked(s, t, i); } }
public Basic18In9OutComponent(IEnumerable <Trit> aInputStates = null, IEnumerable <Trit> bInputStates = null) { Outputs = new ComponentTriggeredEvent[Tryte.NUMBER_OF_TRITS]; AInputs = new ComponentTriggeredEvent[Tryte.NUMBER_OF_TRITS]; BInputs = new ComponentTriggeredEvent[Tryte.NUMBER_OF_TRITS]; AInputStates = new Trit[Tryte.NUMBER_OF_TRITS]; BInputStates = new Trit[Tryte.NUMBER_OF_TRITS]; OutputStates = new Trit[Tryte.NUMBER_OF_TRITS]; if (aInputStates != null) { int i = 0; foreach (Trit t in aInputStates) { AInputStates[i] = t; if (i == Tryte.NUMBER_OF_TRITS - 1) { break; } i++; } } if (bInputStates != null) { int i = 0; foreach (Trit t in bInputStates) { BInputStates[i] = t; if (i == Tryte.NUMBER_OF_TRITS - 1) { break; } i++; } } for (int i = 0; i < Tryte.NUMBER_OF_TRITS; i++) { AInputs[i] += (s, t) => { AInputStates[i] = t; OnAInputInvoked(s, t, i); }; BInputs[i] += (s, t) => { BInputStates[i] = t; OnBInputInvoked(s, t, i); }; } }
public MultiIn1OutComponent(int numberOfInputs) { if (numberOfInputs < 1) { throw new Exception("Invalid number of Inputs. Must be greater than 0"); } NUMBER_OF_INPUTS = numberOfInputs; Inputs = new ComponentTriggeredEvent[NUMBER_OF_INPUTS]; InputStates = new Trit[NUMBER_OF_INPUTS]; for (int inputPin = 0; inputPin < NUMBER_OF_INPUTS; inputPin++) { Inputs[inputPin] += (s, t) => { OnInputInvoked(inputPin, t, s); }; } }
public CycleDownGate(ComponentTriggeredEvent input = null, Trit inputState = Trit.Neu) : base(input, inputState) { }
public ReverseDiode(ComponentTriggeredEvent input = null, Trit inputState = Trit.Neu) : base(input, inputState) { }
public TryteHalfAdder(IEnumerable <Trit> aInputStates = null, IEnumerable <Trit> bInputStates = null) : base(aInputStates, bInputStates) { CarryOuts = new ComponentTriggeredEvent[Tryte.NUMBER_OF_TRITS]; CarryOutStates = new Trit[Tryte.NUMBER_OF_TRITS]; }
public InverterGate(ComponentTriggeredEvent input = null, Trit inputState = Trit.Neu) : base(input, inputState) { }
public EqualityGate(ComponentTriggeredEvent input1 = null, ComponentTriggeredEvent input2 = null, Trit inputStateA = Trit.Neu, Trit inputStateB = Trit.Neu) : base(input1, input2, inputStateA, inputStateB) { }
public ImplicationGate(ComponentTriggeredEvent input1 = null, ComponentTriggeredEvent input2 = null, Trit inputStateA = Trit.Neu, Trit inputStateB = Trit.Neu) : base(input1, input2, inputStateA, inputStateB) { }
public MonadicBaseGate(ComponentTriggeredEvent input = null, Trit inputState = Trit.Neu) : base(input, inputState) { }
public ShiftUpGate(ComponentTriggeredEvent input = null, Trit inputState = Trit.Neu) : base(input, inputState) { }
public Basic1In1OutComponent(ComponentTriggeredEvent input = null, Trit inputState = Trit.Neu) { input += Input; InputState = inputState; }