Exemple #1
0
        public void GetSwitches_Test() {
            Vertex
                v1 = new Vertex(48, 50, 2, 4),
                v2 = new Vertex(49, 48, 2, 4),
                v3 = new Vertex(54, 53, 2, 4),
                v4 = new Vertex(50, 51, 3, 4),
                v5 = new Vertex(50, 49, 2, 4),
                v6 = new Vertex(65, 66, 2, 4),
                v7 = new Vertex(97, 98, 3, 4),
                v8 = new Vertex(96, 35, 2, 4),
                v9 = new Vertex(95, 26, 2, 4);

            Edge
                e1 = new Edge(v2, v3, 5, true, true),
                e2 = new Edge(v2, v5, 1, true, true),
                e3 = new Edge(v2, v6, 17, true, false),
                e4 = new Edge(v2, v3, 5, false, false),
                e5 = new Edge(v2, v5, 1, false, false),
                e7 = new Edge(v8, v9, 1, true, true),
                e6 = new Edge(v2, v6, 17, false, true),
                e8 = new Edge(v8, v9, 9, false, false);

            Graph g = new Graph() {
                Vertices = {v1, v2, v3, v4, v5, v6, v7, v8, v9},
                Edges = {e1, e2, e3, e4, e5, e6, e7, e8}
            };

            Assert.AreEqual(new List<Edge> {e5,e7}.ToString(), g.GetSwitches().ToString() );
        }
Exemple #2
0
        private void _refactorGraph(Graph graph) {
            _s.Restart();
            List<Edge> chosen = graph.GetSwitches();
            _s.Stop();
            _setTimings("GetSwitches", _s.ElapsedMilliseconds);

            foreach (Edge edge in chosen) {
                _swapVertexData(edge);
            }

            foreach (Vertex vertex in graph.Vertices) {
                if ((vertex.SampleValue1 + vertex.SampleValue2).Mod(vertex.Modulo) != vertex.Message) {
                    _forceSampleChange(vertex);
                }
            }
        }
Exemple #3
0
        private static void _refactorGraph(Graph graph) {
            List<Edge> chosen = graph.GetSwitches();

            foreach (Edge edge in chosen) {
                _swapVertexData(edge);
            }

            foreach (Vertex vertex in graph.Vertices) {
                if ((vertex.SampleValue1 + vertex.SampleValue2).Mod(vertex.Modulo) != vertex.Message) {
                    _forceSampleChange(vertex);
                }
            }
        }