From cb78f5f8824651e36369b6586f8afd3506bd150a Mon Sep 17 00:00:00 2001
From: Stephan Seitz <stephan.seitz@fau.de>
Date: Thu, 27 Feb 2020 17:30:17 +0100
Subject: [PATCH] Export pystencils_autodiff.show_code{,_debug}

---
 src/pystencils_autodiff/__init__.py                      | 5 ++++-
 src/pystencils_autodiff/framework_integration/printer.py | 6 ++++++
 2 files changed, 10 insertions(+), 1 deletion(-)

diff --git a/src/pystencils_autodiff/__init__.py b/src/pystencils_autodiff/__init__.py
index ea06911..83cc034 100644
--- a/src/pystencils_autodiff/__init__.py
+++ b/src/pystencils_autodiff/__init__.py
@@ -8,6 +8,7 @@ from pystencils_autodiff._autodiff import (
     AutoDiffAstPair, AutoDiffBoundaryHandling, AutoDiffOp, DiffModes, create_backward_assignments,
     get_jacobian_of_assignments)
 from pystencils_autodiff.field_tensor_conversion import ArrayWrapper, coerce_to_field
+from pystencils_autodiff.framework_integration.printer import show_code, show_code_debug
 
 __all__ = ['backends',
            'AdjointField',
@@ -19,7 +20,9 @@ __all__ = ['backends',
            'DiffModes',
            'AutoDiffBoundaryHandling',
            'ArrayWrapper',
-           'coerce_to_field']
+           'coerce_to_field',
+           'show_code',
+           'show_code_debug']
 
 sys.modules['pystencils.autodiff'] = pystencils_autodiff
 sys.modules['pystencils.autodiff.backends'] = pystencils_autodiff.backends
diff --git a/src/pystencils_autodiff/framework_integration/printer.py b/src/pystencils_autodiff/framework_integration/printer.py
index 36477c9..57aab0d 100644
--- a/src/pystencils_autodiff/framework_integration/printer.py
+++ b/src/pystencils_autodiff/framework_integration/printer.py
@@ -1,3 +1,5 @@
+import functools
+
 import sympy as sp
 
 import pystencils.backends.cbackend
@@ -165,3 +167,7 @@ class DebugFrameworkPrinter(FrameworkIntegrationPrinter):
             return super()._print(node) + f'/* {node.__class__.__name__} symbols_undefined: {node.undefined_symbols}, symbols_defined: {node.symbols_defined}, args {[a if isinstance(a,str) else a.__class__.__name__ for a in node.args]} */'  # noqa
         else:
             return super()._print(node)
+
+
+show_code = functools.partial(pystencils.show_code, custom_backend=FrameworkIntegrationPrinter())
+show_code_debug = functools.partial(pystencils.show_code, custom_backend=DebugFrameworkPrinter())
-- 
GitLab