bug fix for stridedRange
This commit is contained in:
parent
0fc9eea561
commit
debb8fd037
|
@ -93,6 +93,7 @@ bool pFlow::contactSearch::boundaryBroadSearch
|
||||||
bTimer_.start();
|
bTimer_.start();
|
||||||
for(uint32 i=0u; i<6u; i++)
|
for(uint32 i=0u; i<6u; i++)
|
||||||
{
|
{
|
||||||
|
output<<" boundarySearch "<< i <<" for iter "<< ti.iter()<<endl;
|
||||||
if(!BoundaryBroadSearch(
|
if(!BoundaryBroadSearch(
|
||||||
i,
|
i,
|
||||||
ti,
|
ti,
|
||||||
|
|
|
@ -154,29 +154,37 @@ inline
|
||||||
bool stridedRange<float>::isMember(float val, float epsilon)const
|
bool stridedRange<float>::isMember(float val, float epsilon)const
|
||||||
{
|
{
|
||||||
|
|
||||||
/*if(!isInRange(val)) return false;
|
if(!isInRange(val)) return false;
|
||||||
real dist = val-begin_;
|
real dist = val-begin_;
|
||||||
if(abs(
|
if(abs(
|
||||||
(dist-(static_cast<uint64>((dist+0.01*epsilon)/stride_)*stride_))
|
(dist-(static_cast<uint64>((dist+0.01*epsilon)/stride_)*stride_))
|
||||||
)<= epsilon) return true;
|
)<= epsilon) return true;
|
||||||
if(equal(val,begin_))return true;
|
if(equal(val,begin_))return true;
|
||||||
if(equal(val,end_))return true;
|
if(equal(val,end_))return true;
|
||||||
return false;*/
|
return false;
|
||||||
if(!isInRange(val)) return false;
|
/*if(!isInRange(val)) return false;
|
||||||
if(const float dist = val-begin_; abs(remainder(dist,stride_)<= epsilon)) return true;
|
if(const float dist = val-begin_; abs(remainder(dist,stride_)<= epsilon)) return true;
|
||||||
if(equal(val,begin_))return true;
|
if(equal(val,begin_))return true;
|
||||||
if(equal(val,end_))return true;
|
if(equal(val,end_))return true;
|
||||||
return false;
|
return false;*/
|
||||||
}
|
}
|
||||||
|
|
||||||
template<>
|
template<>
|
||||||
inline
|
inline
|
||||||
bool stridedRange<double>::isMember(double val, double epsilon)const
|
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(const double dist = val-begin_; abs(remainder(dist,stride_)<= epsilon)) return true;
|
||||||
if(equal(val,begin_))return true;
|
if(equal(val,begin_))return true;
|
||||||
if(equal(val,end_))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;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue