From 47781a7047ebb00a47a8585147bce3e579e0f3a8 Mon Sep 17 00:00:00 2001 From: Dominic Kempf Date: Mon, 28 Nov 2016 16:21:32 +0100 Subject: [PATCH] Make instructions hashable --- loopy/kernel/instruction.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/loopy/kernel/instruction.py b/loopy/kernel/instruction.py index 417ff9dd3..c31d9d242 100644 --- a/loopy/kernel/instruction.py +++ b/loopy/kernel/instruction.py @@ -199,7 +199,7 @@ class InstructionBase(Record): new_predicates.add(pred) - predicates = new_predicates + predicates = frozenset(tuple(p for p in new_predicates)) del new_predicates # }}} @@ -431,6 +431,9 @@ class InstructionBase(Record): for field_name in sorted(self.fields): key_builder.rec(key_hash, getattr(self, field_name)) + def __hash__(self): + return hash((type(self),) + tuple(getattr(self, field) for field in self.fields)) + # }}} def copy(self, **kwargs): -- GitLab