def random_variable()

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