From 880a3b6ed0fe842195aa9a077d4f101ea915ec67 Mon Sep 17 00:00:00 2001 From: Stephan Seitz <stephan.seitz@fau.de> Date: Fri, 3 Jan 2020 12:14:53 +0100 Subject: [PATCH] Add InterpolatorAccess.__getnewargs__ --- pystencils/interpolation_astnodes.py | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/pystencils/interpolation_astnodes.py b/pystencils/interpolation_astnodes.py index 27b119481..c958e2b24 100644 --- a/pystencils/interpolation_astnodes.py +++ b/pystencils/interpolation_astnodes.py @@ -142,8 +142,8 @@ class NearestNeightborInterpolator(Interpolator): class InterpolatorAccess(TypedSymbol): - def __new__(cls, field, offsets, *args, **kwargs): - obj = TextureAccess.__xnew_cached_(cls, field, offsets, *args, **kwargs) + def __new__(cls, field, *offsets, **kwargs): + obj = TextureAccess.__xnew_cached_(cls, field, *offsets, **kwargs) return obj def __new_stage2__(self, symbol, *offsets): @@ -287,6 +287,9 @@ class InterpolatorAccess(TypedSymbol): # noinspection SpellCheckingInspection __xnew_cached_ = staticmethod(cacheit(__new_stage2__)) + def __getnewargs__(self): + return tuple(self.symbol, *self.offsets) + ########################################################################################## # GPU-specific fast specializations (for precision GPUs can also use above nodes/symbols # ########################################################################################## @@ -362,8 +365,8 @@ class TextureCachedField: class TextureAccess(InterpolatorAccess): - def __new__(cls, texture_symbol, offsets, *args, **kwargs): - obj = TextureAccess.__xnew_cached_(cls, texture_symbol, offsets, *args, **kwargs) + def __new__(cls, texture_symbol, *offsets, **kwargs): + obj = TextureAccess.__xnew_cached_(cls, texture_symbol, *offsets, **kwargs) return obj def __new_stage2__(self, symbol, *offsets): -- GitLab