From debb8fd03707769592d5cd60f07b33d17e3c3f4d Mon Sep 17 00:00:00 2001 From: HRN Date: Sat, 25 Jan 2025 19:48:36 +0330 Subject: [PATCH] bug fix for stridedRange --- .../contactSearch/contactSearch.cpp | 1 + src/phasicFlow/ranges/stridedRange.hpp | 18 +++++++++++++----- 2 files changed, 14 insertions(+), 5 deletions(-) diff --git a/src/Interaction/contactSearch/contactSearch/contactSearch.cpp b/src/Interaction/contactSearch/contactSearch/contactSearch.cpp index b384b0bc..7fad93ba 100644 --- a/src/Interaction/contactSearch/contactSearch/contactSearch.cpp +++ b/src/Interaction/contactSearch/contactSearch/contactSearch.cpp @@ -93,6 +93,7 @@ bool pFlow::contactSearch::boundaryBroadSearch bTimer_.start(); for(uint32 i=0u; i<6u; i++) { + output<<" boundarySearch "<< i <<" for iter "<< ti.iter()<::isMember(float val, float epsilon)const { - /*if(!isInRange(val)) return false; + if(!isInRange(val)) return false; real dist = val-begin_; if(abs( (dist-(static_cast((dist+0.01*epsilon)/stride_)*stride_)) )<= epsilon) return true; if(equal(val,begin_))return true; if(equal(val,end_))return true; - return false;*/ - if(!isInRange(val)) return false; + return false; + /*if(!isInRange(val)) return false; if(const float dist = val-begin_; abs(remainder(dist,stride_)<= epsilon)) return true; if(equal(val,begin_))return true; if(equal(val,end_))return true; - return false; + return false;*/ } template<> inline bool stridedRange::isMember(double val, double epsilon)const { - if(!isInRange(val)) return false; + /*if(!isInRange(val)) return false; if(const double dist = val-begin_; abs(remainder(dist,stride_)<= epsilon)) return true; if(equal(val,begin_))return true; if(equal(val,end_))return true; + return false;*/ + if(!isInRange(val)) return false; + real dist = val-begin_; + if(abs( + (dist-(static_cast((dist+0.01*epsilon)/stride_)*stride_)) + )<= epsilon) return true; + if(equal(val,begin_))return true; + if(equal(val,end_))return true; return false; }