diff --git a/affine/__init__.py b/affine/__init__.py index 934fd13..caaca8f 100644 --- a/affine/__init__.py +++ b/affine/__init__.py @@ -368,8 +368,9 @@ def _scaling(self): det2 = (a * e - b * d) ** 2 delta = trace**2 / 4.0 - det2 - if delta < 1e-12: + if delta < self.precision: delta = 0.0 + sqrt_delta = math.sqrt(delta) l1 = math.sqrt(trace / 2.0 + sqrt_delta) l2 = math.sqrt(trace / 2.0 - sqrt_delta)