From 9e02e42ff6757da1c96518a24c913a01250564ee Mon Sep 17 00:00:00 2001 From: Gael Guennebaud Date: Tue, 21 Oct 2008 00:05:45 +0000 Subject: add the bench file for the RandomSetter --- Eigen/src/Sparse/RandomSetter.h | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) (limited to 'Eigen/src') diff --git a/Eigen/src/Sparse/RandomSetter.h b/Eigen/src/Sparse/RandomSetter.h index efe8ba2db..8606e03c6 100644 --- a/Eigen/src/Sparse/RandomSetter.h +++ b/Eigen/src/Sparse/RandomSetter.h @@ -90,12 +90,12 @@ class RandomSetter inline RandomSetter(SparseMatrixType& target) : mp_target(&target) { - int outerPackets = target.outerSize() >> OuterPacketBits; + m_outerPackets = target.outerSize() >> OuterPacketBits; if (target.outerSize()&OuterPacketMask) - outerPackets += 1; - m_hashmaps = new HashMapType[outerPackets]; + m_outerPackets += 1; + m_hashmaps = new HashMapType[m_outerPackets]; KeyType ik = (1<innerSize()+1; - for (int k=0; k::setInvalidKey(m_hashmaps[k],ik); } @@ -115,11 +115,20 @@ class RandomSetter return m_hashmaps[outerMajor][key].value; } + int nonZeros() const + { + int nz = 0; + for (int k=0; k