class memoize(object):
def __init__(self, func):
self.func = func
def __get__(self, instance, owner):
return self.func if instance is None else ft.partial(self, instance)
def __call__(self, *args, **kwargs):
instance = args[0]
try:
cache = instance._memoize_cache
except AttributeError:
cache = instance._memoize_cache = {}
key = (self.func, pickle.dumps(args[1:], 1), pickle.dumps(kwargs, 1))
try:
res = cache[key]
except KeyError:
res = cache[key] = self.func(*args, **kwargs)
return res
On 5 Jul 2020, at 05:00, Kiny Wan <wlc...@gmail.com> wrote:
--
You received this message because you are subscribed to the Google Groups "PyFR Mailing List" group.
To unsubscribe from this group and stop receiving emails from it, send an email to pyfrmailingli...@googlegroups.com.
To view this discussion on the web, visit https://groups.google.com/d/msgid/pyfrmailinglist/d5e2d1ca-270c-40be-9e79-387f1c95f7e4o%40googlegroups.com.
<AppendedData encoding="raw">
/AppendedData>