Esempio n. 1
0
    def update(self, left_list, right_list):
        self.left = self.left + left_list
        self.right = self.right + right_list

        out, last, left, right = intersect.intersection(
            self.left, self.right, intersect.subtraction)
        if last:
            out.append(last)

        return out
Esempio n. 2
0
    def update(self, *args, **kargs):
        left_list = args[0]
        right_list = args[1]

        out, last, a, b = intersect.intersection(left_list, right_list,
                                                 intersect.conjunction)
        if last:
            out.append(last)

        return out
Esempio n. 3
0
    def update(self, *args, **kargs):
        left_list = args[0]
        right_list = args[1]
        self.left = self.left + left_list
        self.right = self.right + right_list

        out, last, left, right = intersect.intersection(
            self.left, self.right, intersect.implication)

        if last:
            out.append(last)

        return out
Esempio n. 4
0
    def update(self, *args, **kargs):
        left_list = args[0]
        right_list = args[1]

        iout, last, a, b = intersect.intersection(left_list, right_list, intersect.split)
        if last:
            iout.append(last)

        out = []
        prev = -float("inf")
        for i, sample in enumerate(iout):
            t = sample[0]
            o1_val = sample[1][0]
            o2_val = sample[1][1]
            result = max(min(o1_val, o2_val), min(o1_val, prev))
            if result != prev or i == len(iout) - 1:
                out.append([t, result])
            prev = result

        return out
Esempio n. 5
0
    def update(self, *args, **kargs):
        left_list = args[0]
        right_list = args[1]

        iout, last, a, b = intersect.intersection(left_list, right_list,
                                                  intersect.split)
        if last:
            iout.append(last)

        out = []
        next = -float("inf")
        for i, sample in reversed(list(enumerate(iout))):
            t = sample[0]
            o1_val = sample[1][0]
            o2_val = sample[1][1]
            result = max(min(o1_val, o2_val), min(o1_val, next))
            if result == next and i < len(iout) - 2:
                out.pop(0)
            out.insert(0, [t, result])
            next = result

        return out