From 6ca0d8aad1582cb997f7b33d1fedcd736e362c00 Mon Sep 17 00:00:00 2001 From: Kaushik Kulkarni <kaushikcfd@gmail.com> Date: Wed, 26 May 2021 09:32:39 -0500 Subject: [PATCH] define :meth:`InKernelCallable.with_name` --- loopy/kernel/function_interface.py | 15 +++++++++++++++ loopy/translation_unit.py | 2 +- 2 files changed, 16 insertions(+), 1 deletion(-) diff --git a/loopy/kernel/function_interface.py b/loopy/kernel/function_interface.py index e4a91f1e7..b99c8b2f8 100644 --- a/loopy/kernel/function_interface.py +++ b/loopy/kernel/function_interface.py @@ -314,6 +314,7 @@ class InKernelCallable(ImmutableRecord): .. automethod:: get_hw_axes_sizes .. automethod:: get_used_hw_axes .. automethod:: get_called_callables + .. automethod:: with_name .. note:: @@ -492,6 +493,13 @@ class InKernelCallable(ImmutableRecord): """ raise NotImplementedError + def with_name(self, name): + """ + Returns a copy of *self* so that it could be referred by *name* + in a :attr:`loopy.TranslationUnit.callables_table`'s namespace. + """ + raise NotImplementedError + # }}} @@ -655,6 +663,9 @@ class ScalarCallable(InKernelCallable): """ return frozenset() + def with_name(self, name): + return self + # }}} @@ -949,6 +960,10 @@ class CallableKernel(InKernelCallable): return get_resolved_callable_ids_called_by_knl(self.subkernel, callables_table) + def with_name(self, name): + new_knl = self.subkernel.copy(name=name) + return self.copy(subkernel=new_knl) + # }}} diff --git a/loopy/translation_unit.py b/loopy/translation_unit.py index 27c6392a5..2236b8134 100644 --- a/loopy/translation_unit.py +++ b/loopy/translation_unit.py @@ -715,7 +715,7 @@ def add_callable_to_table(callables_table, clbl_id, clbl): new_clbl_id = ung(clbl_id) new_callables_table = callables_table.copy() - new_callables_table[new_clbl_id] = clbl + new_callables_table[new_clbl_id] = clbl.with_name(new_clbl_id) return new_clbl_id, new_callables_table -- GitLab