annotate nodes/gamma.py @ 15:c76b62eccdec

put **kw back in, they now go to the scale and can override the defaults. put **kw back in, they now go to the scale and can override the defaults. for our purposes, we probably want to edit the defaults so we don't have them in every call.
author dmcc
date Sun, 07 Jul 2002 06:18:40 +0000
parents 45b12307c695
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
45b12307c695 Initial revision
drewp
parents:
diff changeset
1 """node that performs a simple gamma (exp) function on its input"""
45b12307c695 Initial revision
drewp
parents:
diff changeset
2
45b12307c695 Initial revision
drewp
parents:
diff changeset
3 class GammaOps(Ops):
45b12307c695 Initial revision
drewp
parents:
diff changeset
4 def started(self, input, output, stateaccess):
45b12307c695 Initial revision
drewp
parents:
diff changeset
5 self.startmeup(stateaccess)
45b12307c695 Initial revision
drewp
parents:
diff changeset
6 def changed(self, input, output, stateaccess):
45b12307c695 Initial revision
drewp
parents:
diff changeset
7 port.output = port.input ** stateaccess.gamma + stateaccess.offset
45b12307c695 Initial revision
drewp
parents:
diff changeset
8 stateaccess.lastvalue = State.FloatingPoint(port.input)
45b12307c695 Initial revision
drewp
parents:
diff changeset
9
45b12307c695 Initial revision
drewp
parents:
diff changeset
10 output = gamma(input)
45b12307c695 Initial revision
drewp
parents:
diff changeset
11 # no timed function
45b12307c695 Initial revision
drewp
parents:
diff changeset
12 def startmeup(self, stateaccess):
45b12307c695 Initial revision
drewp
parents:
diff changeset
13 # whatever
45b12307c695 Initial revision
drewp
parents:
diff changeset
14 pass
45b12307c695 Initial revision
drewp
parents:
diff changeset
15
45b12307c695 Initial revision
drewp
parents:
diff changeset
16 class Gamma(Node):
45b12307c695 Initial revision
drewp
parents:
diff changeset
17 def __init__(self):
45b12307c695 Initial revision
drewp
parents:
diff changeset
18 Node.__init__(self)
45b12307c695 Initial revision
drewp
parents:
diff changeset
19 self.node_params = {'gamma':State.FloatingPoint,'offset':State.FloatingPoint}
45b12307c695 Initial revision
drewp
parents:
diff changeset
20 self.ops = GammaOps()
45b12307c695 Initial revision
drewp
parents:
diff changeset
21
45b12307c695 Initial revision
drewp
parents:
diff changeset
22 def getnodeparams(self):
45b12307c695 Initial revision
drewp
parents:
diff changeset
23 return self.node_params
45b12307c695 Initial revision
drewp
parents:
diff changeset
24
45b12307c695 Initial revision
drewp
parents:
diff changeset
25 def getports(self):
45b12307c695 Initial revision
drewp
parents:
diff changeset
26 return (Port('a', optional=1),
45b12307c695 Initial revision
drewp
parents:
diff changeset
27 Port('b'))
45b12307c695 Initial revision
drewp
parents:
diff changeset
28
45b12307c695 Initial revision
drewp
parents:
diff changeset
29 def __str__(self):
45b12307c695 Initial revision
drewp
parents:
diff changeset
30 return "3"
45b12307c695 Initial revision
drewp
parents:
diff changeset
31
45b12307c695 Initial revision
drewp
parents:
diff changeset
32 world.register_node(Gamma)