From bbceec35e7d0dcc0483329c8d9aa044258e4e8a8 Mon Sep 17 00:00:00 2001 From: Christoph Ruegg Date: Mon, 10 Oct 2011 21:45:02 +0200 Subject: [PATCH] LinearAlgebra: sparse vectors longer than 20 are no longer fully rendered on ToString --- src/Numerics/LinearAlgebra/Complex/SparseVector.cs | 10 ++++++++++ src/Numerics/LinearAlgebra/Complex32/SparseVector.cs | 10 ++++++++++ src/Numerics/LinearAlgebra/Double/SparseVector.cs | 10 ++++++++++ src/Numerics/LinearAlgebra/Single/SparseVector.cs | 10 ++++++++++ 4 files changed, 40 insertions(+) diff --git a/src/Numerics/LinearAlgebra/Complex/SparseVector.cs b/src/Numerics/LinearAlgebra/Complex/SparseVector.cs index 4732584c..8afc4d82 100644 --- a/src/Numerics/LinearAlgebra/Complex/SparseVector.cs +++ b/src/Numerics/LinearAlgebra/Complex/SparseVector.cs @@ -1260,6 +1260,16 @@ namespace MathNet.Numerics.LinearAlgebra.Complex #region System.Object override + public override string ToString(string format, IFormatProvider formatProvider) + { + if (Count > 20) + { + return String.Format("SparseVectorOfComplex({0},{1},{2})", Count, NonZerosCount, GetHashCode()); + } + + return base.ToString(format, formatProvider); + } + /// /// Check equality. If this is regular vector, then check by base implementation. If Sparse - use own method. /// diff --git a/src/Numerics/LinearAlgebra/Complex32/SparseVector.cs b/src/Numerics/LinearAlgebra/Complex32/SparseVector.cs index 8bd7a623..e1326c25 100644 --- a/src/Numerics/LinearAlgebra/Complex32/SparseVector.cs +++ b/src/Numerics/LinearAlgebra/Complex32/SparseVector.cs @@ -1290,6 +1290,16 @@ namespace MathNet.Numerics.LinearAlgebra.Complex32 #region System.Object override + public override string ToString(string format, IFormatProvider formatProvider) + { + if (Count > 20) + { + return String.Format("SparseVectorOfComplex32({0},{1},{2})", Count, NonZerosCount, GetHashCode()); + } + + return base.ToString(format, formatProvider); + } + /// /// Check equality. If this is regular vector, then check by base implementation. If Sparse - use own method. /// diff --git a/src/Numerics/LinearAlgebra/Double/SparseVector.cs b/src/Numerics/LinearAlgebra/Double/SparseVector.cs index f5fd4fd1..911dbe64 100644 --- a/src/Numerics/LinearAlgebra/Double/SparseVector.cs +++ b/src/Numerics/LinearAlgebra/Double/SparseVector.cs @@ -1320,6 +1320,16 @@ namespace MathNet.Numerics.LinearAlgebra.Double #region System.Object override + public override string ToString(string format, IFormatProvider formatProvider) + { + if (Count > 20) + { + return String.Format("SparseVectorOfDouble({0},{1},{2})", Count, NonZerosCount, GetHashCode()); + } + + return base.ToString(format, formatProvider); + } + /// /// Returns a hash code for this instance. /// diff --git a/src/Numerics/LinearAlgebra/Single/SparseVector.cs b/src/Numerics/LinearAlgebra/Single/SparseVector.cs index f7ade9c8..3b88434c 100644 --- a/src/Numerics/LinearAlgebra/Single/SparseVector.cs +++ b/src/Numerics/LinearAlgebra/Single/SparseVector.cs @@ -1330,6 +1330,16 @@ namespace MathNet.Numerics.LinearAlgebra.Single #region System.Object override + public override string ToString(string format, IFormatProvider formatProvider) + { + if (Count > 20) + { + return String.Format("SparseVectorOfSingle({0},{1},{2})", Count, NonZerosCount, GetHashCode()); + } + + return base.ToString(format, formatProvider); + } + /// /// Returns a hash code for this instance. ///