diff --git a/src/libaevol/Fuzzy.cpp b/src/libaevol/Fuzzy.cpp index fc605b0ecfed3f7a43062c46fe7cc1985a935eeb..f1c71807856e9e155405beecfa894dadf3fee098 100644 --- a/src/libaevol/Fuzzy.cpp +++ b/src/libaevol/Fuzzy.cpp @@ -476,12 +476,14 @@ void Fuzzy::clear() { void Fuzzy::add_point(ProteinConcentration x, ProteinConcentration y) { + // Don't add a new point if there's already a point at the same x. list<Point>::iterator p = #ifndef __OPENMP_GPU find_if(points_.begin(), points_.end(), [x](Point& q){return q.x > x;}); #else algorithm_cuda::find_if_point_5(points_.begin(), points_.end(), x); #endif + if (prev(p)->x == x) { prev(p)->y += y; } else {