bug fix for stridedRange

This commit is contained in:
HRN 2025-01-25 19:48:36 +03:30
parent 0fc9eea561
commit debb8fd037
2 changed files with 14 additions and 5 deletions

View File

@ -93,6 +93,7 @@ bool pFlow::contactSearch::boundaryBroadSearch
bTimer_.start();
for(uint32 i=0u; i<6u; i++)
{
output<<" boundarySearch "<< i <<" for iter "<< ti.iter()<<endl;
if(!BoundaryBroadSearch(
i,
ti,

View File

@ -154,29 +154,37 @@ inline
bool stridedRange<float>::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<uint64>((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<double>::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<uint64>((dist+0.01*epsilon)/stride_)*stride_))
)<= epsilon) return true;
if(equal(val,begin_))return true;
if(equal(val,end_))return true;
return false;
}