Files @ 6eafd86930b5
Branch filter:

Location: light9/Nodes/gamma.py

dmcc
fix precision bug
"""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)