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;