From 2178b66e939e64949b6fa0645048a40f6b717d49 Mon Sep 17 00:00:00 2001 From: Markus Holzer <markus.holzer@fau.de> Date: Tue, 21 Dec 2021 15:20:37 +0100 Subject: [PATCH] Use Walrus operator --- pystencils/backends/cbackend.py | 12 ++++-------- 1 file changed, 4 insertions(+), 8 deletions(-) diff --git a/pystencils/backends/cbackend.py b/pystencils/backends/cbackend.py index 86e2383c..8e1d8445 100644 --- a/pystencils/backends/cbackend.py +++ b/pystencils/backends/cbackend.py @@ -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: -- GitLab