[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