private void Init16BitsComplementor() { _cplmtor16 = new Complementor16Bits(); _switches16 = new Switches(16); _invertPwr16 = new PowerSupplier(); InitResult16BitsLights(); _cplmtor16.Inputs.Connect(_switches16.Outputs); _cplmtor16.Invert.ConnectTo(_invertPwr16.Output); _cplmtor16.Outputs.Connect(_resultLights16.Select(l => l.Input as InputEndpoint)); }
private void Init8BitsComplementor() { _cplmtor8 = new Complementor8Bits(); _switches8 = new Switches(8); _invertPwr = new PowerSupplier(); InitResult8BitsLights(); _cplmtor8.Inputs.Connect(_switches8.Outputs); _cplmtor8.Invert.ConnectTo(_invertPwr.Output); _cplmtor8.Outputs.Connect(_resultLights8.Select(l => l.Input as InputEndpoint)); }
private void InitBasicElements() { _cplmtor = new TComplementor(); _adder = new TAdder(); if (_adder.BitWidth != _cplmtor.BitWidth) { throw new ArgumentException("Bit width between adder and complementor are not match."); } _xorGate = new XORGate(); _subNexus = new CrossNexus(null, _cplmtor.Invert, _adder.CarryInput, _xorGate.Input1); _cplmtor.Outputs.Connect(_adder.Number2Inputs); _adder.CarryOutput.ConnectTo(_xorGate.Input2); }