/// <summary> /// The main method. /// </summary> /// <param name="args">Command line arguments that are ignored.</param> private static void Main(String[] args) { var inputNode2 = new OnlyOutput(); var splitterNode1 = new Splitter(); var maxNode1 = new MaxFinder(); var splitterNode2 = new Splitter(); var maxNode2 = new MaxFinder(); var outputNode1 = new LogicConsoleWriter <byte>(); var outputNode2 = new LogicConsoleWriter <byte>(); inputNode2.ConnectToHead(0, splitterNode1, 0); splitterNode1.ConnectToHead(0, maxNode1, 1); splitterNode1.ConnectToHead(1, maxNode2, 1); maxNode1.ConnectToHead(0, splitterNode2, 0); splitterNode2.ConnectToHead(2, maxNode1, 0); splitterNode2.ConnectToHead(0, maxNode2, 0); splitterNode2.ConnectToHead(1, outputNode1, 0); maxNode2.ConnectToHead(0, outputNode2, 0); Graph graph = new Graph(); graph.AddNode(inputNode2); graph.AddNode(splitterNode1); graph.AddNode(splitterNode2); graph.AddNode(maxNode1); graph.AddNode(maxNode2); graph.AddNode(outputNode1); graph.AddNode(outputNode2); inputNode2.SetOutput(13); graph.Step(); inputNode2.SetOutput(32); graph.Step(); graph.Step(); }