$answer->tolerancetype = 2; // nominal
}
- // We need to add a tiny fraction (0.00000000000000001) to make the
+ // We need to add a tiny fraction depending on the set precision to make the
// comparison work correctly. Otherwise seemingly equal values can yield
// false. (fixes bug #3225)
- $tolerance = (float)$answer->tolerance + 0.0000000000001;
+ $tolerance = (float)$answer->tolerance + ("1.0e-".ini_get('precision'));
switch ($answer->tolerancetype) {
case '1': case 'relative':
/// Recalculate the tolerance and fall through