0
|
1 """node that performs a simple gamma (exp) function on its input"""
|
|
2
|
|
3 class GammaOps(Ops):
|
|
4 def started(self, input, output, stateaccess):
|
|
5 self.startmeup(stateaccess)
|
|
6 def changed(self, input, output, stateaccess):
|
|
7 port.output = port.input ** stateaccess.gamma + stateaccess.offset
|
|
8 stateaccess.lastvalue = State.FloatingPoint(port.input)
|
|
9
|
|
10 output = gamma(input)
|
|
11 # no timed function
|
|
12 def startmeup(self, stateaccess):
|
|
13 # whatever
|
|
14 pass
|
|
15
|
|
16 class Gamma(Node):
|
|
17 def __init__(self):
|
|
18 Node.__init__(self)
|
|
19 self.node_params = {'gamma':State.FloatingPoint,'offset':State.FloatingPoint}
|
|
20 self.ops = GammaOps()
|
|
21
|
|
22 def getnodeparams(self):
|
|
23 return self.node_params
|
|
24
|
|
25 def getports(self):
|
|
26 return (Port('a', optional=1),
|
|
27 Port('b'))
|
|
28
|
|
29 def __str__(self):
|
|
30 return "3"
|
|
31
|
|
32 world.register_node(Gamma)
|