in src/lic/ppl/model/statistical_model.py [0:0]
def random_variable(f):
"""
Decorator to be used for every stochastic random variable defined in
all statistical models.
"""
@wraps(f)
def wrapper(*args):
func_key = StatisticalModel.get_func_key(wrapper, args)
world = world_context.get()
if world:
return world.update_graph(func_key)
else:
return func_key
if inspect.ismethod(f):
meth_name = f.__name__ + "_wrapper"
setattr(f.__self__, meth_name, wrapper)
else:
f._wrapper = wrapper
wrapper.is_random_variable = True
return wrapper