salabim 23.3.1__tar.gz → 23.3.3__tar.gz

Sign up to get free protection for your applications and to get access to all the features.
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: salabim
3
- Version: 23.3.1
3
+ Version: 23.3.3
4
4
  Summary: discrete event simulation in Python
5
5
  Home-page: https://github.com/salabim/salabim
6
6
  Download-URL: https://github.com/salabim/salabim
@@ -1,5 +1,61 @@
1
1
  salabim changelog
2
2
 
3
+ version 23.3.3 2023-07-23
4
+ ==========================
5
+ Changed functionality (0)
6
+ -------------------------
7
+ In order to check whether a model that runs with sim.yieldless(False)
8
+ is not a yieldless model, salabim may under rare circumstances report:
9
+ ValueError: process must be a generator (contain yield statements.)
10
+ Maybe this a yieldless model. In that case:
11
+ - remove sim.yieldless(False)
12
+ If it is indeed a yield model, make this process method (and maybe others) into a generator, e.g.
13
+ by adding at the end:
14
+ return
15
+ yield # just to make this a generator
16
+
17
+ So when it is indeed a yieldless model, remove the sim.yieldless(False) statement.
18
+ If this is a model with yields, change the process method into a generator, e.g. by adding
19
+ yield self.hold(0) # added to make this process a generator
20
+ or
21
+ if False:
22
+ yield # added to make this process a generator
23
+ or (at the end)
24
+ return
25
+ yield # added to make this process a generator
26
+
27
+ Added functionality (0)
28
+ -----------------------
29
+ The method Store.to_store_requesters() returns a reference to the to requesters, like
30
+ Store.from_requesters() that was already in salabim.
31
+ These methods can be very useful for animating a store.
32
+
33
+ Bug fix (0)
34
+ -----------
35
+ AnimateGrid used 0 and env.width() for the x-range. And 0 and env.height() for the y-range.
36
+ This worked fine as long as screen coordinates were the same as user coordinates.
37
+ In order to properly work with user coordinates, the x-range should be env.x0() and env.x1()
38
+ and the y-range should be env.y0() and env.y1(). Fixed.
39
+
40
+
41
+ version 23.3.2 2023-07-10
42
+ ==========================
43
+ Bug fix (0)
44
+ -----------
45
+ Please note that
46
+ When another component than self was used in activate, passivate, hold (or any process interaction)
47
+ it was not possible to use yield. So
48
+ yield other.activate()
49
+ was not executed properly, although it did not raise an (immediate) error.
50
+ From now on, this is accepted, which makes it also easier to translate yieldless models to not yieldless models,
51
+ as the user can just add yield for any process interaction call.
52
+ is not valid anymore as the implementation contained a serious bug. Fixed.
53
+
54
+ To summarize (only relevant for yield versions):
55
+ other.activate(), other.hold(), etc should NEVER be called with as yield other.activate(), yield other.hold(), etc.
56
+ when other is not self!
57
+ (bug reported by Michiel Luyken)
58
+
3
59
  version 23.3.1 2023-07-10
4
60
  ==========================
5
61
  Bug fix (0)