def __call__(self, candidate, args):
        if not isinstance(self.lower_bound, collections.Iterable):
            self.lower_bound = [min(self.values)] * len(candidate)
        if not isinstance(self.upper_bound, collections.Iterable):
            self.upper_bound = [max(self.values)] * len(candidate)
        closest = lambda target: min(self.values, key=lambda x: abs(target-x))
        bounded_candidate = candidate
        for i, c in enumerate(bounded_candidate):
            bounded_candidate[i] = closest(c)
        return bounded_candidate
dataset/ETHPy150Open aarongarrett/inspyred/inspyred/ec/ec.py/DiscreteBounder.__call__/swapped operands of `-`