fixes unsafe float comparisons

This commit is contained in:
DennisOSRM 2012-10-29 13:25:31 +01:00
parent 75561b8278
commit 10b650caf4

View File

@ -158,7 +158,7 @@ void DescriptionFactory::Run(const SearchEngineT &sEngine, const unsigned zoomLe
// INFO("#segs: " << pathDescription.size()); // INFO("#segs: " << pathDescription.size());
//Post-processing to remove empty or nearly empty path segments //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); // INFO("#segs: " << pathDescription.size() << ", last ratio: " << targetPhantom.ratio << ", length: " << pathDescription.back().length);
if(pathDescription.size() > 2){ if(pathDescription.size() > 2){
pathDescription.pop_back(); pathDescription.pop_back();
@ -170,7 +170,7 @@ void DescriptionFactory::Run(const SearchEngineT &sEngine, const unsigned zoomLe
} else { } else {
pathDescription[indexOfSegmentBegin].duration *= (1.-targetPhantom.ratio); pathDescription[indexOfSegmentBegin].duration *= (1.-targetPhantom.ratio);
} }
if(0 == pathDescription[0].length) { if(FLT_EPSILON > pathDescription[0].length) {
//TODO: this is never called actually? //TODO: this is never called actually?
if(pathDescription.size() > 2) { if(pathDescription.size() > 2) {
pathDescription.erase(pathDescription.begin()); pathDescription.erase(pathDescription.begin());