Ejemplo n.º 1
0
 def __init__(self, **kwargs):
     kwargs.setdefault('combiners', ())
     super(FunctionIntr, self).__init__(**kwargs)
     self.combiners = kwargs['combiners']
     if 'signature' in kwargs:
         self.signature = kwargs['signature']
         deduced_combiner = extract_combiner(self.signature)
         if deduced_combiner is not None:
             self.combiners += deduced_combiner,
         if 'return_range' not in kwargs:
             if isinstance(self.signature, Union):
                 if all(r.__args__[-1] is bool
                        for r in self.signature.__args__):
                     self.return_range = bool_values
             elif isinstance(self.signature, Generator):
                 if self.signature.__args__[0] is bool:
                     self.return_range = bool_values
             elif isinstance(self.signature, Fun):
                 if self.signature.__args__[-1] is bool:
                     self.return_range = bool_values
     else:
         self.signature = Any
     if 'immediate_arguments' in kwargs:
         self.immediate_arguments = kwargs['immediate_arguments']
     else:
         self.immediate_arguments = []
Ejemplo n.º 2
0
 def __init__(self, **kwargs):
     kwargs.setdefault('combiners', ())
     super(FunctionIntr, self).__init__(**kwargs)
     self.combiners = kwargs['combiners']
     if 'signature' in kwargs:
         self.signature = kwargs['signature']
         deduced_combiner = extract_combiner(self.signature)
         if deduced_combiner is not None:
             self.combiners += deduced_combiner,
         if 'return_range' not in kwargs:
             if isinstance(self.signature, Union):
                 if all(r.__args__[-1] is bool
                        for r in self.signature.__args__):
                     self.return_range = bool_values
             elif isinstance(self.signature, Generator):
                 if self.signature.__args__[0] is bool:
                     self.return_range = bool_values
             elif isinstance(self.signature, Fun):
                 if self.signature.__args__[-1] is bool:
                     self.return_range = bool_values
     else:
         self.signature = Any