Browse Source

UX: DebuggerDisplay attribute for matrices and vectors

pull/109/head
Christoph Ruegg 13 years ago
parent
commit
fdaa12cd3f
  1. 6
      src/Numerics/LinearAlgebra/Complex/DenseMatrix.cs
  2. 12
      src/Numerics/LinearAlgebra/Complex/DenseVector.cs
  3. 8
      src/Numerics/LinearAlgebra/Complex/DiagonalMatrix.cs
  4. 8
      src/Numerics/LinearAlgebra/Complex/SparseMatrix.cs
  5. 8
      src/Numerics/LinearAlgebra/Complex/SparseVector.cs
  6. 4
      src/Numerics/LinearAlgebra/Complex32/DenseMatrix.cs
  7. 9
      src/Numerics/LinearAlgebra/Complex32/DenseVector.cs
  8. 6
      src/Numerics/LinearAlgebra/Complex32/DiagonalMatrix.cs
  9. 6
      src/Numerics/LinearAlgebra/Complex32/SparseMatrix.cs
  10. 8
      src/Numerics/LinearAlgebra/Complex32/SparseVector.cs
  11. 4
      src/Numerics/LinearAlgebra/Double/DenseMatrix.cs
  12. 10
      src/Numerics/LinearAlgebra/Double/DenseVector.cs
  13. 6
      src/Numerics/LinearAlgebra/Double/DiagonalMatrix.cs
  14. 6
      src/Numerics/LinearAlgebra/Double/SparseMatrix.cs
  15. 8
      src/Numerics/LinearAlgebra/Double/SparseVector.cs
  16. 2
      src/Numerics/LinearAlgebra/Generic/Matrix.BCL.cs
  17. 9
      src/Numerics/LinearAlgebra/Generic/Matrix.cs
  18. 2
      src/Numerics/LinearAlgebra/Generic/Vector.BCL.cs
  19. 10
      src/Numerics/LinearAlgebra/Generic/Vector.cs
  20. 4
      src/Numerics/LinearAlgebra/Single/DenseMatrix.cs
  21. 11
      src/Numerics/LinearAlgebra/Single/DenseVector.cs
  22. 6
      src/Numerics/LinearAlgebra/Single/DiagonalMatrix.cs
  23. 6
      src/Numerics/LinearAlgebra/Single/SparseMatrix.cs
  24. 2
      src/Numerics/LinearAlgebra/Single/SparseVector.cs

6
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;
/// <summary>
/// A Matrix class with dense storage. The underlying storage is a one dimensional array in column-major order.
/// </summary>
[Serializable]
[DebuggerDisplay("DenseMatrix {RowCount}x{ColumnCount}-Complex")]
public class DenseMatrix : Matrix
{
/// <summary>

12
src/Numerics/LinearAlgebra/Complex/DenseVector.cs

@ -28,23 +28,25 @@
// OTHER DEALINGS IN THE SOFTWARE.
// </copyright>
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;
/// <summary>
/// A vector using dense storage.
/// </summary>
[Serializable]
[DebuggerDisplay("DenseVector {Count}-Complex")]
public class DenseVector : Vector
{
/// <summary>

8
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;
/// <summary>
/// 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.
/// </remarks>
[Serializable]
[DebuggerDisplay("DiagonalMatrix {RowCount}x{ColumnCount}-Complex")]
public class DiagonalMatrix : Matrix
{
readonly DiagonalMatrixStorage<Complex> _storage;

8
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;
/// <summary>
@ -43,6 +44,7 @@ namespace MathNet.Numerics.LinearAlgebra.Complex
/// <a href="http://en.wikipedia.org/wiki/Sparse_matrix#Compressed_sparse_row_.28CSR_or_CRS.29">Wikipedia - CSR</a>.
/// </summary>
[Serializable]
[DebuggerDisplay("SparseMatrix {RowCount}x{ColumnCount}-Complex {NonZerosCount}-NonZero")]
public class SparseMatrix : Matrix
{
readonly SparseCompressedRowMatrixStorage<Complex> _storage;

8
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;
/// <summary>
@ -44,6 +45,7 @@ namespace MathNet.Numerics.LinearAlgebra.Complex
/// </summary>
/// <remarks>The sparse vector is not thread safe.</remarks>
[Serializable]
[DebuggerDisplay("SparseVector {Count}-Complex {NonZerosCount}-NonZero")]
public class SparseVector : Vector
{
readonly SparseVectorStorage<Complex> _storage;

4
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;
/// <summary>
/// A Matrix class with dense storage. The underlying storage is a one dimensional array in column-major order.
/// </summary>
[Serializable]
[DebuggerDisplay("DenseMatrix {RowCount}x{ColumnCount}-Complex32")]
public class DenseMatrix : Matrix
{
/// <summary>

9
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;
/// <summary>
/// A vector using dense storage.
/// </summary>
[Serializable]
[DebuggerDisplay("DenseVector {Count}-Complex32")]
public class DenseVector : Vector
{
/// <summary>

6
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;
/// <summary>
/// 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.
/// </remarks>
[Serializable]
[DebuggerDisplay("DiagonalMatrix {RowCount}x{ColumnCount}-Complex32")]
public class DiagonalMatrix : Matrix
{
readonly DiagonalMatrixStorage<Complex32> _storage;

6
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;
/// <summary>
@ -43,6 +44,7 @@ namespace MathNet.Numerics.LinearAlgebra.Complex32
/// <a href="http://en.wikipedia.org/wiki/Sparse_matrix#Compressed_sparse_row_.28CSR_or_CRS.29">Wikipedia - CSR</a>.
/// </summary>
[Serializable]
[DebuggerDisplay("SparseMatrix {RowCount}x{ColumnCount}-Complex32 {NonZerosCount}-NonZero")]
public class SparseMatrix : Matrix
{
readonly SparseCompressedRowMatrixStorage<Complex32> _storage;

8
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;
/// <summary>
@ -44,6 +45,7 @@ namespace MathNet.Numerics.LinearAlgebra.Complex32
/// </summary>
/// <remarks>The sparse vector is not thread safe.</remarks>
[Serializable]
[DebuggerDisplay("SparseVector {Count}-Complex32 {NonZerosCount}-NonZero")]
public class SparseVector : Vector
{
readonly SparseVectorStorage<Complex32> _storage;

4
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;
/// <summary>
/// A Matrix class with dense storage. The underlying storage is a one dimensional array in column-major order.
/// </summary>
[Serializable]
[DebuggerDisplay("DenseMatrix {RowCount}x{ColumnCount}-Double")]
public class DenseMatrix : Matrix
{
/// <summary>

10
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;
/// <summary>
/// A vector using dense storage.
/// </summary>
[Serializable]
[DebuggerDisplay("DenseVector {Count}-Double")]
public class DenseVector : Vector
{
/// <summary>

6
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;
/// <summary>
/// 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.
/// </remarks>
[Serializable]
[DebuggerDisplay("DiagonalMatrix {RowCount}x{ColumnCount}-Double")]
public class DiagonalMatrix : Matrix
{
readonly DiagonalMatrixStorage<double> _storage;

6
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;
/// <summary>
@ -42,6 +43,7 @@ namespace MathNet.Numerics.LinearAlgebra.Double
/// <a href="http://en.wikipedia.org/wiki/Sparse_matrix#Compressed_sparse_row_.28CSR_or_CRS.29">Wikipedia - CSR</a>.
/// </summary>
[Serializable]
[DebuggerDisplay("SparseMatrix {RowCount}x{ColumnCount}-Double {NonZerosCount}-NonZero")]
public class SparseMatrix : Matrix
{
readonly SparseCompressedRowMatrixStorage<double> _storage;

8
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;
/// <summary>
@ -44,6 +45,7 @@ namespace MathNet.Numerics.LinearAlgebra.Double
/// </summary>
/// <remarks>The sparse vector is not thread safe.</remarks>
[Serializable]
[DebuggerDisplay("SparseVector {Count}-Double {NonZerosCount}-NonZero")]
public class SparseVector : Vector
{
readonly SparseVectorStorage<double> _storage;

2
src/Numerics/LinearAlgebra/Generic/Matrix.BCL.cs

@ -29,9 +29,11 @@
// </copyright>
using System;
using System.Diagnostics;
namespace MathNet.Numerics.LinearAlgebra.Generic
{
[DebuggerDisplay("Matrix {RowCount}x{ColumnCount}")]
public abstract partial class Matrix<T>
{
/// <summary>

9
src/Numerics/LinearAlgebra/Generic/Matrix.cs

@ -29,6 +29,8 @@
// </copyright>
using System.Globalization;
namespace MathNet.Numerics.LinearAlgebra.Generic
{
using System;
@ -1453,15 +1455,18 @@ namespace MathNet.Numerics.LinearAlgebra.Generic
/// </returns>
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);
}
}

2
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<T>
{
/// <summary>

10
src/Numerics/LinearAlgebra/Generic/Vector.cs

@ -29,6 +29,8 @@
// </copyright>
using System.Globalization;
namespace MathNet.Numerics.LinearAlgebra.Generic
{
using System;
@ -1306,13 +1308,15 @@ namespace MathNet.Numerics.LinearAlgebra.Generic
/// <returns>
/// A <see cref="System.String"/> that represents this instance.
/// </returns>
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);

4
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;
/// <summary>
/// A Matrix class with dense storage. The underlying storage is a one dimensional array in column-major order.
/// </summary>
[Serializable]
[DebuggerDisplay("DenseMatrix {RowCount}x{ColumnCount}-Single")]
public class DenseMatrix : Matrix
{
/// <summary>

11
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;
/// <summary>
/// A vector using dense storage.
/// </summary>
[Serializable]
[DebuggerDisplay("DenseVector {Count}-Single")]
public class DenseVector : Vector
{
/// <summary>

6
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;
/// <summary>
/// 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.
/// </remarks>
[Serializable]
[DebuggerDisplay("DiagonalMatrix {RowCount}x{ColumnCount}-Single")]
public class DiagonalMatrix : Matrix
{
readonly DiagonalMatrixStorage<float> _storage;

6
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;
/// <summary>
@ -42,6 +43,7 @@ namespace MathNet.Numerics.LinearAlgebra.Single
/// <a href="http://en.wikipedia.org/wiki/Sparse_matrix#Compressed_sparse_row_.28CSR_or_CRS.29">Wikipedia - CSR</a>.
/// </summary>
[Serializable]
[DebuggerDisplay("SparseMatrix {RowCount}x{ColumnCount}-Single {NonZerosCount}-NonZero")]
public class SparseMatrix : Matrix
{
readonly SparseCompressedRowMatrixStorage<float> _storage;

2
src/Numerics/LinearAlgebra/Single/SparseVector.cs

@ -38,12 +38,14 @@ namespace MathNet.Numerics.LinearAlgebra.Single
using NumberTheory;
using Storage;
using Threading;
using System.Diagnostics;
/// <summary>
/// A vector with sparse storage.
/// </summary>
/// <remarks>The sparse vector is not thread safe.</remarks>
[Serializable]
[DebuggerDisplay("SparseVector {Count}-Single {NonZerosCount}-NonZero")]
public class SparseVector : Vector
{
readonly SparseVectorStorage<float> _storage;

Loading…
Cancel
Save