dolfin::between only works when range is ordered

Issue #965 new
Chaffra Affouda created an issue
between(-0.5, (0,-1.0))

returns False

Here's a possible fix

bool dolfin::between(double x, std::pair<double, double> range)
{
  double a = range.first;
  double b = range.second;
  if(range.second < range.first){
      a = range.second;
      b = range.first;
  }

  return a - DOLFIN_EPS <= x && x <= b + DOLFIN_EPS;
}

Comments (0)

  1. Log in to comment