Skip to content

Commit d0d21cd

Browse files
committed
Rebuild manuals with latest updates
1 parent 60aca58 commit d0d21cd

9 files changed

+172
-119
lines changed

docs/TinyExpr++ReferenceManual.pdf

6.3 KB
Binary file not shown.

docs/building.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -280,7 +280,7 @@ <h1 class="title"><span class="chapter-number">6</span>&nbsp; <span class="chapt
280280

281281
</header>
282282

283-
<p><em>TinyExpr++</em> is self-contained in two files: <code>tinyexpr.cpp</code> and <code>tinyexpr.h</code>. To use <em>TinyExpr++</em>, add those files to your project.</p>
283+
<p><em>TinyExpr++</em> is self-contained in two files: tinyexpr.cpp and tinyexpr.h. To use <em>TinyExpr++</em>, add those files to your project.</p>
284284
<p>The API documentation can be built using the following:</p>
285285
<pre><code>doxygen docs/Doxyfile</code></pre>
286286
<section id="requirements" class="level2 unnumbered">

docs/comments.html

Lines changed: 21 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -314,17 +314,27 @@ <h1 class="title"><span class="chapter-number">5</span>&nbsp; <span class="chapt
314314
<li>single line comments (everything after a <code>//</code> until the end of the current line).</li>
315315
</ul>
316316
<p>For example, assuming that the variables <code>P_LEVEL</code> and <code>N_OBS</code> have been defined within the parser, an expression such as this could be used:</p>
317-
<div class="sourceCode" id="cb1"><pre class="sourceCode cpp code-with-copy"><code class="sourceCode cpp"><span id="cb1-1"><a href="#cb1-1" aria-hidden="true" tabindex="-1"></a><span class="co">/* Returns the p-level of a study if:</span></span>
318-
<span id="cb1-2"><a href="#cb1-2" aria-hidden="true" tabindex="-1"></a><span class="co"> p-level &lt; 5% AND</span></span>
319-
<span id="cb1-3"><a href="#cb1-3" aria-hidden="true" tabindex="-1"></a><span class="co"> number of observations was at least 30.</span></span>
320-
<span id="cb1-4"><a href="#cb1-4" aria-hidden="true" tabindex="-1"></a><span class="co"> Otherwise, NaN is returned. */</span></span>
321-
<span id="cb1-5"><a href="#cb1-5" aria-hidden="true" tabindex="-1"></a></span>
322-
<span id="cb1-6"><a href="#cb1-6" aria-hidden="true" tabindex="-1"></a>IF<span class="op">(</span><span class="co">// Review the results from the analysis</span></span>
323-
<span id="cb1-7"><a href="#cb1-7" aria-hidden="true" tabindex="-1"></a> AND<span class="op">(</span>P_LEVEL <span class="op">&lt;</span> <span class="fl">.05</span><span class="op">,</span> N_OBS <span class="op">&gt;=</span> <span class="dv">30</span><span class="op">),</span></span>
324-
<span id="cb1-8"><a href="#cb1-8" aria-hidden="true" tabindex="-1"></a> <span class="co">// ...and return the p-level if acceptable</span></span>
325-
<span id="cb1-9"><a href="#cb1-9" aria-hidden="true" tabindex="-1"></a> P_LEVEL<span class="op">,</span></span>
326-
<span id="cb1-10"><a href="#cb1-10" aria-hidden="true" tabindex="-1"></a> <span class="co">// or NaN if not</span></span>
327-
<span id="cb1-11"><a href="#cb1-11" aria-hidden="true" tabindex="-1"></a> NAN<span class="op">)</span></span></code><button title="Copy to Clipboard" class="code-copy-button"><i class="bi"></i></button></pre></div>
317+
<div class="sourceCode" id="annotated-cell-1"><pre class="sourceCode cpp code-annotation-code code-with-copy code-annotated"><code class="sourceCode cpp"><span id="annotated-cell-1-1"><a href="#annotated-cell-1-1" aria-hidden="true" tabindex="-1"></a><span class="co">/* Returns the p-level of a study if:</span></span>
318+
<span id="annotated-cell-1-2"><a href="#annotated-cell-1-2" aria-hidden="true" tabindex="-1"></a><span class="co"> p-level &lt; 5% AND</span></span>
319+
<span id="annotated-cell-1-3"><a href="#annotated-cell-1-3" aria-hidden="true" tabindex="-1"></a><span class="co"> number of observations was at least 30.</span></span>
320+
<a class="code-annotation-anchor" data-target-cell="annotated-cell-1" data-target-annotation="1" onclick="event.preventDefault();">1</a><span id="annotated-cell-1-4" class="code-annotation-target"><a href="#annotated-cell-1-4" aria-hidden="true" tabindex="-1"></a><span class="co"> Otherwise, NaN is returned. */</span></span>
321+
<span id="annotated-cell-1-5"><a href="#annotated-cell-1-5" aria-hidden="true" tabindex="-1"></a></span>
322+
<span id="annotated-cell-1-6"><a href="#annotated-cell-1-6" aria-hidden="true" tabindex="-1"></a>IF<span class="op">(</span><span class="co">// Review the results from the analysis</span></span>
323+
<span id="annotated-cell-1-7"><a href="#annotated-cell-1-7" aria-hidden="true" tabindex="-1"></a> AND<span class="op">(</span>P_LEVEL <span class="op">&lt;</span> <span class="fl">.05</span><span class="op">,</span> N_OBS <span class="op">&gt;=</span> <span class="dv">30</span><span class="op">),</span></span>
324+
<span id="annotated-cell-1-8"><a href="#annotated-cell-1-8" aria-hidden="true" tabindex="-1"></a> <span class="co">// ...and return the p-level if acceptable</span></span>
325+
<a class="code-annotation-anchor" data-target-cell="annotated-cell-1" data-target-annotation="2" onclick="event.preventDefault();">2</a><span id="annotated-cell-1-9" class="code-annotation-target"><a href="#annotated-cell-1-9" aria-hidden="true" tabindex="-1"></a> P_LEVEL<span class="op">,</span></span>
326+
<span id="annotated-cell-1-10"><a href="#annotated-cell-1-10" aria-hidden="true" tabindex="-1"></a> <span class="co">// or NaN if not</span></span>
327+
<span id="annotated-cell-1-11"><a href="#annotated-cell-1-11" aria-hidden="true" tabindex="-1"></a> NAN<span class="op">)</span></span><div class="code-annotation-gutter-bg"></div><div class="code-annotation-gutter"></div></code><button title="Copy to Clipboard" class="code-copy-button"><i class="bi"></i></button></pre></div>
328+
<dl class="code-annotation-container-grid">
329+
<dt data-target-cell="annotated-cell-1" data-target-annotation="1">1</dt>
330+
<dd>
331+
<span data-code-cell="annotated-cell-1" data-code-lines="4" data-code-annotation="1">Comment that can span multiple lines.</span>
332+
</dd>
333+
<dt data-target-cell="annotated-cell-1" data-target-annotation="2">2</dt>
334+
<dd>
335+
<span data-code-cell="annotated-cell-1" data-code-lines="9" data-code-annotation="2">Single line comment.</span>
336+
</dd>
337+
</dl>
328338

329339

330340
<div id="refs" class="references csl-bib-body hanging-indent" data-line-spacing="2" role="list" style="display: none">

docs/custom-extensions.html

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -333,7 +333,7 @@ <h2 class="unnumbered anchored" data-anchor-id="custom-variables">Binding to Cus
333333
<span id="cb1-11"><a href="#cb1-11" aria-hidden="true" tabindex="-1"></a> <span class="op">}</span></span>
334334
<span id="cb1-12"><a href="#cb1-12" aria-hidden="true" tabindex="-1"></a> <span class="at">const</span> <span class="dt">char</span><span class="op">*</span> expression <span class="op">=</span> argv<span class="op">[</span><span class="dv">1</span><span class="op">];</span></span>
335335
<span id="cb1-13"><a href="#cb1-13" aria-hidden="true" tabindex="-1"></a></span>
336-
<span id="cb1-14"><a href="#cb1-14" aria-hidden="true" tabindex="-1"></a> <span class="dt">double</span> x<span class="op">{</span> <span class="dv">0</span> <span class="op">},</span> y<span class="op">{</span> <span class="dv">0</span> <span class="op">};</span> <span class="co">// x and y are bound at eval-time.</span></span>
336+
<span id="cb1-14"><a href="#cb1-14" aria-hidden="true" tabindex="-1"></a> <span class="dt">te_type</span> x<span class="op">{</span> <span class="dv">0</span> <span class="op">},</span> y<span class="op">{</span> <span class="dv">0</span> <span class="op">};</span> <span class="co">// x and y are bound at eval-time.</span></span>
337337
<span id="cb1-15"><a href="#cb1-15" aria-hidden="true" tabindex="-1"></a> <span class="co">// Store variable names and pointers.</span></span>
338338
<span id="cb1-16"><a href="#cb1-16" aria-hidden="true" tabindex="-1"></a> te_parser tep<span class="op">;</span></span>
339339
<span id="cb1-17"><a href="#cb1-17" aria-hidden="true" tabindex="-1"></a> tep<span class="op">.</span>set_variables_and_functions<span class="op">({</span> <span class="op">{</span><span class="st">"x"</span><span class="op">,</span> <span class="op">&amp;</span>x<span class="op">},</span> <span class="op">{</span><span class="st">"y"</span><span class="op">,</span> <span class="op">&amp;</span>y<span class="op">}</span> <span class="op">});</span></span>
@@ -358,7 +358,7 @@ <h2 class="unnumbered anchored" data-anchor-id="custom-variables">Binding to Cus
358358
<section id="binding-to-custom-functions" class="level2 unnumbered minipage">
359359
<h2 class="unnumbered anchored" data-anchor-id="binding-to-custom-functions">Binding to Custom Functions</h2>
360360
<p><em>TinyExpr++</em> can call custom functions also. Here is a short example:</p>
361-
<div class="sourceCode" id="cb2"><pre class="sourceCode cpp code-with-copy"><code class="sourceCode cpp"><span id="cb2-1"><a href="#cb2-1" aria-hidden="true" tabindex="-1"></a><span class="dt">double</span> my_sum<span class="op">(</span><span class="dt">double</span> a<span class="op">,</span> <span class="dt">double</span> b<span class="op">)</span></span>
361+
<div class="sourceCode" id="cb2"><pre class="sourceCode cpp code-with-copy"><code class="sourceCode cpp"><span id="cb2-1"><a href="#cb2-1" aria-hidden="true" tabindex="-1"></a><span class="dt">te_type</span> my_sum<span class="op">(</span><span class="dt">te_type</span> a<span class="op">,</span> <span class="dt">te_type</span> b<span class="op">)</span></span>
362362
<span id="cb2-2"><a href="#cb2-2" aria-hidden="true" tabindex="-1"></a> <span class="op">{</span></span>
363363
<span id="cb2-3"><a href="#cb2-3" aria-hidden="true" tabindex="-1"></a> <span class="co">/* Example function that adds two numbers together. */</span></span>
364364
<span id="cb2-4"><a href="#cb2-4" aria-hidden="true" tabindex="-1"></a> <span class="cf">return</span> a <span class="op">+</span> b<span class="op">;</span></span>
@@ -376,7 +376,7 @@ <h2 class="unnumbered anchored" data-anchor-id="binding-to-custom-functions">Bin
376376
<div class="sourceCode" id="cb3"><pre class="sourceCode cpp code-with-copy"><code class="sourceCode cpp"><span id="cb3-1"><a href="#cb3-1" aria-hidden="true" tabindex="-1"></a>te_parser tep<span class="op">;</span></span>
377377
<span id="cb3-2"><a href="#cb3-2" aria-hidden="true" tabindex="-1"></a>tep<span class="op">.</span>set_variables_and_functions<span class="op">({</span></span>
378378
<span id="cb3-3"><a href="#cb3-3" aria-hidden="true" tabindex="-1"></a> <span class="op">{</span> <span class="st">"mysum"</span><span class="op">,</span></span>
379-
<span id="cb3-4"><a href="#cb3-4" aria-hidden="true" tabindex="-1"></a> <span class="op">[](</span><span class="dt">double</span> a<span class="op">,</span> <span class="dt">double</span> b<span class="op">)</span> <span class="kw">noexcept</span></span>
379+
<span id="cb3-4"><a href="#cb3-4" aria-hidden="true" tabindex="-1"></a> <span class="op">[](</span><span class="dt">te_type</span> a<span class="op">,</span> <span class="dt">te_type</span> b<span class="op">)</span> <span class="kw">noexcept</span></span>
380380
<span id="cb3-5"><a href="#cb3-5" aria-hidden="true" tabindex="-1"></a> <span class="op">{</span> <span class="cf">return</span> a <span class="op">+</span> b<span class="op">;</span> <span class="op">}</span> <span class="op">}</span></span>
381381
<span id="cb3-6"><a href="#cb3-6" aria-hidden="true" tabindex="-1"></a> <span class="op">});</span></span>
382382
<span id="cb3-7"><a href="#cb3-7" aria-hidden="true" tabindex="-1"></a></span>
@@ -392,21 +392,21 @@ <h2 class="unnumbered anchored" data-anchor-id="custom-classes">Binding to Custo
392392
<span id="cb4-3"><a href="#cb4-3" aria-hidden="true" tabindex="-1"></a><span class="kw">public</span><span class="op">:</span></span>
393393
<span id="cb4-4"><a href="#cb4-4" aria-hidden="true" tabindex="-1"></a> <span class="kw">explicit</span> te_expr_array<span class="op">(</span><span class="at">const</span> te_variable_flags type<span class="op">)</span> <span class="kw">noexcept</span> <span class="op">:</span></span>
394394
<span id="cb4-5"><a href="#cb4-5" aria-hidden="true" tabindex="-1"></a> te_expr<span class="op">(</span>type<span class="op">)</span> <span class="op">{}</span></span>
395-
<span id="cb4-6"><a href="#cb4-6" aria-hidden="true" tabindex="-1"></a> <span class="bu">std::</span>array<span class="op">&lt;</span><span class="dt">double</span><span class="op">,</span> <span class="dv">5</span><span class="op">&gt;</span> <span class="va">m_data</span> <span class="op">=</span> <span class="op">{</span> <span class="dv">5</span><span class="op">,</span> <span class="dv">6</span><span class="op">,</span> <span class="dv">7</span><span class="op">,</span> <span class="dv">8</span><span class="op">,</span> <span class="dv">9</span> <span class="op">};</span></span>
395+
<span id="cb4-6"><a href="#cb4-6" aria-hidden="true" tabindex="-1"></a> <span class="bu">std::</span>array<span class="op">&lt;</span><span class="dt">te_type</span><span class="op">,</span> <span class="dv">5</span><span class="op">&gt;</span> <span class="va">m_data</span> <span class="op">=</span> <span class="op">{</span> <span class="dv">5</span><span class="op">,</span> <span class="dv">6</span><span class="op">,</span> <span class="dv">7</span><span class="op">,</span> <span class="dv">8</span><span class="op">,</span> <span class="dv">9</span> <span class="op">};</span></span>
396396
<span id="cb4-7"><a href="#cb4-7" aria-hidden="true" tabindex="-1"></a> <span class="op">};</span></span></code><button title="Copy to Clipboard" class="code-copy-button"><i class="bi"></i></button></pre></div>
397397
<p>Next, create two functions that can accept this object and perform actions on it. (Note that proper error handling is not included for brevity.):</p>
398398
<div class="sourceCode" id="cb5"><pre class="sourceCode cpp code-with-copy"><code class="sourceCode cpp"><span id="cb5-1"><a href="#cb5-1" aria-hidden="true" tabindex="-1"></a><span class="co">// Returns the value of a cell from the object's data.</span></span>
399-
<span id="cb5-2"><a href="#cb5-2" aria-hidden="true" tabindex="-1"></a><span class="dt">double</span> cell<span class="op">(</span><span class="at">const</span> te_expr<span class="op">*</span> context<span class="op">,</span> <span class="dt">double</span> a<span class="op">)</span></span>
399+
<span id="cb5-2"><a href="#cb5-2" aria-hidden="true" tabindex="-1"></a><span class="dt">te_type</span> cell<span class="op">(</span><span class="at">const</span> te_expr<span class="op">*</span> context<span class="op">,</span> <span class="dt">te_type</span> a<span class="op">)</span></span>
400400
<span id="cb5-3"><a href="#cb5-3" aria-hidden="true" tabindex="-1"></a> <span class="op">{</span></span>
401401
<span id="cb5-4"><a href="#cb5-4" aria-hidden="true" tabindex="-1"></a> <span class="kw">auto</span><span class="op">*</span> c <span class="op">=</span> <span class="kw">dynamic_cast</span><span class="op">&lt;</span><span class="at">const</span> te_expr_array<span class="op">*&gt;(</span>context<span class="op">);</span></span>
402-
<span id="cb5-5"><a href="#cb5-5" aria-hidden="true" tabindex="-1"></a> <span class="cf">return</span> <span class="kw">static_cast</span><span class="op">&lt;</span><span class="dt">double</span><span class="op">&gt;(</span>c<span class="op">-&gt;</span><span class="va">m_data</span><span class="op">[</span><span class="kw">static_cast</span><span class="op">&lt;</span><span class="dt">size_t</span><span class="op">&gt;(</span>a<span class="op">)]);</span></span>
402+
<span id="cb5-5"><a href="#cb5-5" aria-hidden="true" tabindex="-1"></a> <span class="cf">return</span> <span class="kw">static_cast</span><span class="op">&lt;</span><span class="dt">te_type</span><span class="op">&gt;(</span>c<span class="op">-&gt;</span><span class="va">m_data</span><span class="op">[</span><span class="kw">static_cast</span><span class="op">&lt;</span><span class="dt">size_t</span><span class="op">&gt;(</span>a<span class="op">)]);</span></span>
403403
<span id="cb5-6"><a href="#cb5-6" aria-hidden="true" tabindex="-1"></a> <span class="op">}</span></span>
404404
<span id="cb5-7"><a href="#cb5-7" aria-hidden="true" tabindex="-1"></a></span>
405405
<span id="cb5-8"><a href="#cb5-8" aria-hidden="true" tabindex="-1"></a><span class="co">// Returns the max value of the object's data.</span></span>
406-
<span id="cb5-9"><a href="#cb5-9" aria-hidden="true" tabindex="-1"></a><span class="dt">double</span> cell_max<span class="op">(</span><span class="at">const</span> te_expr<span class="op">*</span> context<span class="op">)</span></span>
406+
<span id="cb5-9"><a href="#cb5-9" aria-hidden="true" tabindex="-1"></a><span class="dt">te_type</span> cell_max<span class="op">(</span><span class="at">const</span> te_expr<span class="op">*</span> context<span class="op">)</span></span>
407407
<span id="cb5-10"><a href="#cb5-10" aria-hidden="true" tabindex="-1"></a> <span class="op">{</span></span>
408408
<span id="cb5-11"><a href="#cb5-11" aria-hidden="true" tabindex="-1"></a> <span class="kw">auto</span><span class="op">*</span> c <span class="op">=</span> <span class="kw">dynamic_cast</span><span class="op">&lt;</span><span class="at">const</span> te_expr_array<span class="op">*&gt;(</span>context<span class="op">);</span></span>
409-
<span id="cb5-12"><a href="#cb5-12" aria-hidden="true" tabindex="-1"></a> <span class="cf">return</span> <span class="kw">static_cast</span><span class="op">&lt;</span><span class="dt">double</span><span class="op">&gt;(</span></span>
409+
<span id="cb5-12"><a href="#cb5-12" aria-hidden="true" tabindex="-1"></a> <span class="cf">return</span> <span class="kw">static_cast</span><span class="op">&lt;</span><span class="dt">te_type</span><span class="op">&gt;(</span></span>
410410
<span id="cb5-13"><a href="#cb5-13" aria-hidden="true" tabindex="-1"></a> <span class="op">*</span><span class="bu">std::</span>max_element<span class="op">(</span>c<span class="op">-&gt;</span><span class="va">m_data</span><span class="op">.</span>cbegin<span class="op">(),</span> c<span class="op">-&gt;</span><span class="va">m_data</span><span class="op">.</span>cend<span class="op">()));</span></span>
411411
<span id="cb5-14"><a href="#cb5-14" aria-hidden="true" tabindex="-1"></a> <span class="op">}</span></span></code><button title="Copy to Clipboard" class="code-copy-button"><i class="bi"></i></button></pre></div>
412412
<p>Finally, create an instance of the class and connect the custom functions to it, while also adding them to the parser:</p>

0 commit comments

Comments
 (0)