From 10b650caf48dbd3cda83aef0b0a0a82dc208f890 Mon Sep 17 00:00:00 2001 From: DennisOSRM Date: Mon, 29 Oct 2012 13:25:31 +0100 Subject: [PATCH] fixes unsafe float comparisons --- Descriptors/DescriptionFactory.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Descriptors/DescriptionFactory.cpp b/Descriptors/DescriptionFactory.cpp index 9d6ed8a86..2db1706a7 100644 --- a/Descriptors/DescriptionFactory.cpp +++ b/Descriptors/DescriptionFactory.cpp @@ -158,7 +158,7 @@ void DescriptionFactory::Run(const SearchEngineT &sEngine, const unsigned zoomLe // INFO("#segs: " << pathDescription.size()); //Post-processing to remove empty or nearly empty path segments - if(0 == pathDescription.back().length) { + if(FLT_EPSILON > pathDescription.back().length) { // INFO("#segs: " << pathDescription.size() << ", last ratio: " << targetPhantom.ratio << ", length: " << pathDescription.back().length); if(pathDescription.size() > 2){ pathDescription.pop_back(); @@ -170,7 +170,7 @@ void DescriptionFactory::Run(const SearchEngineT &sEngine, const unsigned zoomLe } else { pathDescription[indexOfSegmentBegin].duration *= (1.-targetPhantom.ratio); } - if(0 == pathDescription[0].length) { + if(FLT_EPSILON > pathDescription[0].length) { //TODO: this is never called actually? if(pathDescription.size() > 2) { pathDescription.erase(pathDescription.begin());