blob: 1402a6ecd80990db3192a92be40d71f67f24fabb [file] [log] [blame]
# Copyright 2013 The Chromium Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
def memoize(fn):
'''Decorates |fn| to memoize.
'''
memory = {}
def impl(*args):
if args not in memory:
memory[args] = fn(*args)
return memory[args]
return impl