From 32e71e470e9469fa1c822f6e523435b33fcb8add Mon Sep 17 00:00:00 2001 From: Andreas Kloeckner <inform@tiker.net> Date: Fri, 28 Nov 2014 13:37:49 -0600 Subject: [PATCH] More readable stringification for GA's nabla and components --- pymbolic/geometric_algebra/mapper.py | 19 +++++++++++++++++-- 1 file changed, 17 insertions(+), 2 deletions(-) diff --git a/pymbolic/geometric_algebra/mapper.py b/pymbolic/geometric_algebra/mapper.py index 6d242ea..d37909b 100644 --- a/pymbolic/geometric_algebra/mapper.py +++ b/pymbolic/geometric_algebra/mapper.py @@ -1,3 +1,4 @@ +# * encoding: utf-8 * from __future__ import division from __future__ import absolute_import from six.moves import range @@ -93,11 +94,25 @@ class EvaluationMapper(EvaluationMapperBase): class StringifyMapper(StringifyMapperBase): + AXES = {0: "x", 1: "y", 2: "z"} + def map_nabla(self, expr, enclosing_prec): - return r"\/[%s]" % expr.nabla_id + import sys + if sys.version_info >= (3,): + return u"∇[%s]" % expr.nabla_id + else: + return r"\/[%s]" % expr.nabla_id def map_nabla_component(self, expr, enclosing_prec): - return r"d/dx%d[%s]" % (expr.ambient_axis, expr.nabla_id) + import sys + if sys.version_info >= (3,): + return u"∇%s[%s]" % ( + self.AXES.get(expr.ambient_axis, expr.ambient_axis), + expr.nabla_id) + else: + return r"\/%s[%s]" % ( + self.AXES.get(expr.ambient_axis, expr.ambient_axis), + expr.nabla_id) def map_derivative_source(self, expr, enclosing_prec): return r"D[%s](%s)" % (expr.nabla_id, self.rec(expr.operand, PREC_NONE)) -- GitLab