mirror of
https://github.com/QuantumPackage/qp2.git
synced 2024-12-24 21:33:47 +01:00
18 lines
330 B
Python
18 lines
330 B
Python
from functools import wraps
|
|
|
|
def cache(func):
|
|
"""
|
|
A decorator for lazy evaluation off true function
|
|
"""
|
|
saved = {}
|
|
|
|
@wraps(func)
|
|
def newfunc(*args):
|
|
if args in saved:
|
|
return saved[args]
|
|
|
|
result = func(*args)
|
|
saved[args] = result
|
|
return result
|
|
return newfunc
|