1
0
mirror of https://github.com/gsi-upm/soil synced 2025-08-23 19:52:19 +00:00

Release 0.20.7

This commit is contained in:
J. Fernando Sánchez
2022-07-06 09:23:18 +02:00
parent 50cba751a6
commit a40aa55b6a
5 changed files with 13 additions and 7 deletions

View File

@@ -1 +1 @@
0.20.5
0.20.7

View File

@@ -145,7 +145,7 @@ class BaseAgent(Agent):
self.alive = False
if remove:
self.remove_node(self.id)
return time.INFINITY
return time.NEVER
def step(self):
if not self.alive:

View File

@@ -10,6 +10,8 @@ INFINITY = float('inf')
class When:
def __init__(self, time):
if isinstance(time, When):
return time
self._time = time
def abs(self, time):
@@ -18,7 +20,7 @@ class When:
NEVER = When(INFINITY)
class Delta:
class Delta(When):
def __init__(self, delta):
self._delta = delta
@@ -60,7 +62,8 @@ class TimedActivation(BaseScheduler):
(when, agent_id) = heappop(self._queue)
logger.debug(f'Stepping agent {agent_id}')
when = (self._agents[agent_id].step() or Delta(1)).abs(self.time)
returned = self._agents[agent_id].step()
when = (returned or Delta(1)).abs(self.time)
if when < self.time:
raise Exception("Cannot schedule an agent for a time in the past ({} < {})".format(when, self.time))