Skip to content

Commit 1efef87

Browse files
committed
Website build
1 parent 581fce1 commit 1efef87

12 files changed

+542
-330
lines changed

10_trees_and_directed_acyclic_graphs.html

Lines changed: 225 additions & 163 deletions
Large diffs are not rendered by default.

2_programs_in_files.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -650,7 +650,7 @@ <h2><span class="section-number">2.7. </span>Testing frameworks<a class="headerl
650650
the practical details of including tests in your code here.</p>
651651
<p>There are a number of Python packages which support code testing. The
652652
concepts are largely similar so rather than get bogged down in the
653-
details of multiple frameworks, we will introduce <a class="reference external" href="https://docs.pytest.org/en/latest/index.html" title="(in pytest v0.1.dev223+g79b03ce)"><span class="xref std std-doc">pytest</span></a>, which is one of the most widely used. Pytest is simply a Python
653+
details of multiple frameworks, we will introduce <a class="reference external" href="https://docs.pytest.org/en/latest/index.html" title="(in pytest v0.1.dev246+g63bc49d)"><span class="xref std std-doc">pytest</span></a>, which is one of the most widely used. Pytest is simply a Python
654654
package, so you can install it into your current environment using:</p>
655655
<div class="highlight-console notranslate"><div class="highlight"><pre><span></span><span class="gp">$</span> python -m pip install pytest
656656
</pre></div>

_modules/example_code/expression_tools.html

Lines changed: 12 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
<head>
66
<meta charset="utf-8" />
77
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
8-
<title>example_code.expression_tools &#8212; Object oriented programming in Python for mathematicians 2020.0 documentation</title>
8+
<title>example_code.expression_tools &#8212; Object oriented programming in Python for mathematicians 2021.0 documentation</title>
99
<link rel="stylesheet" href="../../_static/pygments.css" type="text/css" />
1010
<link rel="stylesheet" href="../../_static/fenics.css" type="text/css" />
1111
<link rel="stylesheet" type="text/css" href="../../_static/proof.css" />
@@ -17,15 +17,22 @@
1717
<script src="../../_static/jquery.js"></script>
1818
<script src="../../_static/underscore.js"></script>
1919
<script src="../../_static/doctools.js"></script>
20-
<script src="../../_static/language_data.js"></script>
2120
<script src="../../_static/proof.js"></script>
2221
<script async="async" src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>
2322
<link rel="index" title="Index" href="../../genindex.html" />
2423
<link rel="search" title="Search" href="../../search.html" />
2524
<!--[if lte IE 6]>
2625
<link rel="stylesheet" href="../../_static/ie6.css" type="text/css" media="screen" charset="utf-8" />
2726
<![endif]-->
28-
27+
<!-- Global site tag (gtag.js) - Google Analytics -->
28+
<script async src="https://www.googletagmanager.com/gtag/js?id=G-0EFVH5C4DC"></script>
29+
<script>
30+
window.dataLayer = window.dataLayer || [];
31+
function gtag(){dataLayer.push(arguments);}
32+
gtag('js', new Date());
33+
34+
gtag('config', 'G-0EFVH5C4DC');
35+
</script>
2936
<link rel="stylesheet" href="../../_static/featured.css">
3037

3138

@@ -141,8 +148,8 @@ <h1>Source code for example_code.expression_tools</h1><div class="highlight"><pr
141148
<div class="clearer"></div>
142149
</div>
143150
<div class="footer" role="contentinfo">
144-
&#169; Copyright 2019-2020, David A. Ham.
145-
Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 3.3.1.
151+
&#169; Copyright 2019-2021, David A. Ham.
152+
Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 3.4.3.
146153
</div>
147154
</body>
148155
</html>

_modules/example_code/graphs.html

Lines changed: 22 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -58,32 +58,37 @@
5858
<div class="body" role="main">
5959

6060
<h1>Source code for example_code.graphs</h1><div class="highlight"><pre>
61-
<div class="viewcode-block" id="TreeNode"><a class="viewcode-back" href="../../example_code.html#example_code.graphs.TreeNode">[docs]</a><span></span><span class="k">class</span> <span class="nc">TreeNode</span><span class="p">:</span>
62-
<span class="sd">&#39;&#39;&#39;A basic tree implementation.</span>
61+
<span></span><span class="sd">&quot;&quot;&quot;A simple tree implementation with basic pre- and post-visitors.&quot;&quot;&quot;</span>
6362

64-
<span class="sd"> Observe that a tree is simply a collection of connected TreeNodes.&#39;&#39;&#39;</span>
63+
64+
<div class="viewcode-block" id="TreeNode"><a class="viewcode-back" href="../../example_code.html#example_code.graphs.TreeNode">[docs]</a><span class="k">class</span> <span class="nc">TreeNode</span><span class="p">:</span>
65+
<span class="sd">&quot;&quot;&quot;A basic tree implementation.</span>
66+
67+
<span class="sd"> Observe that a tree is simply a collection of connected TreeNodes.</span>
68+
69+
<span class="sd"> Parameters</span>
70+
<span class="sd"> ----------</span>
71+
<span class="sd"> value:</span>
72+
<span class="sd"> An arbitrary value associated with this node.</span>
73+
<span class="sd"> children:</span>
74+
<span class="sd"> The TreeNodes which are the children of this node.</span>
75+
<span class="sd"> &quot;&quot;&quot;</span>
6576
<span class="k">def</span> <span class="fm">__init__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">value</span><span class="p">,</span> <span class="o">*</span><span class="n">children</span><span class="p">):</span>
66-
<span class="sd">&#39;&#39;&#39;</span>
67-
<span class="sd"> Parameters</span>
68-
<span class="sd"> ----------</span>
69-
<span class="sd"> value:</span>
70-
<span class="sd"> An arbitrary value associated with this node.</span>
71-
<span class="sd"> children:</span>
72-
<span class="sd"> The TreeNodes which are the children of this node.</span>
73-
<span class="sd"> &#39;&#39;&#39;</span>
7477
<span class="bp">self</span><span class="o">.</span><span class="n">value</span> <span class="o">=</span> <span class="n">value</span>
7578
<span class="bp">self</span><span class="o">.</span><span class="n">children</span> <span class="o">=</span> <span class="nb">tuple</span><span class="p">(</span><span class="n">children</span><span class="p">)</span>
7679

7780
<span class="k">def</span> <span class="fm">__repr__</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
78-
<span class="k">return</span> <span class="sa">f</span><span class="s2">&quot;</span><span class="si">{</span><span class="bp">self</span><span class="o">.</span><span class="vm">__class__</span><span class="o">.</span><span class="vm">__name__</span><span class="si">}{</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">value</span><span class="p">,)</span> <span class="o">+</span> <span class="bp">self</span><span class="o">.</span><span class="n">children</span><span class="si">}</span><span class="s2">&quot;</span>
81+
<span class="sd">&quot;&quot;&quot;Return the canonical string representation.&quot;&quot;&quot;</span>
82+
<span class="k">return</span> <span class="sa">f</span><span class="s2">&quot;</span><span class="si">{</span><span class="nb">type</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span><span class="o">.</span><span class="vm">__name__</span><span class="si">}{</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">value</span><span class="p">,)</span> <span class="o">+</span> <span class="bp">self</span><span class="o">.</span><span class="n">children</span><span class="si">}</span><span class="s2">&quot;</span>
7983

8084
<span class="k">def</span> <span class="fm">__str__</span><span class="p">(</span><span class="bp">self</span><span class="p">):</span>
85+
<span class="sd">&quot;&quot;&quot;Serialise the tree recursively as parent -&gt; (children).&quot;&quot;&quot;</span>
8186
<span class="n">childstring</span> <span class="o">=</span> <span class="s2">&quot;, &quot;</span><span class="o">.</span><span class="n">join</span><span class="p">(</span><span class="nb">map</span><span class="p">(</span><span class="nb">str</span><span class="p">,</span> <span class="bp">self</span><span class="o">.</span><span class="n">children</span><span class="p">))</span>
8287
<span class="k">return</span> <span class="sa">f</span><span class="s2">&quot;</span><span class="si">{</span><span class="bp">self</span><span class="o">.</span><span class="n">value</span><span class="si">!s}</span><span class="s2"> -&gt; (</span><span class="si">{</span><span class="n">childstring</span><span class="si">}</span><span class="s2">)&quot;</span></div>
8388

8489

8590
<div class="viewcode-block" id="previsitor"><a class="viewcode-back" href="../../example_code.html#example_code.graphs.previsitor">[docs]</a><span class="k">def</span> <span class="nf">previsitor</span><span class="p">(</span><span class="n">tree</span><span class="p">,</span> <span class="n">fn</span><span class="p">,</span> <span class="n">fn_parent</span><span class="o">=</span><span class="kc">None</span><span class="p">):</span>
86-
<span class="sd">&#39;&#39;&#39;Traverse tree in preorder applying a function to every node.</span>
91+
<span class="sd">&quot;&quot;&quot;Traverse tree in preorder applying a function to every node.</span>
8792

8893
<span class="sd"> Parameters</span>
8994
<span class="sd"> ----------</span>
@@ -93,27 +98,25 @@ <h1>Source code for example_code.graphs</h1><div class="highlight"><pre>
9398
<span class="sd"> A function to be applied at each node. The function should take the</span>
9499
<span class="sd"> node to be visited as its first argument, and the result of visiting</span>
95100
<span class="sd"> its parent as the second.</span>
96-
<span class="sd"> &#39;&#39;&#39;</span>
97-
101+
<span class="sd"> &quot;&quot;&quot;</span>
98102
<span class="n">fn_out</span> <span class="o">=</span> <span class="n">fn</span><span class="p">(</span><span class="n">tree</span><span class="p">,</span> <span class="n">fn_parent</span><span class="p">)</span>
99103

100104
<span class="k">for</span> <span class="n">child</span> <span class="ow">in</span> <span class="n">tree</span><span class="o">.</span><span class="n">children</span><span class="p">:</span>
101105
<span class="n">previsitor</span><span class="p">(</span><span class="n">child</span><span class="p">,</span> <span class="n">fn</span><span class="p">,</span> <span class="n">fn_out</span><span class="p">)</span></div>
102106

103107

104108
<div class="viewcode-block" id="postvisitor"><a class="viewcode-back" href="../../example_code.html#example_code.graphs.postvisitor">[docs]</a><span class="k">def</span> <span class="nf">postvisitor</span><span class="p">(</span><span class="n">tree</span><span class="p">,</span> <span class="n">fn</span><span class="p">):</span>
105-
<span class="sd">&#39;&#39;&#39;Traverse tree in postorder applying a function to every node.</span>
109+
<span class="sd">&quot;&quot;&quot;Traverse tree in postorder applying a function to every node.</span>
106110

107111
<span class="sd"> Parameters</span>
108112
<span class="sd"> ----------</span>
109113
<span class="sd"> tree: TreeNode</span>
110114
<span class="sd"> The tree to be visited.</span>
111-
<span class="sd"> fn: `function(node, *fn_children)`</span>
115+
<span class="sd"> fn: function(node, *fn_children)</span>
112116
<span class="sd"> A function to be applied at each node. The function should take the</span>
113117
<span class="sd"> node to be visited as its first argument, and the results of visiting</span>
114118
<span class="sd"> its children as any further arguments.</span>
115-
<span class="sd"> &#39;&#39;&#39;</span>
116-
119+
<span class="sd"> &quot;&quot;&quot;</span>
117120
<span class="k">return</span> <span class="n">fn</span><span class="p">(</span><span class="n">tree</span><span class="p">,</span> <span class="o">*</span><span class="p">(</span><span class="n">postvisitor</span><span class="p">(</span><span class="n">c</span><span class="p">,</span> <span class="n">fn</span><span class="p">)</span> <span class="k">for</span> <span class="n">c</span> <span class="ow">in</span> <span class="n">tree</span><span class="o">.</span><span class="n">children</span><span class="p">))</span></div>
118121
</pre></div>
119122

_modules/index.html

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -59,6 +59,7 @@
5959

6060
<h1>All modules for which code is available</h1>
6161
<ul><li><a href="example_code/euclid.html">example_code.euclid</a></li>
62+
<li><a href="example_code/expression_tools.html">example_code.expression_tools</a></li>
6263
<li><a href="example_code/graphs.html">example_code.graphs</a></li>
6364
<li><a href="example_code/groups.html">example_code.groups</a></li>
6465
<li><a href="example_code/groups_basic.html">example_code.groups_basic</a></li>

0 commit comments

Comments
 (0)