def Marginal(fn): @wraps(fn) def shawarma(*args, **kwargs): return HashingMarginal( Search(fn, max_tries=int(1e6)).run(*args, **kwargs)) return memoize(shawarma)
def Marginal(fn=None, **kwargs): if fn is None: return lambda _fn: Marginal(_fn, **kwargs) return memoize(lambda *args: HashingMarginal(BestFirstSearch(fn, **kwargs).run(*args)))
def Marginal(fn): return memoize(lambda *args: HashingMarginal(Search(fn).run(*args)))
def Memo(fn): @wraps(fn) def yufka(*args, **kwargs): return fn(*args, **kwargs) return memoize(yufka)