From 7a292ebbb180cce247da4c655359f159b2e3789b Mon Sep 17 00:00:00 2001
From: Stephan Seitz <stephan.seitz@fau.de>
Date: Tue, 17 Dec 2019 15:12:13 +0100
Subject: [PATCH] Fix (?) autodiff.get/setstate

---
 src/pystencils_autodiff/_autodiff.py | 28 +++++++++++++++++++++++++---
 1 file changed, 25 insertions(+), 3 deletions(-)

diff --git a/src/pystencils_autodiff/_autodiff.py b/src/pystencils_autodiff/_autodiff.py
index c1af6fc..7161785 100644
--- a/src/pystencils_autodiff/_autodiff.py
+++ b/src/pystencils_autodiff/_autodiff.py
@@ -300,13 +300,35 @@ Backward:
         self._forward_input_fields = list(forward_assignments.free_fields)
         self._forward_output_fields = list(forward_assignments.bound_fields)
         self._backward_assignments = backward_assignments
-        self._backward_field_map = None
         self._backward_input_fields = list(backward_assignments.free_fields)
         self._backward_output_fields = list(backward_assignments.bound_fields)
-        self._backward_field_map = None
+        self._forward_ast_cpu = None
+        self._backward_ast_cpu = None
+        self._forward_ast_gpu = None
+        self._backward_ast_gpu = None
+        self._forward_kernel_cpu = None
+        self._backward_kernel_cpu = None
+        self._forward_kernel_gpu = None
+        self._backward_kernel_gpu = None
+        self._constant_fields = None
+        self._time_constant_fields = None
+        self._kwargs = state['kwargs']
+        self.op_name = ''
+        self._forward_ast_cpu = None
+        self._backward_ast_cpu = None
+        self._forward_ast_gpu = None
+        self._backward_ast_gpu = None
+        self._forward_kernel_cpu = None
+        self._backward_kernel_cpu = None
+        self._forward_kernel_gpu = None
+        self._backward_kernel_gpu = None
+        self._do_common_subexpression_elimination = None
+        self._boundary_handling = 'ZEROS'
 
     def __getstate__(self):
-        return {'forward_assignments': self._forward_assignments, 'backward_assignments': self.backward_assignments}
+        return {'forward_assignments': self.forward_assignments,
+                'backward_assignments': self.backward_assignments,
+                'kwargs': self._kwargs}
 
     def _create_backward_assignments(self, diff_fields_prefix):
         """
-- 
GitLab