From 51ed201dc8f4804133cad56115037127fafcdbf3 Mon Sep 17 00:00:00 2001 From: Paul Nitzke <14367-paulenit@users.noreply.git.rwth-aachen.de> Date: Tue, 21 Jun 2022 23:44:05 +0200 Subject: [PATCH] Unify namespace strucuture * Basically changed from DataStructures to SparseTransform.DataStructures --- .../Library/ColorerTests.cs | 2 +- .../DataStructures/AdjacencyGraphTests.cs | 2 +- .../DataStructures/BipartiteGraphTests.cs | 2 +- .../DataStructures/DoubleMatrixTests.cs | 2 +- .../Library/DataStructures/GraphNodeTests.cs | 2 +- .../DataStructures/IntegerMatrixTests.cs | 2 +- .../Library/DataStructures/MatrixTests.cs | 2 +- src/SparseTransform/Colorer.cs | 155 +++++++++--------- src/SparseTransform/ConversionManager.cs | 2 +- .../Convert/ColoredDotWriter.cs | 2 +- src/SparseTransform/Convert/DotWriter.cs | 2 +- src/SparseTransform/Convert/IReader.cs | 2 +- src/SparseTransform/Convert/IWriter.cs | 2 +- .../Convert/MatrixMarketReader.cs | 2 +- .../Convert/MatrixMarketWriter.cs | 2 +- .../DataStructures/AdjacencyGraph.cs | 2 +- .../DataStructures/BipartiteGraph.cs | 2 +- .../DataStructures/DoubleMatrix.cs | 2 +- .../DataStructures/GraphNode.cs | 2 +- src/SparseTransform/DataStructures/IGraph.cs | 2 +- .../DataStructures/IntegerMatrix.cs | 2 +- src/SparseTransform/DataStructures/Matrix.cs | 2 +- 22 files changed, 100 insertions(+), 97 deletions(-) diff --git a/src/SparseTransform.Tests/Library/ColorerTests.cs b/src/SparseTransform.Tests/Library/ColorerTests.cs index fd253a6..9cbcd51 100644 --- a/src/SparseTransform.Tests/Library/ColorerTests.cs +++ b/src/SparseTransform.Tests/Library/ColorerTests.cs @@ -1,5 +1,5 @@ using NUnit.Framework; -using DataStructures; +using SparseTransform.DataStructures; using System.Linq; namespace SparseTransform.Tests.Library; diff --git a/src/SparseTransform.Tests/Library/DataStructures/AdjacencyGraphTests.cs b/src/SparseTransform.Tests/Library/DataStructures/AdjacencyGraphTests.cs index 1059355..7d2c290 100644 --- a/src/SparseTransform.Tests/Library/DataStructures/AdjacencyGraphTests.cs +++ b/src/SparseTransform.Tests/Library/DataStructures/AdjacencyGraphTests.cs @@ -1,5 +1,5 @@ using NUnit.Framework; -using DataStructures; +using SparseTransform.DataStructures; using System.Linq; namespace SparseTransform.Tests.Library.DataStructures; diff --git a/src/SparseTransform.Tests/Library/DataStructures/BipartiteGraphTests.cs b/src/SparseTransform.Tests/Library/DataStructures/BipartiteGraphTests.cs index 4b9ddbe..d8200ec 100644 --- a/src/SparseTransform.Tests/Library/DataStructures/BipartiteGraphTests.cs +++ b/src/SparseTransform.Tests/Library/DataStructures/BipartiteGraphTests.cs @@ -1,5 +1,5 @@ using NUnit.Framework; -using DataStructures; +using SparseTransform.DataStructures; namespace SparseTransform.Tests.Library.DataStructures; diff --git a/src/SparseTransform.Tests/Library/DataStructures/DoubleMatrixTests.cs b/src/SparseTransform.Tests/Library/DataStructures/DoubleMatrixTests.cs index f7b2be4..e665bdf 100644 --- a/src/SparseTransform.Tests/Library/DataStructures/DoubleMatrixTests.cs +++ b/src/SparseTransform.Tests/Library/DataStructures/DoubleMatrixTests.cs @@ -1,5 +1,5 @@ using NUnit.Framework; -using DataStructures; +using SparseTransform.DataStructures; using System.IO; namespace SparseTransform.Tests.Library.DataStructures; diff --git a/src/SparseTransform.Tests/Library/DataStructures/GraphNodeTests.cs b/src/SparseTransform.Tests/Library/DataStructures/GraphNodeTests.cs index d506234..f3fa582 100644 --- a/src/SparseTransform.Tests/Library/DataStructures/GraphNodeTests.cs +++ b/src/SparseTransform.Tests/Library/DataStructures/GraphNodeTests.cs @@ -1,5 +1,5 @@ using NUnit.Framework; -using DataStructures; +using SparseTransform.DataStructures; using System; namespace SparseTransform.Tests.Library.DataStructures; diff --git a/src/SparseTransform.Tests/Library/DataStructures/IntegerMatrixTests.cs b/src/SparseTransform.Tests/Library/DataStructures/IntegerMatrixTests.cs index 38882cf..db2eb94 100644 --- a/src/SparseTransform.Tests/Library/DataStructures/IntegerMatrixTests.cs +++ b/src/SparseTransform.Tests/Library/DataStructures/IntegerMatrixTests.cs @@ -1,5 +1,5 @@ using NUnit.Framework; -using DataStructures; +using SparseTransform.DataStructures; using System.IO; namespace SparseTransform.Tests.Library.DataStructures; diff --git a/src/SparseTransform.Tests/Library/DataStructures/MatrixTests.cs b/src/SparseTransform.Tests/Library/DataStructures/MatrixTests.cs index 8628e8c..0ea7509 100644 --- a/src/SparseTransform.Tests/Library/DataStructures/MatrixTests.cs +++ b/src/SparseTransform.Tests/Library/DataStructures/MatrixTests.cs @@ -1,5 +1,5 @@ using NUnit.Framework; -using DataStructures; +using SparseTransform.DataStructures; using System; namespace SparseTransform.Tests.Library.DataStructures; diff --git a/src/SparseTransform/Colorer.cs b/src/SparseTransform/Colorer.cs index e738447..6897065 100644 --- a/src/SparseTransform/Colorer.cs +++ b/src/SparseTransform/Colorer.cs @@ -1,112 +1,115 @@ -using DataStructures; +using SparseTransform.DataStructures; -/// <summary> -/// Colorer class. Contains implementation for all available coloring algorithms. -/// All algorithms are in-place. -/// </summary> -public class Colorer +namespace SparseTransform { /// <summary> - /// Colors the passed bipartite graph in-place using partial distance-2 coloring. + /// Colorer class. Contains implementation for all available coloring algorithms. + /// All algorithms are in-place. /// </summary> - /// <param name="graph">Graph to color</param> - /// <returns><c>true</c> if coloring was successfull</returns> - public bool PartialD2Color(BipartiteGraph graph) + public class Colorer { - // Exact length defined in paper - int[] forbiddenColors = new int[Math.Min(graph.MaxDegreeRight * (graph.MaxDegreeLeft - 1) + 1, graph.GetRightNodeCount())]; - // Make sure the default values are neither (1) potential colors (2) the uncolored value (=0) - Array.Fill(forbiddenColors, -1); - foreach (GraphNode v_i in graph.GetRightNodes()) + /// <summary> + /// Colors the passed bipartite graph in-place using partial distance-2 coloring. + /// </summary> + /// <param name="graph">Graph to color</param> + /// <returns><c>true</c> if coloring was successfull</returns> + public bool PartialD2Color(BipartiteGraph graph) { - foreach (GraphNode w in v_i.Neighbors) + // Exact length defined in paper + int[] forbiddenColors = new int[Math.Min(graph.MaxDegreeRight * (graph.MaxDegreeLeft - 1) + 1, graph.GetRightNodeCount())]; + // Make sure the default values are neither (1) potential colors (2) the uncolored value (=0) + Array.Fill(forbiddenColors, -1); + foreach (GraphNode v_i in graph.GetRightNodes()) { - foreach (GraphNode x in w.Neighbors) + foreach (GraphNode w in v_i.Neighbors) { - if (x.Colored) + foreach (GraphNode x in w.Neighbors) { - forbiddenColors[x.Color - 1] = v_i.Index; + if (x.Colored) + { + forbiddenColors[x.Color - 1] = v_i.Index; + } } } - } - int c = 1; - while (c > 0) - { - if (forbiddenColors[c - 1] != v_i.Index) - { - v_i.Color = c; - c = 0; - } - else + int c = 1; + while (c > 0) { - c++; + if (forbiddenColors[c - 1] != v_i.Index) + { + v_i.Color = c; + c = 0; + } + else + { + c++; + } } } + // Set right since we performed column partitioning + graph.RightColored = true; + return true; } - // Set right since we performed column partitioning - graph.RightColored = true; - return true; - } - /// <summary> - /// Colors the passed adjacency graph in-place using the first star coloring alg from https://doi.org/10.1137/S0036144504444711 - /// </summary> - /// <param name="graph">Graph to color</param> - /// <returns><c>true</c> if coloring was successfull</returns> - public bool StarColor1(AdjacencyGraph graph) - { - // Exact length defined in paper - int[] forbiddenColors = new int[Math.Min(graph.MaxDegree * graph.MaxDegree + 1, graph.GetNodeCount())]; - // Make sure the default values are neither (1) potential colors (2) the uncolored value (=0) - Array.Fill(forbiddenColors, -1); - foreach (GraphNode v_i in graph.GetNodes()) + /// <summary> + /// Colors the passed adjacency graph in-place using the first star coloring alg from https://doi.org/10.1137/S0036144504444711 + /// </summary> + /// <param name="graph">Graph to color</param> + /// <returns><c>true</c> if coloring was successfull</returns> + public bool StarColor1(AdjacencyGraph graph) { - foreach (GraphNode w in v_i.Neighbors) + // Exact length defined in paper + int[] forbiddenColors = new int[Math.Min(graph.MaxDegree * graph.MaxDegree + 1, graph.GetNodeCount())]; + // Make sure the default values are neither (1) potential colors (2) the uncolored value (=0) + Array.Fill(forbiddenColors, -1); + foreach (GraphNode v_i in graph.GetNodes()) { - if (w.Colored) - { - forbiddenColors[w.Color - 1] = v_i.Index; - } - foreach (GraphNode x in w.Neighbors) + foreach (GraphNode w in v_i.Neighbors) { - if (x.Colored) + if (w.Colored) { - if (!w.Colored) - { - forbiddenColors[x.Color - 1] = v_i.Index; - } - else + forbiddenColors[w.Color - 1] = v_i.Index; + } + foreach (GraphNode x in w.Neighbors) + { + if (x.Colored) { - foreach (GraphNode y in x.Neighbors) + if (!w.Colored) + { + forbiddenColors[x.Color - 1] = v_i.Index; + } + else { - if (y.Colored && y != w) + foreach (GraphNode y in x.Neighbors) { - if (y.Color == w.Color) + if (y.Colored && y != w) { - forbiddenColors[x.Color - 1] = v_i.Index; - break; + if (y.Color == w.Color) + { + forbiddenColors[x.Color - 1] = v_i.Index; + break; + } } } } } } } - } - int c = 1; - while (c > 0) - { - if (forbiddenColors[c - 1] != v_i.Index) - { - v_i.Color = c; - c = 0; - } - else + int c = 1; + while (c > 0) { - c++; + if (forbiddenColors[c - 1] != v_i.Index) + { + v_i.Color = c; + c = 0; + } + else + { + c++; + } } } + graph.Colored = true; + return true; } - graph.Colored = true; - return true; } } \ No newline at end of file diff --git a/src/SparseTransform/ConversionManager.cs b/src/SparseTransform/ConversionManager.cs index d1e9108..4084f6e 100644 --- a/src/SparseTransform/ConversionManager.cs +++ b/src/SparseTransform/ConversionManager.cs @@ -1,4 +1,4 @@ -using DataStructures; +using SparseTransform.DataStructures; using SparseTransform.Convert; namespace SparseTransform diff --git a/src/SparseTransform/Convert/ColoredDotWriter.cs b/src/SparseTransform/Convert/ColoredDotWriter.cs index 49cba0b..f38313c 100644 --- a/src/SparseTransform/Convert/ColoredDotWriter.cs +++ b/src/SparseTransform/Convert/ColoredDotWriter.cs @@ -1,4 +1,4 @@ -using DataStructures; +using SparseTransform.DataStructures; namespace SparseTransform.Convert { diff --git a/src/SparseTransform/Convert/DotWriter.cs b/src/SparseTransform/Convert/DotWriter.cs index 50703b1..f51db78 100644 --- a/src/SparseTransform/Convert/DotWriter.cs +++ b/src/SparseTransform/Convert/DotWriter.cs @@ -1,5 +1,5 @@ using System.Text; -using DataStructures; +using SparseTransform.DataStructures; namespace SparseTransform.Convert { diff --git a/src/SparseTransform/Convert/IReader.cs b/src/SparseTransform/Convert/IReader.cs index 4728926..c8c0619 100644 --- a/src/SparseTransform/Convert/IReader.cs +++ b/src/SparseTransform/Convert/IReader.cs @@ -1,4 +1,4 @@ -using DataStructures; +using SparseTransform.DataStructures; namespace SparseTransform.Convert { diff --git a/src/SparseTransform/Convert/IWriter.cs b/src/SparseTransform/Convert/IWriter.cs index 29daa63..fdd9624 100644 --- a/src/SparseTransform/Convert/IWriter.cs +++ b/src/SparseTransform/Convert/IWriter.cs @@ -1,4 +1,4 @@ -using DataStructures; +using SparseTransform.DataStructures; namespace SparseTransform.Convert { diff --git a/src/SparseTransform/Convert/MatrixMarketReader.cs b/src/SparseTransform/Convert/MatrixMarketReader.cs index 3bc499b..051c5ef 100644 --- a/src/SparseTransform/Convert/MatrixMarketReader.cs +++ b/src/SparseTransform/Convert/MatrixMarketReader.cs @@ -1,5 +1,5 @@ using Antlr4.Runtime; -using DataStructures; +using SparseTransform.DataStructures; using Transform.Convert; namespace SparseTransform.Convert diff --git a/src/SparseTransform/Convert/MatrixMarketWriter.cs b/src/SparseTransform/Convert/MatrixMarketWriter.cs index 06bbc5f..3ba7415 100644 --- a/src/SparseTransform/Convert/MatrixMarketWriter.cs +++ b/src/SparseTransform/Convert/MatrixMarketWriter.cs @@ -1,4 +1,4 @@ -using DataStructures; +using SparseTransform.DataStructures; namespace SparseTransform.Convert { diff --git a/src/SparseTransform/DataStructures/AdjacencyGraph.cs b/src/SparseTransform/DataStructures/AdjacencyGraph.cs index f1d593e..75e31d0 100644 --- a/src/SparseTransform/DataStructures/AdjacencyGraph.cs +++ b/src/SparseTransform/DataStructures/AdjacencyGraph.cs @@ -1,4 +1,4 @@ -namespace DataStructures +namespace SparseTransform.DataStructures { /// <summary> /// Represents symmetric matrices as a graph. diff --git a/src/SparseTransform/DataStructures/BipartiteGraph.cs b/src/SparseTransform/DataStructures/BipartiteGraph.cs index b4fb77b..214907d 100644 --- a/src/SparseTransform/DataStructures/BipartiteGraph.cs +++ b/src/SparseTransform/DataStructures/BipartiteGraph.cs @@ -1,4 +1,4 @@ -namespace DataStructures +namespace SparseTransform.DataStructures { /// <summary> /// General class for representing sparse matrices as graphs. diff --git a/src/SparseTransform/DataStructures/DoubleMatrix.cs b/src/SparseTransform/DataStructures/DoubleMatrix.cs index 2b61de0..e103acf 100644 --- a/src/SparseTransform/DataStructures/DoubleMatrix.cs +++ b/src/SparseTransform/DataStructures/DoubleMatrix.cs @@ -1,4 +1,4 @@ -namespace DataStructures +namespace SparseTransform.DataStructures { /// <summary> /// Matrix type that can only store Doubles. diff --git a/src/SparseTransform/DataStructures/GraphNode.cs b/src/SparseTransform/DataStructures/GraphNode.cs index ca03a0b..55adc2f 100644 --- a/src/SparseTransform/DataStructures/GraphNode.cs +++ b/src/SparseTransform/DataStructures/GraphNode.cs @@ -1,4 +1,4 @@ -namespace DataStructures +namespace SparseTransform.DataStructures { public class GraphNode { diff --git a/src/SparseTransform/DataStructures/IGraph.cs b/src/SparseTransform/DataStructures/IGraph.cs index 4734b03..e821e1b 100644 --- a/src/SparseTransform/DataStructures/IGraph.cs +++ b/src/SparseTransform/DataStructures/IGraph.cs @@ -1,4 +1,4 @@ -namespace DataStructures +namespace SparseTransform.DataStructures { /// <summary> /// Base interface to be implemented by all graphs. diff --git a/src/SparseTransform/DataStructures/IntegerMatrix.cs b/src/SparseTransform/DataStructures/IntegerMatrix.cs index 4f1b275..7d8fd10 100644 --- a/src/SparseTransform/DataStructures/IntegerMatrix.cs +++ b/src/SparseTransform/DataStructures/IntegerMatrix.cs @@ -1,4 +1,4 @@ -namespace DataStructures +namespace SparseTransform.DataStructures { /// <summary> /// Matrix type that can only store Integers. diff --git a/src/SparseTransform/DataStructures/Matrix.cs b/src/SparseTransform/DataStructures/Matrix.cs index 0d95387..7b3e54e 100644 --- a/src/SparseTransform/DataStructures/Matrix.cs +++ b/src/SparseTransform/DataStructures/Matrix.cs @@ -1,4 +1,4 @@ -namespace DataStructures +namespace SparseTransform.DataStructures { /// <summary> /// Generic base type of matrices. -- GitLab