Log Message:
-----------
Don't use the overloaded Real class for doing adaptive parameter
checks (use non-fuzzy checks, since we are checking the fuzziness by hand).
Modified Files:
--------------
pg/lib/Value:
Formula.pm
Revision Data
-------------
Index: Formula.pm
===================================================================
RCS file: /webwork/cvs/system/pg/lib/Value/Formula.pm,v
retrieving revision 1.27
retrieving revision 1.28
diff -Llib/Value/Formula.pm -Llib/Value/Formula.pm -u -r1.27 -r1.28
--- lib/Value/Formula.pm
+++ lib/Value/Formula.pm
@@ -188,9 +188,9 @@
my $zeroLevel = $self->getFlag('zeroLevel',1E-14);
foreach $i (0..scalar(@{$lvalues})-1) {
my $tol = $tolerance;
- $tol *= abs($lvalues->[$i]) if $isRelative && abs($lvalues->[$i]) > $zeroLevel;
- return $rvalues->[$i]->value <=> $avalues->[$i]->value
- unless abs($rvalues->[$i] - $avalues->[$i]) < $tol;
+ my ($lv,$rv,$av) = ($lvalues->[$i]->value,$rvalues->[$i]->value,$avalues->[$i]->value);
+ $tol *= abs($lv) if $isRelative && abs($lv) > $zeroLevel;
+ return $rv <=> $av unless abs($rv - $av) < $tol;
}
return 0;
}
|