text: #-------------------------------------------------------------
  # Decorators
  #-------------------------------------------------------------
  
  import numpy as np
  from numpy import inf, random, sqrt
  import string
  import inspect
  import types, copy
  import distributions
  from Node import ZeroProbability
  
  def deterministic_to_NDarray(arg):
      if isinstance(arg,proposition5.Deterministic):
          return arg.value
      else:
          return arg
  
  def prop(func):
    """Function decorator for defining property attributes
  
    The decorated function is expected to return a dictionary
    containing one or more of the following pairs:
        fget - function for getting attribute value
        fset - function for setting attribute value
        fdel - function for deleting attribute
    This can be conveniently constructed by the locals() builtin
    function; see:
    http://aspn.activestate.com/ASPN/Cookbook/Python/Recipe/205183
    """
    return property(doc=func.__doc__, **func())
  
  