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.")
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))
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))