diff --git a/src/Numerics/LinearAlgebra/Complex/DenseMatrix.cs b/src/Numerics/LinearAlgebra/Complex/DenseMatrix.cs index 2df3f8a7..49ea658e 100644 --- a/src/Numerics/LinearAlgebra/Complex/DenseMatrix.cs +++ b/src/Numerics/LinearAlgebra/Complex/DenseMatrix.cs @@ -26,18 +26,20 @@ namespace MathNet.Numerics.LinearAlgebra.Complex { - using System; - using System.Numerics; using Algorithms.LinearAlgebra; using Distributions; using Generic; using Properties; using Storage; + using System; + using System.Diagnostics; + using System.Numerics; /// /// A Matrix class with dense storage. The underlying storage is a one dimensional array in column-major order. /// [Serializable] + [DebuggerDisplay("DenseMatrix {RowCount}x{ColumnCount}-Complex")] public class DenseMatrix : Matrix { /// diff --git a/src/Numerics/LinearAlgebra/Complex/DenseVector.cs b/src/Numerics/LinearAlgebra/Complex/DenseVector.cs index 22dc170d..c358d07d 100644 --- a/src/Numerics/LinearAlgebra/Complex/DenseVector.cs +++ b/src/Numerics/LinearAlgebra/Complex/DenseVector.cs @@ -28,23 +28,25 @@ // OTHER DEALINGS IN THE SOFTWARE. // + namespace MathNet.Numerics.LinearAlgebra.Complex { - using System; - using System.Collections.Generic; - using System.Linq; - using System.Numerics; using Distributions; using Generic; using NumberTheory; - using Properties; using Storage; + using System; + using System.Collections.Generic; + using System.Diagnostics; + using System.Linq; + using System.Numerics; using Threading; /// /// A vector using dense storage. /// [Serializable] + [DebuggerDisplay("DenseVector {Count}-Complex")] public class DenseVector : Vector { /// diff --git a/src/Numerics/LinearAlgebra/Complex/DiagonalMatrix.cs b/src/Numerics/LinearAlgebra/Complex/DiagonalMatrix.cs index 84d0292a..e4f99a27 100644 --- a/src/Numerics/LinearAlgebra/Complex/DiagonalMatrix.cs +++ b/src/Numerics/LinearAlgebra/Complex/DiagonalMatrix.cs @@ -26,12 +26,13 @@ namespace MathNet.Numerics.LinearAlgebra.Complex { - using System; - using System.Linq; - using System.Numerics; using Generic; using Properties; using Storage; + using System; + using System.Diagnostics; + using System.Linq; + using System.Numerics; /// /// A matrix type for diagonal matrices. @@ -43,6 +44,7 @@ namespace MathNet.Numerics.LinearAlgebra.Complex /// 0.0 or NaN; these settings will cause no change to the diagonal matrix. /// [Serializable] + [DebuggerDisplay("DiagonalMatrix {RowCount}x{ColumnCount}-Complex")] public class DiagonalMatrix : Matrix { readonly DiagonalMatrixStorage _storage; diff --git a/src/Numerics/LinearAlgebra/Complex/SparseMatrix.cs b/src/Numerics/LinearAlgebra/Complex/SparseMatrix.cs index 15aca2aa..ea851311 100644 --- a/src/Numerics/LinearAlgebra/Complex/SparseMatrix.cs +++ b/src/Numerics/LinearAlgebra/Complex/SparseMatrix.cs @@ -30,12 +30,13 @@ namespace MathNet.Numerics.LinearAlgebra.Complex { - using System; - using System.Collections.Generic; - using System.Numerics; using Generic; using Properties; using Storage; + using System; + using System.Collections.Generic; + using System.Diagnostics; + using System.Numerics; using Threading; /// @@ -43,6 +44,7 @@ namespace MathNet.Numerics.LinearAlgebra.Complex /// Wikipedia - CSR. /// [Serializable] + [DebuggerDisplay("SparseMatrix {RowCount}x{ColumnCount}-Complex {NonZerosCount}-NonZero")] public class SparseMatrix : Matrix { readonly SparseCompressedRowMatrixStorage _storage; diff --git a/src/Numerics/LinearAlgebra/Complex/SparseVector.cs b/src/Numerics/LinearAlgebra/Complex/SparseVector.cs index 7ff9c269..6accc36e 100644 --- a/src/Numerics/LinearAlgebra/Complex/SparseVector.cs +++ b/src/Numerics/LinearAlgebra/Complex/SparseVector.cs @@ -30,13 +30,14 @@ namespace MathNet.Numerics.LinearAlgebra.Complex { + using Generic; + using NumberTheory; + using Storage; using System; using System.Collections.Generic; + using System.Diagnostics; using System.Linq; using System.Numerics; - using Generic; - using NumberTheory; - using Storage; using Threading; /// @@ -44,6 +45,7 @@ namespace MathNet.Numerics.LinearAlgebra.Complex /// /// The sparse vector is not thread safe. [Serializable] + [DebuggerDisplay("SparseVector {Count}-Complex {NonZerosCount}-NonZero")] public class SparseVector : Vector { readonly SparseVectorStorage _storage; diff --git a/src/Numerics/LinearAlgebra/Complex32/DenseMatrix.cs b/src/Numerics/LinearAlgebra/Complex32/DenseMatrix.cs index 0d3689fd..bfd57689 100644 --- a/src/Numerics/LinearAlgebra/Complex32/DenseMatrix.cs +++ b/src/Numerics/LinearAlgebra/Complex32/DenseMatrix.cs @@ -26,18 +26,20 @@ namespace MathNet.Numerics.LinearAlgebra.Complex32 { - using System; using Algorithms.LinearAlgebra; using Distributions; using Generic; using Numerics; using Properties; using Storage; + using System; + using System.Diagnostics; /// /// A Matrix class with dense storage. The underlying storage is a one dimensional array in column-major order. /// [Serializable] + [DebuggerDisplay("DenseMatrix {RowCount}x{ColumnCount}-Complex32")] public class DenseMatrix : Matrix { /// diff --git a/src/Numerics/LinearAlgebra/Complex32/DenseVector.cs b/src/Numerics/LinearAlgebra/Complex32/DenseVector.cs index f5edf257..61a9d978 100644 --- a/src/Numerics/LinearAlgebra/Complex32/DenseVector.cs +++ b/src/Numerics/LinearAlgebra/Complex32/DenseVector.cs @@ -30,21 +30,22 @@ namespace MathNet.Numerics.LinearAlgebra.Complex32 { - using System; - using System.Collections.Generic; - using System.Linq; using Distributions; using Generic; using NumberTheory; using Numerics; - using Properties; using Storage; + using System; + using System.Collections.Generic; + using System.Diagnostics; + using System.Linq; using Threading; /// /// A vector using dense storage. /// [Serializable] + [DebuggerDisplay("DenseVector {Count}-Complex32")] public class DenseVector : Vector { /// diff --git a/src/Numerics/LinearAlgebra/Complex32/DiagonalMatrix.cs b/src/Numerics/LinearAlgebra/Complex32/DiagonalMatrix.cs index 6cab5196..0dc6b3f5 100644 --- a/src/Numerics/LinearAlgebra/Complex32/DiagonalMatrix.cs +++ b/src/Numerics/LinearAlgebra/Complex32/DiagonalMatrix.cs @@ -26,12 +26,13 @@ namespace MathNet.Numerics.LinearAlgebra.Complex32 { - using System; - using System.Linq; using Generic; using Numerics; using Properties; using Storage; + using System; + using System.Diagnostics; + using System.Linq; /// /// A matrix type for diagonal matrices. @@ -43,6 +44,7 @@ namespace MathNet.Numerics.LinearAlgebra.Complex32 /// 0.0 or NaN; these settings will cause no change to the diagonal matrix. /// [Serializable] + [DebuggerDisplay("DiagonalMatrix {RowCount}x{ColumnCount}-Complex32")] public class DiagonalMatrix : Matrix { readonly DiagonalMatrixStorage _storage; diff --git a/src/Numerics/LinearAlgebra/Complex32/SparseMatrix.cs b/src/Numerics/LinearAlgebra/Complex32/SparseMatrix.cs index d1f930e5..472c3ea4 100644 --- a/src/Numerics/LinearAlgebra/Complex32/SparseMatrix.cs +++ b/src/Numerics/LinearAlgebra/Complex32/SparseMatrix.cs @@ -30,12 +30,13 @@ namespace MathNet.Numerics.LinearAlgebra.Complex32 { - using System; - using System.Collections.Generic; using Generic; using Numerics; using Properties; using Storage; + using System; + using System.Collections.Generic; + using System.Diagnostics; using Threading; /// @@ -43,6 +44,7 @@ namespace MathNet.Numerics.LinearAlgebra.Complex32 /// Wikipedia - CSR. /// [Serializable] + [DebuggerDisplay("SparseMatrix {RowCount}x{ColumnCount}-Complex32 {NonZerosCount}-NonZero")] public class SparseMatrix : Matrix { readonly SparseCompressedRowMatrixStorage _storage; diff --git a/src/Numerics/LinearAlgebra/Complex32/SparseVector.cs b/src/Numerics/LinearAlgebra/Complex32/SparseVector.cs index a207a603..cd84d739 100644 --- a/src/Numerics/LinearAlgebra/Complex32/SparseVector.cs +++ b/src/Numerics/LinearAlgebra/Complex32/SparseVector.cs @@ -30,13 +30,14 @@ namespace MathNet.Numerics.LinearAlgebra.Complex32 { - using System; - using System.Collections.Generic; - using System.Linq; using Generic; using NumberTheory; using Numerics; using Storage; + using System; + using System.Collections.Generic; + using System.Diagnostics; + using System.Linq; using Threading; /// @@ -44,6 +45,7 @@ namespace MathNet.Numerics.LinearAlgebra.Complex32 /// /// The sparse vector is not thread safe. [Serializable] + [DebuggerDisplay("SparseVector {Count}-Complex32 {NonZerosCount}-NonZero")] public class SparseVector : Vector { readonly SparseVectorStorage _storage; diff --git a/src/Numerics/LinearAlgebra/Double/DenseMatrix.cs b/src/Numerics/LinearAlgebra/Double/DenseMatrix.cs index 6d9f9be0..cce7ea7c 100644 --- a/src/Numerics/LinearAlgebra/Double/DenseMatrix.cs +++ b/src/Numerics/LinearAlgebra/Double/DenseMatrix.cs @@ -26,18 +26,20 @@ namespace MathNet.Numerics.LinearAlgebra.Double { - using System; using Algorithms.LinearAlgebra; using Distributions; using Generic; using Properties; using Storage; + using System; + using System.Diagnostics; using Threading; /// /// A Matrix class with dense storage. The underlying storage is a one dimensional array in column-major order. /// [Serializable] + [DebuggerDisplay("DenseMatrix {RowCount}x{ColumnCount}-Double")] public class DenseMatrix : Matrix { /// diff --git a/src/Numerics/LinearAlgebra/Double/DenseVector.cs b/src/Numerics/LinearAlgebra/Double/DenseVector.cs index 3550e976..64aafe68 100644 --- a/src/Numerics/LinearAlgebra/Double/DenseVector.cs +++ b/src/Numerics/LinearAlgebra/Double/DenseVector.cs @@ -30,21 +30,23 @@ namespace MathNet.Numerics.LinearAlgebra.Double { - using System; - using System.Collections.Generic; - using System.Globalization; - using System.Linq; using Distributions; using Generic; using NumberTheory; using Properties; using Storage; + using System; + using System.Collections.Generic; + using System.Diagnostics; + using System.Globalization; + using System.Linq; using Threading; /// /// A vector using dense storage. /// [Serializable] + [DebuggerDisplay("DenseVector {Count}-Double")] public class DenseVector : Vector { /// diff --git a/src/Numerics/LinearAlgebra/Double/DiagonalMatrix.cs b/src/Numerics/LinearAlgebra/Double/DiagonalMatrix.cs index e2d51eab..18c31bfb 100644 --- a/src/Numerics/LinearAlgebra/Double/DiagonalMatrix.cs +++ b/src/Numerics/LinearAlgebra/Double/DiagonalMatrix.cs @@ -26,11 +26,12 @@ namespace MathNet.Numerics.LinearAlgebra.Double { - using System; - using System.Linq; using Generic; using Properties; using Storage; + using System; + using System.Diagnostics; + using System.Linq; /// /// A matrix type for diagonal matrices. @@ -42,6 +43,7 @@ namespace MathNet.Numerics.LinearAlgebra.Double /// 0.0 or NaN; these settings will cause no change to the diagonal matrix. /// [Serializable] + [DebuggerDisplay("DiagonalMatrix {RowCount}x{ColumnCount}-Double")] public class DiagonalMatrix : Matrix { readonly DiagonalMatrixStorage _storage; diff --git a/src/Numerics/LinearAlgebra/Double/SparseMatrix.cs b/src/Numerics/LinearAlgebra/Double/SparseMatrix.cs index 972850a8..3487214c 100644 --- a/src/Numerics/LinearAlgebra/Double/SparseMatrix.cs +++ b/src/Numerics/LinearAlgebra/Double/SparseMatrix.cs @@ -30,11 +30,12 @@ namespace MathNet.Numerics.LinearAlgebra.Double { - using System; - using System.Collections.Generic; using Generic; using Properties; using Storage; + using System; + using System.Collections.Generic; + using System.Diagnostics; using Threading; /// @@ -42,6 +43,7 @@ namespace MathNet.Numerics.LinearAlgebra.Double /// Wikipedia - CSR. /// [Serializable] + [DebuggerDisplay("SparseMatrix {RowCount}x{ColumnCount}-Double {NonZerosCount}-NonZero")] public class SparseMatrix : Matrix { readonly SparseCompressedRowMatrixStorage _storage; diff --git a/src/Numerics/LinearAlgebra/Double/SparseVector.cs b/src/Numerics/LinearAlgebra/Double/SparseVector.cs index b158e065..d22d3c8b 100644 --- a/src/Numerics/LinearAlgebra/Double/SparseVector.cs +++ b/src/Numerics/LinearAlgebra/Double/SparseVector.cs @@ -30,13 +30,14 @@ namespace MathNet.Numerics.LinearAlgebra.Double { + using Generic; + using NumberTheory; + using Storage; using System; using System.Collections.Generic; + using System.Diagnostics; using System.Globalization; using System.Linq; - using Generic; - using NumberTheory; - using Storage; using Threading; /// @@ -44,6 +45,7 @@ namespace MathNet.Numerics.LinearAlgebra.Double /// /// The sparse vector is not thread safe. [Serializable] + [DebuggerDisplay("SparseVector {Count}-Double {NonZerosCount}-NonZero")] public class SparseVector : Vector { readonly SparseVectorStorage _storage; diff --git a/src/Numerics/LinearAlgebra/Generic/Matrix.BCL.cs b/src/Numerics/LinearAlgebra/Generic/Matrix.BCL.cs index 0fab08ab..59896db5 100644 --- a/src/Numerics/LinearAlgebra/Generic/Matrix.BCL.cs +++ b/src/Numerics/LinearAlgebra/Generic/Matrix.BCL.cs @@ -29,9 +29,11 @@ // using System; +using System.Diagnostics; namespace MathNet.Numerics.LinearAlgebra.Generic { + [DebuggerDisplay("Matrix {RowCount}x{ColumnCount}")] public abstract partial class Matrix { /// diff --git a/src/Numerics/LinearAlgebra/Generic/Matrix.cs b/src/Numerics/LinearAlgebra/Generic/Matrix.cs index 835cff56..66383f15 100644 --- a/src/Numerics/LinearAlgebra/Generic/Matrix.cs +++ b/src/Numerics/LinearAlgebra/Generic/Matrix.cs @@ -29,6 +29,8 @@ // +using System.Globalization; + namespace MathNet.Numerics.LinearAlgebra.Generic { using System; @@ -1453,15 +1455,18 @@ namespace MathNet.Numerics.LinearAlgebra.Generic /// public virtual string ToString(string format, IFormatProvider formatProvider = null) { + var provider = formatProvider ?? CultureInfo.InvariantCulture; + var separator = (provider.GetTextInfo().ListSeparator); var stringBuilder = new StringBuilder(); + for (var row = 0; row < RowCount; row++) { for (var column = 0; column < ColumnCount; column++) { - stringBuilder.Append(At(row, column).ToString(format, formatProvider)); + stringBuilder.Append(At(row, column).ToString(format, provider)); if (column != ColumnCount - 1) { - stringBuilder.Append(formatProvider.GetTextInfo().ListSeparator); + stringBuilder.Append(separator); } } diff --git a/src/Numerics/LinearAlgebra/Generic/Vector.BCL.cs b/src/Numerics/LinearAlgebra/Generic/Vector.BCL.cs index 6ed83203..5248662c 100644 --- a/src/Numerics/LinearAlgebra/Generic/Vector.BCL.cs +++ b/src/Numerics/LinearAlgebra/Generic/Vector.BCL.cs @@ -31,11 +31,13 @@ using System; using System.Collections; using System.Collections.Generic; +using System.Diagnostics; using MathNet.Numerics.LinearAlgebra.Storage; using MathNet.Numerics.Properties; namespace MathNet.Numerics.LinearAlgebra.Generic { + [DebuggerDisplay("Vector {Count}")] public abstract partial class Vector { /// diff --git a/src/Numerics/LinearAlgebra/Generic/Vector.cs b/src/Numerics/LinearAlgebra/Generic/Vector.cs index bd78d803..84254e58 100644 --- a/src/Numerics/LinearAlgebra/Generic/Vector.cs +++ b/src/Numerics/LinearAlgebra/Generic/Vector.cs @@ -29,6 +29,8 @@ // +using System.Globalization; + namespace MathNet.Numerics.LinearAlgebra.Generic { using System; @@ -1306,13 +1308,15 @@ namespace MathNet.Numerics.LinearAlgebra.Generic /// /// A that represents this instance. /// - public virtual string ToString(string format, IFormatProvider formatProvider) + public virtual string ToString(string format, IFormatProvider formatProvider = null) { + var provider = formatProvider ?? CultureInfo.InvariantCulture; + var separator = (provider.GetTextInfo().ListSeparator); var stringBuilder = new StringBuilder(); - var separator = formatProvider.GetTextInfo().ListSeparator; + for (var index = 0; index < Count; index++) { - stringBuilder.Append(this[index].ToString(format, formatProvider)); + stringBuilder.Append(this[index].ToString(format, provider)); if (index != Count - 1) { stringBuilder.Append(separator); diff --git a/src/Numerics/LinearAlgebra/Single/DenseMatrix.cs b/src/Numerics/LinearAlgebra/Single/DenseMatrix.cs index aad6e831..5ddd280d 100644 --- a/src/Numerics/LinearAlgebra/Single/DenseMatrix.cs +++ b/src/Numerics/LinearAlgebra/Single/DenseMatrix.cs @@ -26,18 +26,20 @@ namespace MathNet.Numerics.LinearAlgebra.Single { - using System; using Algorithms.LinearAlgebra; using Distributions; using Generic; using Properties; using Storage; + using System; + using System.Diagnostics; using Threading; /// /// A Matrix class with dense storage. The underlying storage is a one dimensional array in column-major order. /// [Serializable] + [DebuggerDisplay("DenseMatrix {RowCount}x{ColumnCount}-Single")] public class DenseMatrix : Matrix { /// diff --git a/src/Numerics/LinearAlgebra/Single/DenseVector.cs b/src/Numerics/LinearAlgebra/Single/DenseVector.cs index 88d78fba..745dcf5d 100644 --- a/src/Numerics/LinearAlgebra/Single/DenseVector.cs +++ b/src/Numerics/LinearAlgebra/Single/DenseVector.cs @@ -30,21 +30,22 @@ namespace MathNet.Numerics.LinearAlgebra.Single { - using System; - using System.Collections.Generic; - using System.Globalization; - using System.Linq; using Distributions; using Generic; using NumberTheory; - using Properties; using Storage; + using System; + using System.Collections.Generic; + using System.Diagnostics; + using System.Globalization; + using System.Linq; using Threading; /// /// A vector using dense storage. /// [Serializable] + [DebuggerDisplay("DenseVector {Count}-Single")] public class DenseVector : Vector { /// diff --git a/src/Numerics/LinearAlgebra/Single/DiagonalMatrix.cs b/src/Numerics/LinearAlgebra/Single/DiagonalMatrix.cs index 63539a8b..2722bc53 100644 --- a/src/Numerics/LinearAlgebra/Single/DiagonalMatrix.cs +++ b/src/Numerics/LinearAlgebra/Single/DiagonalMatrix.cs @@ -26,11 +26,12 @@ namespace MathNet.Numerics.LinearAlgebra.Single { - using System; - using System.Linq; using Generic; using Properties; using Storage; + using System; + using System.Diagnostics; + using System.Linq; /// /// A matrix type for diagonal matrices. @@ -42,6 +43,7 @@ namespace MathNet.Numerics.LinearAlgebra.Single /// 0.0 or NaN; these settings will cause no change to the diagonal matrix. /// [Serializable] + [DebuggerDisplay("DiagonalMatrix {RowCount}x{ColumnCount}-Single")] public class DiagonalMatrix : Matrix { readonly DiagonalMatrixStorage _storage; diff --git a/src/Numerics/LinearAlgebra/Single/SparseMatrix.cs b/src/Numerics/LinearAlgebra/Single/SparseMatrix.cs index 79e3a1cf..292c2dd2 100644 --- a/src/Numerics/LinearAlgebra/Single/SparseMatrix.cs +++ b/src/Numerics/LinearAlgebra/Single/SparseMatrix.cs @@ -30,11 +30,12 @@ namespace MathNet.Numerics.LinearAlgebra.Single { - using System; - using System.Collections.Generic; using Generic; using Properties; using Storage; + using System; + using System.Collections.Generic; + using System.Diagnostics; using Threading; /// @@ -42,6 +43,7 @@ namespace MathNet.Numerics.LinearAlgebra.Single /// Wikipedia - CSR. /// [Serializable] + [DebuggerDisplay("SparseMatrix {RowCount}x{ColumnCount}-Single {NonZerosCount}-NonZero")] public class SparseMatrix : Matrix { readonly SparseCompressedRowMatrixStorage _storage; diff --git a/src/Numerics/LinearAlgebra/Single/SparseVector.cs b/src/Numerics/LinearAlgebra/Single/SparseVector.cs index 75278294..7b27df71 100644 --- a/src/Numerics/LinearAlgebra/Single/SparseVector.cs +++ b/src/Numerics/LinearAlgebra/Single/SparseVector.cs @@ -38,12 +38,14 @@ namespace MathNet.Numerics.LinearAlgebra.Single using NumberTheory; using Storage; using Threading; + using System.Diagnostics; /// /// A vector with sparse storage. /// /// The sparse vector is not thread safe. [Serializable] + [DebuggerDisplay("SparseVector {Count}-Single {NonZerosCount}-NonZero")] public class SparseVector : Vector { readonly SparseVectorStorage _storage;