[Erp5-report] r41899 jm - /erp5/trunk/products/ERP5/Document/FloatEquivalenceTester.py

nobody at svn.erp5.org nobody at svn.erp5.org
Fri Dec 31 01:12:34 CET 2010


Author: jm
Date: Fri Dec 31 01:12:33 2010
New Revision: 41899

URL: http://svn.erp5.org?rev=41899&view=rev
Log:
FloatEquivalenceTester: simplify commit 41890

Modified:
    erp5/trunk/products/ERP5/Document/FloatEquivalenceTester.py

Modified: erp5/trunk/products/ERP5/Document/FloatEquivalenceTester.py
URL: http://svn.erp5.org/erp5/trunk/products/ERP5/Document/FloatEquivalenceTester.py?rev=41899&r1=41898&r2=41899&view=diff
==============================================================================
--- erp5/trunk/products/ERP5/Document/FloatEquivalenceTester.py [utf8] (original)
+++ erp5/trunk/products/ERP5/Document/FloatEquivalenceTester.py [utf8] Fri Dec 31 01:12:33 2010
@@ -80,22 +80,20 @@ class FloatEquivalenceTester(Predicate, 
     if self.isDecimalAlignmentEnabled():
       decision_value = self._round(decision_value)
       prevision_value = self._round(prevision_value)
-
-    delta = decision_value - prevision_value
-    if type(delta) is float:
+      epsilon = 0
+    else:
       # XXX: What if prevision or decision is 0 ?
       #      How to know if the other value is negligible or not ?
       epsilon = abs(prevision_value * DEFAULT_PRECISION)
-      __lt__ = lambda a, b: a < b - epsilon
-    else:
-      from operator import __lt__
+
+    delta = decision_value - prevision_value
 
     # XXX we should use appropriate property sheets and getter methods
     # for these properties.
     # Maybe, but beware of default values of quantity when doing so
     absolute_tolerance_min = self.getProperty('quantity_range_min')
     if absolute_tolerance_min is not None and \
-       __lt__(delta, absolute_tolerance_min):
+       delta < (absolute_tolerance_min or - epsilon):
       return (
         prevision_value, decision_value,
         'The difference of ${property_name} between decision and prevision is less than ${value}.',
@@ -103,7 +101,7 @@ class FloatEquivalenceTester(Predicate, 
              value=absolute_tolerance_min))
     absolute_tolerance_max = self.getProperty('quantity_range_max')
     if absolute_tolerance_max is not None and \
-       __lt__(absolute_tolerance_max, delta):
+       delta > (absolute_tolerance_max or epsilon):
       return (
         prevision_value, decision_value,
         'The difference of ${property_name} between decision and prevision is larger than ${value}.',



More information about the Erp5-report mailing list