summaryrefslogtreecommitdiffhomepage
path: root/eigen/test/sparse_basic.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'eigen/test/sparse_basic.cpp')
-rw-r--r--eigen/test/sparse_basic.cpp3
1 files changed, 2 insertions, 1 deletions
diff --git a/eigen/test/sparse_basic.cpp b/eigen/test/sparse_basic.cpp
index f84b6e3..d0ef722 100644
--- a/eigen/test/sparse_basic.cpp
+++ b/eigen/test/sparse_basic.cpp
@@ -630,7 +630,8 @@ void big_sparse_triplet(Index rows, Index cols, double density) {
{
Index r = internal::random<Index>(0,rows-1);
Index c = internal::random<Index>(0,cols-1);
- Scalar v = internal::random<Scalar>();
+ // use positive values to prevent numerical cancellation errors in sum
+ Scalar v = numext::abs(internal::random<Scalar>());
triplets.push_back(TripletType(r,c,v));
sum += v;
}