"""node that performs a simple gamma (exp) function on its input""" class GammaOps(Ops): def started(self, input, output, stateaccess): self.startmeup(stateaccess) def changed(self, input, output, stateaccess): port.output = port.input ** stateaccess.gamma + stateaccess.offset stateaccess.lastvalue = State.FloatingPoint(port.input) output = gamma(input) # no timed function def startmeup(self, stateaccess): # whatever pass class Gamma(Node): def __init__(self): Node.__init__(self) self.node_params = {'gamma':State.FloatingPoint,'offset':State.FloatingPoint} self.ops = GammaOps() def getnodeparams(self): return self.node_params def getports(self): return (Port('a', optional=1), Port('b')) def __str__(self): return "3" world.register_node(Gamma)