Skip to content
Snippets Groups Projects

Draft: Remove too many zeros

Closed Markus Holzer requested to merge holzer/pystencils:SmallPolish into master
1 file
+ 4
8
Compare changes
  • Side-by-side
  • Inline
@@ -453,10 +453,8 @@ class CustomSympyPrinter(CCodePrinter):
def _print_Rational(self, expr):
"""Evaluate all rationals i.e. print 0.25 instead of 1.0/4.0"""
res = str(expr.evalf(17))
if "." in res:
res = res.rstrip('0')
if res[-1] == ".":
res += '0'
if p := res.find('.'):
res = res[:p + 2] + res[p + 2:].rstrip('0')
return res
def _print_Equality(self, expr):
@@ -529,10 +527,8 @@ class CustomSympyPrinter(CCodePrinter):
def _typed_number(self, number, dtype):
res = self._print(number)
if "." in res:
res = res.rstrip('0')
if res[-1] == ".":
res += '0'
if p := res.find('.'):
res = res[:p + 2] + res[p + 2:].rstrip('0')
if dtype.numpy_dtype == np.float32:
return res + '.0f' if '.' not in res else res + 'f'
elif dtype.numpy_dtype == np.float64:
Loading