Example #1
0
 def _in(self, interval):
     """
     Generates an atom.
     """
     if type(interval) is list:
         return formula_tree.TransitionDurationInInterval(
             self._transition, interval)
     elif type(interval) is tuple:
         return formula_tree.TransitionDurationInOpenInterval(
             self._transition, interval)
     else:
         raise Exception("Duration predicate wasn't defined properly.")
Example #2
0
 def _in(self, interval):
     """
     Generates an atom.
     """
     if type(interval) is list:
         return formula_tree.TransitionDurationInInterval(
             self._transition, interval)
     elif type(interval) is tuple:
         return formula_tree.TransitionDurationInOpenInterval(
             self._transition, interval)
     else:
         raise Exception(
             "Value of type %s given to _in comparison on %s is not supported."
             % (interval.__class__.__name__, self._transition))
Example #3
0
 def __lt__(self, value):
     """
     Generates an atom.
     This is, for now, reserved for comparison of duration to other measurable quantities.
     """
     if type(value) is StateValue:
         return formula_tree.TransitionDurationLessThanStateValueMixed(
             self._transition, value._state, value._name)
     elif type(value) is StateValueLength:
         return formula_tree.TransitionDurationLessThanStateValueLengthMixed(
             self._transition, value._state, value._name)
     elif type(value) is Duration:
         return formula_tree.TransitionDurationLessThanTransitionDurationMixed(
             self._transition,
             value._transition,
         )
     elif type(value) in [int, float]:
         return formula_tree.TransitionDurationInOpenInterval(
             self._transition, [0, value])
     else:
         raise Exception(
             "Value of type %s given to < comparison on %s is not supported."
             % (value.__class__.__name__, self._transition))