pypdevsbbl.generic.math.html 43 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
  2. "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  3. <html xmlns="http://www.w3.org/1999/xhtml">
  4. <head>
  5. <meta http-equiv="X-UA-Compatible" content="IE=Edge" />
  6. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  7. <title>pypdevsbbl.generic.math module &#8212; Python(P)DEVS-BBL documentation</title>
  8. <link rel="stylesheet" href="_static/nature.css" type="text/css" />
  9. <link rel="stylesheet" href="_static/pygments.css" type="text/css" />
  10. <link rel="stylesheet" type="text/css" href="_static/custom.css" />
  11. <script type="text/javascript" id="documentation_options" data-url_root="./" src="_static/documentation_options.js"></script>
  12. <script type="text/javascript" src="_static/jquery.js"></script>
  13. <script type="text/javascript" src="_static/underscore.js"></script>
  14. <script type="text/javascript" src="_static/doctools.js"></script>
  15. <script type="text/javascript" src="_static/language_data.js"></script>
  16. <script async="async" type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/latest.js?config=TeX-AMS-MML_HTMLorMML"></script>
  17. <link rel="index" title="Index" href="genindex.html" />
  18. <link rel="search" title="Search" href="search.html" />
  19. <link rel="next" title="pypdevsbbl.generic.queues module" href="pypdevsbbl.generic.queues.html" />
  20. <link rel="prev" title="pypdevsbbl.generic.io module" href="pypdevsbbl.generic.io.html" />
  21. </head><body>
  22. <div class="related" role="navigation" aria-label="related navigation">
  23. <h3>Navigation</h3>
  24. <ul>
  25. <li class="right" style="margin-right: 10px">
  26. <a href="genindex.html" title="General Index"
  27. accesskey="I">index</a></li>
  28. <li class="right" >
  29. <a href="py-modindex.html" title="Python Module Index"
  30. >modules</a> |</li>
  31. <li class="right" >
  32. <a href="pypdevsbbl.generic.queues.html" title="pypdevsbbl.generic.queues module"
  33. accesskey="N">next</a> |</li>
  34. <li class="right" >
  35. <a href="pypdevsbbl.generic.io.html" title="pypdevsbbl.generic.io module"
  36. accesskey="P">previous</a> |</li>
  37. <li class="nav-item nav-item-0"><a href="index.html">Python(P)DEVS-BBL documentation</a> &#187;</li>
  38. <li class="nav-item nav-item-1"><a href="pypdevsbbl.html" >pypdevsbbl package</a> &#187;</li>
  39. <li class="nav-item nav-item-2"><a href="pypdevsbbl.generic.html" accesskey="U">pypdevsbbl.generic package</a> &#187;</li>
  40. </ul>
  41. </div>
  42. <div class="document">
  43. <div class="documentwrapper">
  44. <div class="bodywrapper">
  45. <div class="body" role="main">
  46. <div class="section" id="module-pypdevsbbl.generic.math">
  47. <span id="pypdevsbbl-generic-math-module"></span><h1>pypdevsbbl.generic.math module<a class="headerlink" href="#module-pypdevsbbl.generic.math" title="Permalink to this headline">¶</a></h1>
  48. <p>Set of PythonPDEVS building blocks for doing math.</p>
  49. <p>The core of this module is the <a class="reference internal" href="#pypdevsbbl.generic.math.Equation" title="pypdevsbbl.generic.math.Equation"><code class="xref py py-class docutils literal notranslate"><span class="pre">Equation</span></code></a> block,
  50. which allows a user to execute a function on a set of
  51. inputs.</p>
  52. <p>Additionally, some few blocks with a variable set of inputs
  53. (like the sum and the product) will provide the remaining
  54. functionality.</p>
  55. <dl class="class">
  56. <dt id="pypdevsbbl.generic.math._SP">
  57. <em class="property">class </em><code class="descclassname">pypdevsbbl.generic.math.</code><code class="descname">_SP</code><span class="sig-paren">(</span><em>name</em>, <em>n</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/pypdevsbbl/generic/math.html#_SP"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#pypdevsbbl.generic.math._SP" title="Permalink to this definition">¶</a></dt>
  58. <dd><p>Bases: <code class="xref py py-class docutils literal notranslate"><span class="pre">pypdevs.DEVS.AtomicDEVS</span></code></p>
  59. <p>Superclass for the <a class="reference internal" href="#pypdevsbbl.generic.math.Adder" title="pypdevsbbl.generic.math.Adder"><code class="xref py py-class docutils literal notranslate"><span class="pre">Adder</span></code></a> and <a class="reference internal" href="#pypdevsbbl.generic.math.Multiplier" title="pypdevsbbl.generic.math.Multiplier"><code class="xref py py-class docutils literal notranslate"><span class="pre">Multiplier</span></code></a> blocks.</p>
  60. <div class="admonition warning">
  61. <p class="first admonition-title">Warning</p>
  62. <p class="last">This class should not be used as a block by itself.</p>
  63. </div>
  64. <table class="docutils field-list" frame="void" rules="none">
  65. <col class="field-name" />
  66. <col class="field-body" />
  67. <tbody valign="top">
  68. <tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first simple">
  69. <li><strong>name</strong> (<em>str</em>) – The name of the block.</li>
  70. <li><strong>n</strong> (<em>int</em>) – The amount of input ports the block must have.
  71. These ports are accessible from the <code class="xref py py-attr docutils literal notranslate"><span class="pre">inputs</span></code>
  72. list, using a 0-based index.</li>
  73. </ul>
  74. </td>
  75. </tr>
  76. <tr class="field-even field"><th class="field-name">State:</th><td class="field-body"><ul class="first simple">
  77. <li><strong>result</strong> (<em>numeric</em>) – The computed result of the block.</li>
  78. <li><strong>input-n</strong> (<em>numeric</em>) – The value of the <cite>n</cite> th input port.</li>
  79. </ul>
  80. </td>
  81. </tr>
  82. <tr class="field-odd field"><th class="field-name">Input Ports:</th><td class="field-body"><p class="first"><strong>inputs</strong> (<em>list</em>) – The list of all the input ports.</p>
  83. </td>
  84. </tr>
  85. <tr class="field-even field"><th class="field-name">Output Ports:</th><td class="field-body"><p class="first last"><strong>result</strong> (<em>numeric</em>) – The result of the computation.</p>
  86. </td>
  87. </tr>
  88. </tbody>
  89. </table>
  90. <dl class="method">
  91. <dt id="pypdevsbbl.generic.math._SP.operation">
  92. <code class="descname">operation</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/pypdevsbbl/generic/math.html#_SP.operation"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#pypdevsbbl.generic.math._SP.operation" title="Permalink to this definition">¶</a></dt>
  93. <dd><p>The operation that needs to be computed upon arrival of any value.</p>
  94. </dd></dl>
  95. <dl class="method">
  96. <dt id="pypdevsbbl.generic.math._SP.timeAdvance">
  97. <code class="descname">timeAdvance</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/pypdevsbbl/generic/math.html#_SP.timeAdvance"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#pypdevsbbl.generic.math._SP.timeAdvance" title="Permalink to this definition">¶</a></dt>
  98. <dd></dd></dl>
  99. <dl class="method">
  100. <dt id="pypdevsbbl.generic.math._SP.outputFnc">
  101. <code class="descname">outputFnc</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/pypdevsbbl/generic/math.html#_SP.outputFnc"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#pypdevsbbl.generic.math._SP.outputFnc" title="Permalink to this definition">¶</a></dt>
  102. <dd></dd></dl>
  103. <dl class="method">
  104. <dt id="pypdevsbbl.generic.math._SP.intTransition">
  105. <code class="descname">intTransition</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/pypdevsbbl/generic/math.html#_SP.intTransition"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#pypdevsbbl.generic.math._SP.intTransition" title="Permalink to this definition">¶</a></dt>
  106. <dd></dd></dl>
  107. <dl class="method">
  108. <dt id="pypdevsbbl.generic.math._SP.extTransition">
  109. <code class="descname">extTransition</code><span class="sig-paren">(</span><em>inputs</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/pypdevsbbl/generic/math.html#_SP.extTransition"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#pypdevsbbl.generic.math._SP.extTransition" title="Permalink to this definition">¶</a></dt>
  110. <dd></dd></dl>
  111. </dd></dl>
  112. <dl class="class">
  113. <dt id="pypdevsbbl.generic.math.Adder">
  114. <em class="property">class </em><code class="descclassname">pypdevsbbl.generic.math.</code><code class="descname">Adder</code><span class="sig-paren">(</span><em>name</em>, <em>n</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/pypdevsbbl/generic/math.html#Adder"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#pypdevsbbl.generic.math.Adder" title="Permalink to this definition">¶</a></dt>
  115. <dd><p>Bases: <a class="reference internal" href="#pypdevsbbl.generic.math._SP" title="pypdevsbbl.generic.math._SP"><code class="xref py py-class docutils literal notranslate"><span class="pre">pypdevsbbl.generic.math._SP</span></code></a></p>
  116. <p>Computes the sum of a set of inputs.</p>
  117. <div align="center" class="align-center"><img alt="_images/adder.svg" src="_images/adder.svg" /></div>
  118. <table class="docutils field-list" frame="void" rules="none">
  119. <col class="field-name" />
  120. <col class="field-body" />
  121. <tbody valign="top">
  122. <tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first simple">
  123. <li><strong>name</strong> (<em>str</em>) – The name of the block.</li>
  124. <li><strong>n</strong> (<em>int</em>) – The amount of input ports the block must have.
  125. These ports are accessible from the <code class="xref py py-attr docutils literal notranslate"><span class="pre">inputs</span></code>
  126. list, using a 0-based index.</li>
  127. </ul>
  128. </td>
  129. </tr>
  130. <tr class="field-even field"><th class="field-name">State:</th><td class="field-body"><ul class="first simple">
  131. <li><strong>result</strong> (<em>numeric</em>) – The computed result of the block.</li>
  132. <li><strong>input-n</strong> (<em>numeric</em>) – The value of the <cite>n</cite> th input port.</li>
  133. </ul>
  134. </td>
  135. </tr>
  136. <tr class="field-odd field"><th class="field-name">Input Ports:</th><td class="field-body"><p class="first"><strong>inputs</strong> (<em>list</em>) – The list of all the input ports.</p>
  137. </td>
  138. </tr>
  139. <tr class="field-even field"><th class="field-name">Output Ports:</th><td class="field-body"><p class="first last"><strong>result</strong> (<em>numeric</em>) – The result of the computation.</p>
  140. </td>
  141. </tr>
  142. </tbody>
  143. </table>
  144. <dl class="method">
  145. <dt id="pypdevsbbl.generic.math.Adder.operation">
  146. <code class="descname">operation</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/pypdevsbbl/generic/math.html#Adder.operation"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#pypdevsbbl.generic.math.Adder.operation" title="Permalink to this definition">¶</a></dt>
  147. <dd><p>The actual sum operation.</p>
  148. </dd></dl>
  149. </dd></dl>
  150. <dl class="class">
  151. <dt id="pypdevsbbl.generic.math.Multiplier">
  152. <em class="property">class </em><code class="descclassname">pypdevsbbl.generic.math.</code><code class="descname">Multiplier</code><span class="sig-paren">(</span><em>name</em>, <em>n</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/pypdevsbbl/generic/math.html#Multiplier"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#pypdevsbbl.generic.math.Multiplier" title="Permalink to this definition">¶</a></dt>
  153. <dd><p>Bases: <a class="reference internal" href="#pypdevsbbl.generic.math._SP" title="pypdevsbbl.generic.math._SP"><code class="xref py py-class docutils literal notranslate"><span class="pre">pypdevsbbl.generic.math._SP</span></code></a></p>
  154. <p>Computes the product of a set of inputs.</p>
  155. <div align="center" class="align-center"><img alt="_images/multiplier.svg" src="_images/multiplier.svg" /></div>
  156. <table class="docutils field-list" frame="void" rules="none">
  157. <col class="field-name" />
  158. <col class="field-body" />
  159. <tbody valign="top">
  160. <tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first simple">
  161. <li><strong>name</strong> (<em>str</em>) – The name of the block.</li>
  162. <li><strong>n</strong> (<em>int</em>) – The amount of input ports the block must have.
  163. These ports are accessible from the <code class="xref py py-attr docutils literal notranslate"><span class="pre">inputs</span></code>
  164. list, using a 0-based index.</li>
  165. </ul>
  166. </td>
  167. </tr>
  168. <tr class="field-even field"><th class="field-name">State:</th><td class="field-body"><ul class="first simple">
  169. <li><strong>result</strong> (<em>numeric</em>) – The computed result of the block.</li>
  170. <li><strong>input-n</strong> (<em>numeric</em>) – The value of the <cite>n</cite> th input port.</li>
  171. </ul>
  172. </td>
  173. </tr>
  174. <tr class="field-odd field"><th class="field-name">Input Ports:</th><td class="field-body"><p class="first"><strong>inputs</strong> (<em>list</em>) – The list of all the input ports.</p>
  175. </td>
  176. </tr>
  177. <tr class="field-even field"><th class="field-name">Output Ports:</th><td class="field-body"><p class="first last"><strong>result</strong> (<em>numeric</em>) – The result of the computation.</p>
  178. </td>
  179. </tr>
  180. </tbody>
  181. </table>
  182. <dl class="method">
  183. <dt id="pypdevsbbl.generic.math.Multiplier.operation">
  184. <code class="descname">operation</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/pypdevsbbl/generic/math.html#Multiplier.operation"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#pypdevsbbl.generic.math.Multiplier.operation" title="Permalink to this definition">¶</a></dt>
  185. <dd><p>The actual product operation.</p>
  186. </dd></dl>
  187. </dd></dl>
  188. <dl class="class">
  189. <dt id="pypdevsbbl.generic.math.Equation">
  190. <em class="property">class </em><code class="descclassname">pypdevsbbl.generic.math.</code><code class="descname">Equation</code><span class="sig-paren">(</span><em>name</em>, <em>function</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/pypdevsbbl/generic/math.html#Equation"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#pypdevsbbl.generic.math.Equation" title="Permalink to this definition">¶</a></dt>
  191. <dd><p>Bases: <code class="xref py py-class docutils literal notranslate"><span class="pre">pypdevs.DEVS.AtomicDEVS</span></code></p>
  192. <p>Execute an equation on a set of inputs.</p>
  193. <p>The input ports of this block are determined by the arguments of
  194. the passed <code class="xref py py-attr docutils literal notranslate"><span class="pre">function</span></code>. Whenever a change happens on these
  195. ports and both have values, their result is outputted on the
  196. <cite>result</cite> port.</p>
  197. <div class="admonition warning">
  198. <p class="first admonition-title">Warning</p>
  199. <ul class="last simple">
  200. <li>The <code class="xref py py-attr docutils literal notranslate"><span class="pre">function</span></code> cannot have a <code class="docutils literal notranslate"><span class="pre">result</span></code> parameter to
  201. prevent ambiguity with the output port.</li>
  202. <li>The <code class="xref py py-attr docutils literal notranslate"><span class="pre">function</span></code> <strong>must not</strong> change the values of the
  203. inputs.</li>
  204. <li>This block is optimized for numerical equations, yet it is
  205. (because of <em>Python</em>) perfectly possible to use some other
  206. attributes.</li>
  207. </ul>
  208. </div>
  209. <div class="admonition seealso">
  210. <p class="first admonition-title">See also</p>
  211. <p class="last"><a class="reference internal" href="pypdevsbbl.extra.equations.html#module-pypdevsbbl.extra.equations" title="pypdevsbbl.extra.equations"><code class="xref py py-mod docutils literal notranslate"><span class="pre">pypdevsbbl.extra.equations</span></code></a> for a set of predefined equations which
  212. can be used as a function without too much thought.</p>
  213. </div>
  214. <div align="center" class="align-center"><img alt="_images/equation.svg" src="_images/equation.svg" /></div>
  215. <table class="docutils field-list" frame="void" rules="none">
  216. <col class="field-name" />
  217. <col class="field-body" />
  218. <tbody valign="top">
  219. <tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first simple">
  220. <li><strong>name</strong> (<em>str</em>) – The name of the block.</li>
  221. <li><strong>function</strong> (<em>def</em>) – The function that needs to be executed. Note that
  222. defaults can be used, but the <code class="docutils literal notranslate"><span class="pre">*args</span></code> and
  223. <code class="docutils literal notranslate"><span class="pre">**kwargs</span></code> information will be ignored.</li>
  224. </ul>
  225. </td>
  226. </tr>
  227. <tr class="field-even field"><th class="field-name">Input Ports:</th><td class="field-body"><p class="first">Depends on the <code class="xref py py-attr docutils literal notranslate"><span class="pre">function</span></code> that was passed.
  228. Say the <code class="xref py py-attr docutils literal notranslate"><span class="pre">function</span></code> has two arguments: <code class="docutils literal notranslate"><span class="pre">a</span></code>
  229. and <code class="docutils literal notranslate"><span class="pre">b</span></code>, the input ports are also <cite>a</cite> and <cite>b</cite>.</p>
  230. </td>
  231. </tr>
  232. <tr class="field-odd field"><th class="field-name">Output Ports:</th><td class="field-body"><p class="first last"><strong>result</strong> (<em>any</em>) – The output of the provided equation.</p>
  233. </td>
  234. </tr>
  235. </tbody>
  236. </table>
  237. <dl class="method">
  238. <dt id="pypdevsbbl.generic.math.Equation.timeAdvance">
  239. <code class="descname">timeAdvance</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/pypdevsbbl/generic/math.html#Equation.timeAdvance"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#pypdevsbbl.generic.math.Equation.timeAdvance" title="Permalink to this definition">¶</a></dt>
  240. <dd></dd></dl>
  241. <dl class="method">
  242. <dt id="pypdevsbbl.generic.math.Equation.outputFnc">
  243. <code class="descname">outputFnc</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/pypdevsbbl/generic/math.html#Equation.outputFnc"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#pypdevsbbl.generic.math.Equation.outputFnc" title="Permalink to this definition">¶</a></dt>
  244. <dd></dd></dl>
  245. <dl class="method">
  246. <dt id="pypdevsbbl.generic.math.Equation.intTransition">
  247. <code class="descname">intTransition</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/pypdevsbbl/generic/math.html#Equation.intTransition"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#pypdevsbbl.generic.math.Equation.intTransition" title="Permalink to this definition">¶</a></dt>
  248. <dd></dd></dl>
  249. <dl class="method">
  250. <dt id="pypdevsbbl.generic.math.Equation.extTransition">
  251. <code class="descname">extTransition</code><span class="sig-paren">(</span><em>inputs</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/pypdevsbbl/generic/math.html#Equation.extTransition"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#pypdevsbbl.generic.math.Equation.extTransition" title="Permalink to this definition">¶</a></dt>
  252. <dd></dd></dl>
  253. </dd></dl>
  254. <dl class="class">
  255. <dt id="pypdevsbbl.generic.math._DI">
  256. <em class="property">class </em><code class="descclassname">pypdevsbbl.generic.math.</code><code class="descname">_DI</code><span class="sig-paren">(</span><em>name</em>, <em>ic=0</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/pypdevsbbl/generic/math.html#_DI"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#pypdevsbbl.generic.math._DI" title="Permalink to this definition">¶</a></dt>
  257. <dd><p>Bases: <code class="xref py py-class docutils literal notranslate"><span class="pre">pypdevs.DEVS.AtomicDEVS</span></code></p>
  258. <p>Superclass of the <a class="reference internal" href="#pypdevsbbl.generic.math.Differentiator" title="pypdevsbbl.generic.math.Differentiator"><code class="xref py py-class docutils literal notranslate"><span class="pre">Differentiator</span></code></a> and <a class="reference internal" href="#pypdevsbbl.generic.math.Integrator" title="pypdevsbbl.generic.math.Integrator"><code class="xref py py-class docutils literal notranslate"><span class="pre">Integrator</span></code></a> blocks.</p>
  259. <div class="admonition warning">
  260. <p class="first admonition-title">Warning</p>
  261. <p class="last">This class should not be used as a block by itself.</p>
  262. </div>
  263. <table class="docutils field-list" frame="void" rules="none">
  264. <col class="field-name" />
  265. <col class="field-body" />
  266. <tbody valign="top">
  267. <tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first simple">
  268. <li><strong>name</strong> (<em>str</em>) – The name of the block.</li>
  269. <li><strong>ic</strong> (<em>numeric</em>) – The initial condition of the block. Defaults to 0.</li>
  270. </ul>
  271. </td>
  272. </tr>
  273. <tr class="field-even field"><th class="field-name">State:</th><td class="field-body"><ul class="first simple">
  274. <li><strong>prev</strong> (<em>numeric</em>) – The previous value. Defaults to the initial condition.</li>
  275. <li><strong>v</strong> (<em>numeric</em>) – The current value.</li>
  276. </ul>
  277. </td>
  278. </tr>
  279. <tr class="field-odd field"><th class="field-name">Input Ports:</th><td class="field-body"><p class="first"><strong>input</strong> (<em>numeric</em>) – The new value.</p>
  280. </td>
  281. </tr>
  282. <tr class="field-even field"><th class="field-name">Output Ports:</th><td class="field-body"><p class="first last"><strong>result</strong> (<em>numeric</em>) – The differential.</p>
  283. </td>
  284. </tr>
  285. </tbody>
  286. </table>
  287. <dl class="method">
  288. <dt id="pypdevsbbl.generic.math._DI.timeAdvance">
  289. <code class="descname">timeAdvance</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/pypdevsbbl/generic/math.html#_DI.timeAdvance"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#pypdevsbbl.generic.math._DI.timeAdvance" title="Permalink to this definition">¶</a></dt>
  290. <dd></dd></dl>
  291. <dl class="method">
  292. <dt id="pypdevsbbl.generic.math._DI.outputFnc">
  293. <code class="descname">outputFnc</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/pypdevsbbl/generic/math.html#_DI.outputFnc"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#pypdevsbbl.generic.math._DI.outputFnc" title="Permalink to this definition">¶</a></dt>
  294. <dd></dd></dl>
  295. <dl class="method">
  296. <dt id="pypdevsbbl.generic.math._DI.intTransition">
  297. <code class="descname">intTransition</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/pypdevsbbl/generic/math.html#_DI.intTransition"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#pypdevsbbl.generic.math._DI.intTransition" title="Permalink to this definition">¶</a></dt>
  298. <dd></dd></dl>
  299. <dl class="method">
  300. <dt id="pypdevsbbl.generic.math._DI.extTransition">
  301. <code class="descname">extTransition</code><span class="sig-paren">(</span><em>inputs</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/pypdevsbbl/generic/math.html#_DI.extTransition"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#pypdevsbbl.generic.math._DI.extTransition" title="Permalink to this definition">¶</a></dt>
  302. <dd></dd></dl>
  303. </dd></dl>
  304. <dl class="class">
  305. <dt id="pypdevsbbl.generic.math.Differentiator">
  306. <em class="property">class </em><code class="descclassname">pypdevsbbl.generic.math.</code><code class="descname">Differentiator</code><span class="sig-paren">(</span><em>name</em>, <em>ic=0</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/pypdevsbbl/generic/math.html#Differentiator"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#pypdevsbbl.generic.math.Differentiator" title="Permalink to this definition">¶</a></dt>
  307. <dd><p>Bases: <a class="reference internal" href="#pypdevsbbl.generic.math._DI" title="pypdevsbbl.generic.math._DI"><code class="xref py py-class docutils literal notranslate"><span class="pre">pypdevsbbl.generic.math._DI</span></code></a></p>
  308. <p>Differentiates the input over time.</p>
  309. <p>This block will make use of the backwards difference:</p>
  310. <p><span class="math notranslate nohighlight">\(\dfrac{d}{dt}f(t) = \lim_{\Delta t\to 0}\dfrac{f(t) - f(t - \Delta t)}{\Delta t} = \dfrac{x_i - x_{i-1}}{\Delta t}\)</span></p>
  311. <div align="center" class="align-center"><img alt="_images/differentiator.svg" src="_images/differentiator.svg" /></div>
  312. <table class="docutils field-list" frame="void" rules="none">
  313. <col class="field-name" />
  314. <col class="field-body" />
  315. <tbody valign="top">
  316. <tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first simple">
  317. <li><strong>name</strong> (<em>str</em>) – The name of the block.</li>
  318. <li><strong>ic</strong> (<em>numeric</em>) – The initial condition of the block. Defaults to 0.</li>
  319. </ul>
  320. </td>
  321. </tr>
  322. <tr class="field-even field"><th class="field-name">State:</th><td class="field-body"><ul class="first simple">
  323. <li><strong>prev</strong> (<em>numeric</em>) – The previous value of the differential. Defaults to the initial condition.</li>
  324. <li><strong>v</strong> (<em>numeric</em>) – The current differential.</li>
  325. </ul>
  326. </td>
  327. </tr>
  328. <tr class="field-odd field"><th class="field-name">Input Ports:</th><td class="field-body"><p class="first"><strong>input</strong> (<em>numeric</em>) – The new value.</p>
  329. </td>
  330. </tr>
  331. <tr class="field-even field"><th class="field-name">Output Ports:</th><td class="field-body"><p class="first last"><strong>result</strong> (<em>numeric</em>) – The differential.</p>
  332. </td>
  333. </tr>
  334. </tbody>
  335. </table>
  336. <dl class="method">
  337. <dt id="pypdevsbbl.generic.math.Differentiator.extTransition">
  338. <code class="descname">extTransition</code><span class="sig-paren">(</span><em>inputs</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/pypdevsbbl/generic/math.html#Differentiator.extTransition"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#pypdevsbbl.generic.math.Differentiator.extTransition" title="Permalink to this definition">¶</a></dt>
  339. <dd></dd></dl>
  340. </dd></dl>
  341. <dl class="class">
  342. <dt id="pypdevsbbl.generic.math.Integrator">
  343. <em class="property">class </em><code class="descclassname">pypdevsbbl.generic.math.</code><code class="descname">Integrator</code><span class="sig-paren">(</span><em>name</em>, <em>ic=0</em>, <em>method=&lt;function Integrator.INTEGRAL_TRAPEZOID&gt;</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/pypdevsbbl/generic/math.html#Integrator"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#pypdevsbbl.generic.math.Integrator" title="Permalink to this definition">¶</a></dt>
  344. <dd><p>Bases: <a class="reference internal" href="#pypdevsbbl.generic.math._DI" title="pypdevsbbl.generic.math._DI"><code class="xref py py-class docutils literal notranslate"><span class="pre">pypdevsbbl.generic.math._DI</span></code></a></p>
  345. <p>Integrates the input over time.</p>
  346. <p><span class="math notranslate nohighlight">\(v(t) = {\displaystyle \int} f(\tau)\ d\tau = ic + {\displaystyle \int_0^t} f(\tau)\ d\tau = v(t - \Delta t) + {\displaystyle \int_{t - \Delta t}^t} f(\tau)\ d\tau\)</span></p>
  347. <div align="center" class="align-center"><img alt="_images/integrator.svg" src="_images/integrator.svg" /></div>
  348. <table class="docutils field-list" frame="void" rules="none">
  349. <col class="field-name" />
  350. <col class="field-body" />
  351. <tbody valign="top">
  352. <tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first simple">
  353. <li><strong>name</strong> (<em>str</em>) – The name of the block.</li>
  354. <li><strong>ic</strong> (<em>numeric</em>) – The initial condition of the block. Defaults to 0.</li>
  355. <li><strong>method</strong> (<em>def</em>) – A function to determine the computation of the integral.
  356. It’s preferrably one of <a class="reference internal" href="#pypdevsbbl.generic.math.Integrator.INTEGRAL_LOWER" title="pypdevsbbl.generic.math.Integrator.INTEGRAL_LOWER"><code class="xref py py-meth docutils literal notranslate"><span class="pre">INTEGRAL_LOWER()</span></code></a>, <a class="reference internal" href="#pypdevsbbl.generic.math.Integrator.INTEGRAL_UPPER" title="pypdevsbbl.generic.math.Integrator.INTEGRAL_UPPER"><code class="xref py py-meth docutils literal notranslate"><span class="pre">INTEGRAL_UPPER()</span></code></a> or
  357. <a class="reference internal" href="#pypdevsbbl.generic.math.Integrator.INTEGRAL_TRAPEZOID" title="pypdevsbbl.generic.math.Integrator.INTEGRAL_TRAPEZOID"><code class="xref py py-meth docutils literal notranslate"><span class="pre">INTEGRAL_TRAPEZOID()</span></code></a>. Defaults to <a class="reference internal" href="#pypdevsbbl.generic.math.Integrator.INTEGRAL_TRAPEZOID" title="pypdevsbbl.generic.math.Integrator.INTEGRAL_TRAPEZOID"><code class="xref py py-meth docutils literal notranslate"><span class="pre">INTEGRAL_TRAPEZOID()</span></code></a>.</li>
  358. </ul>
  359. </td>
  360. </tr>
  361. <tr class="field-even field"><th class="field-name">State:</th><td class="field-body"><ul class="first simple">
  362. <li><strong>prev</strong> (<em>numeric</em>) – The previous value of the integral. Defaults to the initial condition.</li>
  363. <li><strong>v</strong> (<em>numeric</em>) – The current integral.</li>
  364. <li><strong>fprev</strong> (<em>numeric</em>) – The previous value of the function. When <code class="docutils literal notranslate"><span class="pre">None</span></code>, the <code class="xref py py-attr docutils literal notranslate"><span class="pre">method</span></code> is
  365. ignored.</li>
  366. </ul>
  367. </td>
  368. </tr>
  369. <tr class="field-odd field"><th class="field-name">Input Ports:</th><td class="field-body"><p class="first"><strong>input</strong> (<em>numeric</em>) – The new value.</p>
  370. </td>
  371. </tr>
  372. <tr class="field-even field"><th class="field-name">Output Ports:</th><td class="field-body"><p class="first last"><strong>result</strong> (<em>numeric</em>) – The differential.</p>
  373. </td>
  374. </tr>
  375. </tbody>
  376. </table>
  377. <dl class="method">
  378. <dt id="pypdevsbbl.generic.math.Integrator.INTEGRAL_LOWER">
  379. <code class="descname">INTEGRAL_LOWER</code><span class="sig-paren">(</span><em>curr</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/pypdevsbbl/generic/math.html#Integrator.INTEGRAL_LOWER"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#pypdevsbbl.generic.math.Integrator.INTEGRAL_LOWER" title="Permalink to this definition">¶</a></dt>
  380. <dd><p>Computes the integral from the lower-bound.</p>
  381. <p><span class="math notranslate nohighlight">\({\displaystyle \int_{t - \Delta t}^t} f(\tau)\ d\tau = \Delta t\cdot f(t - \Delta t)\)</span></p>
  382. <table class="docutils field-list" frame="void" rules="none">
  383. <col class="field-name" />
  384. <col class="field-body" />
  385. <tbody valign="top">
  386. <tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><strong>curr</strong> (<em>numeric</em>) – Current input value.</td>
  387. </tr>
  388. </tbody>
  389. </table>
  390. </dd></dl>
  391. <dl class="method">
  392. <dt id="pypdevsbbl.generic.math.Integrator.INTEGRAL_UPPER">
  393. <code class="descname">INTEGRAL_UPPER</code><span class="sig-paren">(</span><em>curr</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/pypdevsbbl/generic/math.html#Integrator.INTEGRAL_UPPER"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#pypdevsbbl.generic.math.Integrator.INTEGRAL_UPPER" title="Permalink to this definition">¶</a></dt>
  394. <dd><p>Computes the integral from the upper-bound.</p>
  395. <p><span class="math notranslate nohighlight">\({\displaystyle \int_{t - \Delta t}^t} f(\tau)\ d\tau = \Delta t\cdot f(t)\)</span></p>
  396. <table class="docutils field-list" frame="void" rules="none">
  397. <col class="field-name" />
  398. <col class="field-body" />
  399. <tbody valign="top">
  400. <tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><strong>curr</strong> (<em>numeric</em>) – Current input value.</td>
  401. </tr>
  402. </tbody>
  403. </table>
  404. </dd></dl>
  405. <dl class="method">
  406. <dt id="pypdevsbbl.generic.math.Integrator.INTEGRAL_TRAPEZOID">
  407. <code class="descname">INTEGRAL_TRAPEZOID</code><span class="sig-paren">(</span><em>curr</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/pypdevsbbl/generic/math.html#Integrator.INTEGRAL_TRAPEZOID"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#pypdevsbbl.generic.math.Integrator.INTEGRAL_TRAPEZOID" title="Permalink to this definition">¶</a></dt>
  408. <dd><p>Computes the integral with the trapezoidal rule.</p>
  409. <p><span class="math notranslate nohighlight">\({\displaystyle \int_{t - \Delta t}^t} f(\tau)\ d\tau = \dfrac{\Delta t\cdot\left(f(t - \Delta t) + f(t)\right)}{2}\)</span></p>
  410. <table class="docutils field-list" frame="void" rules="none">
  411. <col class="field-name" />
  412. <col class="field-body" />
  413. <tbody valign="top">
  414. <tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><strong>curr</strong> (<em>numeric</em>) – Current input value.</td>
  415. </tr>
  416. </tbody>
  417. </table>
  418. </dd></dl>
  419. <dl class="method">
  420. <dt id="pypdevsbbl.generic.math.Integrator.extTransition">
  421. <code class="descname">extTransition</code><span class="sig-paren">(</span><em>inputs</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/pypdevsbbl/generic/math.html#Integrator.extTransition"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#pypdevsbbl.generic.math.Integrator.extTransition" title="Permalink to this definition">¶</a></dt>
  422. <dd></dd></dl>
  423. </dd></dl>
  424. <dl class="class">
  425. <dt id="pypdevsbbl.generic.math.Random">
  426. <em class="property">class </em><code class="descclassname">pypdevsbbl.generic.math.</code><code class="descname">Random</code><span class="sig-paren">(</span><em>name: str</em>, <em>seed=None</em>, <em>dist=&lt;function Random.&lt;lambda&gt;&gt;</em>, <em>args=()</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/pypdevsbbl/generic/math.html#Random"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#pypdevsbbl.generic.math.Random" title="Permalink to this definition">¶</a></dt>
  427. <dd><p>Bases: <code class="xref py py-class docutils literal notranslate"><span class="pre">pypdevs.DEVS.AtomicDEVS</span></code></p>
  428. <p><code class="xref py py-class docutils literal notranslate"><span class="pre">AtomicDEVS</span></code> that generates a random number every time a message arrives.</p>
  429. <p>It makes use of the RngStreams random number generator i.i.d. (0, 1).
  430. Using the <code class="docutils literal notranslate"><span class="pre">dist</span></code> argument, one can simply change the distribution over which
  431. numbers need to be generated. The <code class="xref py py-mod docutils literal notranslate"><span class="pre">pypdevsbbl.extra.rngstreams.distributions</span></code>
  432. module provides an extensive implementation of a lot of distributions.</p>
  433. <div class="admonition seealso">
  434. <p class="first admonition-title">See also</p>
  435. <ul class="last simple">
  436. <li><a class="reference internal" href="pypdevsbbl.generic.generators.html#pypdevsbbl.generic.generators.RandomNumberGenerator" title="pypdevsbbl.generic.generators.RandomNumberGenerator"><code class="xref py py-class docutils literal notranslate"><span class="pre">pypdevsbbl.generic.generators.RandomNumberGenerator</span></code></a></li>
  437. <li><a class="reference internal" href="pypdevsbbl.generic.generators.html#pypdevsbbl.generic.generators.RandomDelayGenerator" title="pypdevsbbl.generic.generators.RandomDelayGenerator"><code class="xref py py-class docutils literal notranslate"><span class="pre">pypdevsbbl.generic.generators.RandomDelayGenerator</span></code></a></li>
  438. <li><a class="reference internal" href="pypdevsbbl.extra.rngstreams.html#module-pypdevsbbl.extra.rngstreams" title="pypdevsbbl.extra.rngstreams"><code class="xref py py-mod docutils literal notranslate"><span class="pre">pypdevsbbl.extra.rngstreams</span></code></a></li>
  439. <li><code class="xref py py-mod docutils literal notranslate"><span class="pre">pypdevsbbl.extra.rngstreams.distributions</span></code></li>
  440. </ul>
  441. </div>
  442. <div align="center" class="align-center"><img alt="_images/random.svg" src="_images/random.svg" /></div>
  443. <table class="docutils field-list" frame="void" rules="none">
  444. <col class="field-name" />
  445. <col class="field-body" />
  446. <tbody valign="top">
  447. <tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first simple">
  448. <li><strong>name</strong> (<em>str</em>) – The name of the block and the RNG.</li>
  449. <li><strong>seed</strong> (<em>numeric</em>) – The seed for the generator. When <code class="docutils literal notranslate"><span class="pre">None</span></code>, no seed will be
  450. set. Defaults to <code class="docutils literal notranslate"><span class="pre">None</span></code>.</li>
  451. <li><strong>dist</strong> (<em>def</em>) – A stateless function that implements an inversive cumulative
  452. distribution function. It takes at least a single argument,
  453. which falls in (0, 1).
  454. Defaults to a uniform distribution over (0, 1).</li>
  455. <li><strong>args</strong> (<em>tuple</em>) – Optional additional arguments to add to the distribution.</li>
  456. </ul>
  457. </td>
  458. </tr>
  459. <tr class="field-even field"><th class="field-name">State:</th><td class="field-body"><ul class="first simple">
  460. <li><strong>num</strong> (<em>numeric</em>) – The random number that’s being/needs to be outputted.</li>
  461. <li><strong>item</strong> (<em>any</em>) – The item that’s passing through.</li>
  462. </ul>
  463. </td>
  464. </tr>
  465. <tr class="field-odd field"><th class="field-name">Input Ports:</th><td class="field-body"><p class="first"><strong>input</strong> (<em>any</em>) – A new input, indicative of an random number request.</p>
  466. </td>
  467. </tr>
  468. <tr class="field-even field"><th class="field-name">Output Ports:</th><td class="field-body"><ul class="first last simple">
  469. <li><strong>random</strong> (<em>numeric</em>) – The random number.</li>
  470. <li><strong>value</strong> (<em>any</em>) – Outputs the input once more.</li>
  471. </ul>
  472. </td>
  473. </tr>
  474. </tbody>
  475. </table>
  476. <dl class="method">
  477. <dt id="pypdevsbbl.generic.math.Random.timeAdvance">
  478. <code class="descname">timeAdvance</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/pypdevsbbl/generic/math.html#Random.timeAdvance"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#pypdevsbbl.generic.math.Random.timeAdvance" title="Permalink to this definition">¶</a></dt>
  479. <dd></dd></dl>
  480. <dl class="method">
  481. <dt id="pypdevsbbl.generic.math.Random.extTransition">
  482. <code class="descname">extTransition</code><span class="sig-paren">(</span><em>inputs</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/pypdevsbbl/generic/math.html#Random.extTransition"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#pypdevsbbl.generic.math.Random.extTransition" title="Permalink to this definition">¶</a></dt>
  483. <dd></dd></dl>
  484. <dl class="method">
  485. <dt id="pypdevsbbl.generic.math.Random.intTransition">
  486. <code class="descname">intTransition</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/pypdevsbbl/generic/math.html#Random.intTransition"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#pypdevsbbl.generic.math.Random.intTransition" title="Permalink to this definition">¶</a></dt>
  487. <dd></dd></dl>
  488. <dl class="method">
  489. <dt id="pypdevsbbl.generic.math.Random.outputFnc">
  490. <code class="descname">outputFnc</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/pypdevsbbl/generic/math.html#Random.outputFnc"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#pypdevsbbl.generic.math.Random.outputFnc" title="Permalink to this definition">¶</a></dt>
  491. <dd></dd></dl>
  492. <dl class="method">
  493. <dt id="pypdevsbbl.generic.math.Random.next">
  494. <code class="descname">next</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="_modules/pypdevsbbl/generic/math.html#Random.next"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#pypdevsbbl.generic.math.Random.next" title="Permalink to this definition">¶</a></dt>
  495. <dd><p>Obtains a random variable w.r.t. this block’s config.</p>
  496. <p>Do note that this updates the gen object, meaning it must only be called
  497. in functions that may update the state.</p>
  498. </dd></dl>
  499. </dd></dl>
  500. </div>
  501. </div>
  502. </div>
  503. </div>
  504. <div class="sphinxsidebar" role="navigation" aria-label="main navigation">
  505. <div class="sphinxsidebarwrapper">
  506. <h4>Previous topic</h4>
  507. <p class="topless"><a href="pypdevsbbl.generic.io.html"
  508. title="previous chapter">pypdevsbbl.generic.io module</a></p>
  509. <h4>Next topic</h4>
  510. <p class="topless"><a href="pypdevsbbl.generic.queues.html"
  511. title="next chapter">pypdevsbbl.generic.queues module</a></p>
  512. <div id="searchbox" style="display: none" role="search">
  513. <h3>Quick search</h3>
  514. <div class="searchformwrapper">
  515. <form class="search" action="search.html" method="get">
  516. <input type="text" name="q" />
  517. <input type="submit" value="Go" />
  518. <input type="hidden" name="check_keywords" value="yes" />
  519. <input type="hidden" name="area" value="default" />
  520. </form>
  521. </div>
  522. </div>
  523. <script type="text/javascript">$('#searchbox').show(0);</script>
  524. </div>
  525. </div>
  526. <div class="clearer"></div>
  527. </div>
  528. <div class="related" role="navigation" aria-label="related navigation">
  529. <h3>Navigation</h3>
  530. <ul>
  531. <li class="right" style="margin-right: 10px">
  532. <a href="genindex.html" title="General Index"
  533. >index</a></li>
  534. <li class="right" >
  535. <a href="py-modindex.html" title="Python Module Index"
  536. >modules</a> |</li>
  537. <li class="right" >
  538. <a href="pypdevsbbl.generic.queues.html" title="pypdevsbbl.generic.queues module"
  539. >next</a> |</li>
  540. <li class="right" >
  541. <a href="pypdevsbbl.generic.io.html" title="pypdevsbbl.generic.io module"
  542. >previous</a> |</li>
  543. <li class="nav-item nav-item-0"><a href="index.html">Python(P)DEVS-BBL documentation</a> &#187;</li>
  544. <li class="nav-item nav-item-1"><a href="pypdevsbbl.html" >pypdevsbbl package</a> &#187;</li>
  545. <li class="nav-item nav-item-2"><a href="pypdevsbbl.generic.html" >pypdevsbbl.generic package</a> &#187;</li>
  546. </ul>
  547. </div>
  548. <div class="footer" role="contentinfo">
  549. &#169; Copyright 2020, Randy Paredis.
  550. Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.8.5.
  551. </div>
  552. </body>
  553. </html>