Skip to content
Snippets Groups Projects

[Fix] Update for Docker Images

Closed Markus Holzer requested to merge holzer/pystencils:SmallFixes into master
Files
2
from collections import defaultdict
from functools import partial
import sys
from typing import Tuple, Union, Sequence
import numpy as np
@@ -191,14 +192,9 @@ if int(sympy_version[0]) * 100 + int(sympy_version[1]) >= 109:
# __setstate__ would bypass the contructor, so we remove it
sp.Number.__getstate__ = sp.Basic.__getstate__
del sp.Basic.__getstate__
class FunctorWithStoredKwargs:
def __init__(self, func, **kwargs):
self.func = func
self.kwargs = kwargs
def __call__(self, *args):
return self.func(*args, **self.kwargs)
if sys.version_info.major * 100 + sys.version_info.minor >= 311:
del sp.Basic.__setstate__
del sp.Symbol.__setstate__
# __reduce_ex__ would strip kwargs, so we override it
def basic_reduce_ex(self, protocol):
@@ -210,7 +206,7 @@ if int(sympy_version[0]) * 100 + int(sympy_version[1]) >= 109:
state = self.__getstate__()
else:
state = None
return FunctorWithStoredKwargs(type(self), **kwargs), args, state
return partial(type(self), **kwargs), args, state
sp.Number.__reduce_ex__ = sp.Basic.__reduce_ex__
sp.Basic.__reduce_ex__ = basic_reduce_ex