From b3c1dc06391ad4eb727a47fc815e66919d3be62d Mon Sep 17 00:00:00 2001 From: Idan Pazi Date: Wed, 4 Dec 2024 12:32:02 +0200 Subject: [PATCH] transformers - use repr instead of str for casting float to Rational The documentation guarantees that for float x this would always be true float(repr(x)) == x --- calcpy/transformers.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/calcpy/transformers.py b/calcpy/transformers.py index 06976e9..b5741d4 100644 --- a/calcpy/transformers.py +++ b/calcpy/transformers.py @@ -213,7 +213,7 @@ def visit_Constant(self, node): if self.ip.calcpy.auto_rational: if isinstance(node.value, float): return ast.Call(func=ast.Name(id='Rational', ctx=ast.Load()), - args=[ast.Call(func=ast.Name(id='str', ctx=ast.Load()), + args=[ast.Call(func=ast.Name(id='repr', ctx=ast.Load()), args=[node], keywords=[])], keywords=[]) return self.generic_visit(node)