示例#1
0
    def process(self):
        signature = (len(self.inputs), len(self.outputs))

        x = self.inputs['x'].sv_get(deepcopy=False)
        if signature == (2, 1):
            y = self.inputs['y'].sv_get(deepcopy=False)

        if self.outputs[0].is_linked:
            result = []
            current_func = func_from_mode(self.current_op)
            if signature == (1, 1):
                result = recurse_fx(x, current_func)
            elif signature == (2, 1):
                result = recurse_fxy(x, y, current_func)
            elif signature == (1, 2):
                # special case at the moment
                result = recurse_fx(x, sin)
                result2 = recurse_fx(x, cos)
                self.outputs[1].sv_set(result2)

            self.outputs[0].sv_set(result)
示例#2
0
    def process(self):
        signature = (len(self.inputs), len(self.outputs))

        x = self.inputs['x'].sv_get(deepcopy=False)
        if signature == (2, 1):
            y = self.inputs['y'].sv_get(deepcopy=False)

        if self.outputs[0].is_linked:
            result = []
            current_func = func_from_mode(self.current_op)
            if signature == (1, 1):
                result = recurse_fx(x, current_func)
            elif signature == (2, 1):
                result = recurse_fxy(x, y, current_func)
            elif signature == (1, 2):
                # special case at the moment
                result = recurse_fx(x, sin)
                result2 = recurse_fx(x, cos)
                self.outputs[1].sv_set(result2)

            self.outputs[0].sv_set(result)
示例#3
0
    def process(self):
        in_count = len(self.inputs)
        if in_count > 0:
            x = self.inputs['X'].sv_get(deepcopy=False)

        if in_count > 1:
            y = self.inputs['Y'].sv_get(deepcopy=False)
        # outputs
        if self.outputs['float'].is_linked:
            result = []
            if in_count == 0:
                result = [[self.constant[self.items_]]]
            elif in_count == 1:
                result = recurse_fx(x, self.fx[self.items_])
            elif in_count == 2:
                result = recurse_fxy(x, y, self.fxy[self.items_])
            self.outputs['float'].sv_set(result)
示例#4
0
    def process(self):

        if  not self.outputs['Gate'].is_linked:
            return

        if 'X' in self.inputs:
            x = self.inputs['X'].sv_get(deepcopy=False)

        if 'Y' in self.inputs:
            y = self.inputs['Y'].sv_get(deepcopy=False)

        out= []
        if self.items_ in self.constant:
            out = [[self.constant[self.items_]]]
        elif self.items_ in self.fx:
            out = recurse_fx(x, self.fx[self.items_])
        elif self.items_ in self.fxy:
            out = recurse_fxy(x, y, self.fxy[self.items_])
        elif self.items_ in self.fxy2:
            out = recurse_fxy(x, y, self.fxy2[self.items_])

        self.outputs['Gate'].sv_set(out)
示例#5
0
    def process(self):

        if not self.outputs['Gate'].is_linked:
            return

        if 'X' in self.inputs:
            x = self.inputs['X'].sv_get(deepcopy=False)

        if 'Y' in self.inputs:
            y = self.inputs['Y'].sv_get(deepcopy=False)

        out = []
        if self.items_ in self.constant:
            out = [[self.constant[self.items_]]]
        elif self.items_ in self.fx:
            out = recurse_fx(x, self.fx[self.items_])
        elif self.items_ in self.fxy:
            out = recurse_fxy(x, y, self.fxy[self.items_])
        elif self.items_ in self.fxy2:
            out = recurse_fxy(x, y, self.fxy2[self.items_])

        self.outputs['Gate'].sv_set(out)
示例#6
0
    def process(self):
        # inputs
        if not self.outputs["Gate"].is_linked:
            return

        if "X" in self.inputs:
            x = self.inputs["X"].sv_get(deepcopy=False)

        if "Y" in self.inputs:
            y = self.inputs["Y"].sv_get(deepcopy=False)

        # outputs
        out = []
        if self.items_ in self.constant:
            out = [[self.constant[self.items_]]]
        elif self.items_ in self.fx:
            out = recurse_fx(x, self.fx[self.items_])
        elif self.items_ in self.fxy:
            out = recurse_fxy(x, y, self.fxy[self.items_])
        elif self.items_ in self.fxy2:
            out = recurse_fxy(x, y, self.fxy2[self.items_])

        self.outputs["Gate"].sv_set(out)