public void CreateNewWithInputEndpointCollection() { IInputEndpointCollection <IInputEndpoint> inputs = new InputEndpointCollection <InputEndpoint>(3); Nexus nexus = new Nexus(3, inputs); Assert.IsNotNull(nexus); }
public Complementor8Bits() { InitXORGates(); Inputs = new InputEndpointCollection <InputEndpoint>(WIDTH, _xorGates.Select(x => x.Input1 as InputEndpoint)); _nexus = new Nexus(WIDTH + 1, _xorGates.Select(x => x.Input2 as InputEndpoint)); Invert = _nexus.GetEndpointAt(WIDTH); Outputs = new OutputEndpointCollection <OutputEndpoint>(WIDTH, _xorGates.Select(x => x.Output as OutputEndpoint)); }
public Adder8Bits() { InitFullAdders(); Number1Inputs = new InputEndpointCollection <InputEndpoint>(WIDTH, _fullAdders.Select(a => a.Number1In as InputEndpoint)); Number2Inputs = new InputEndpointCollection <InputEndpoint>(WIDTH, _fullAdders.Select(a => a.Number2In as InputEndpoint)); CarryInput = _fullAdders[0].CarryIn; SumOutputs = new OutputEndpointCollection <OutputEndpoint>(WIDTH, _fullAdders.Select(a => a.Sum as OutputEndpoint)); CarryOutput = _fullAdders[WIDTH - 1].CarryOut; }
public Complementor16Bits() { _lowerCplmtor = new Complementor8Bits(); _upperCplmtor = new Complementor8Bits(); _invertNexus = new TShapedNexus(null, _lowerCplmtor.Invert, _upperCplmtor.Invert); var mergedInputs = _lowerCplmtor.Inputs.Concat(_upperCplmtor.Inputs).Cast <InputEndpoint>(); var mergedOutputs = _lowerCplmtor.Outputs.Concat(_upperCplmtor.Outputs).Cast <OutputEndpoint>(); Inputs = new InputEndpointCollection <InputEndpoint>(WIDTH, mergedInputs); Outputs = new OutputEndpointCollection <OutputEndpoint>(WIDTH, mergedOutputs); Invert = _invertNexus.GetEndpointAt(0); }
public Adder16Bits() { _lowerAdder = new Adder8Bits(); _upperAdder = new Adder8Bits(); _lowerAdder.CarryOutput.ConnectTo(_upperAdder.CarryInput); var inputpointsNumber1 = _lowerAdder.Number1Inputs.Concat(_upperAdder.Number1Inputs).Cast <InputEndpoint>(); var inputpointsNumber2 = _lowerAdder.Number2Inputs.Concat(_upperAdder.Number2Inputs).Cast <InputEndpoint>(); var outputsSum = _lowerAdder.SumOutputs.Concat(_upperAdder.SumOutputs).Cast <OutputEndpoint>(); Number1Inputs = new InputEndpointCollection <InputEndpoint>(WIDTH, inputpointsNumber1); Number2Inputs = new InputEndpointCollection <InputEndpoint>(WIDTH, inputpointsNumber2); CarryInput = _lowerAdder.CarryInput; SumOutputs = new OutputEndpointCollection <OutputEndpoint>(WIDTH, outputsSum); CarryOutput = _upperAdder.CarryOutput; }