force use of pandoc version >= 3.1.12.2

The `bin/pandoc-wrapper.sh` tool will verify that the ssytem
has a recent enough version of `pandoc(1)`.

We explain why we insist on `pandoc(1)`. version >= 3.1.12.2
in comments where the $PANDOC_MIN_VERSION is set.

Added `--wrap=preserve` as a default argument to `pandoc(1)`.
While this change will impact every HTML file generated,
we believe this will improve the ability of someone to look
at the generated HTML and correlate with the original markdown.

Changed `bin/pandoc-wrapper.sh` VERSION from "1.4.2 2024-03-17"
to "1.4.3 2024-03-18".

Performed `make www` to achieve all of the above and to generate
HTML using the new  `--wrap=preserve` `pandoc(1)` mode.
This commit is contained in:
Landon Curt Noll committed 2024-03-18 01:26:39 -07:00
1 parent 9eb7a54e9f
commit b0b212acb1
402 files changed
+37061 -55132

No files matched your search

+48 -78
View File
@@ -130,8 +130,8 @@
<h2 id="author"><a name="author"></a>Author:</h2>
<ul>
<li>Name: <a href="../../authors.html#Qiming_HOU">Qiming HOU</a><br>
Location: <a href="../../location.html#CN">CN</a> - <em>People’s
Republic of China</em> (<em>China</em>) <br><br></li>
Location: <a href="../../location.html#CN">CN</a> - <em>People’s Republic of China</em> (<em>China</em>)
<br><br></li>
</ul>
<!-- END: next line ends content generated by: bin/output-index-author.sh -->
@@ -144,20 +144,19 @@ Republic of China</em> (<em>China</em>) <br><br></li>
<h3 id="bugs-and-misfeatures">Bugs and (Mis)features:</h3>
<p>The current status of this entry is:</p>
<pre><code>STATUS: INABIAF - please **DO NOT** fix</code></pre>
<p>For more detailed information see <a
href="../../bugs.html#2015_hou">2015 hou bugs</a>.</p>
<p>For more detailed information see <a href="../../bugs.html#2015_hou">2015 hou bugs</a>.</p>
<h2 id="to-use">To use:</h2>
<div class="sourceCode" id="cb3"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb3-1"><a href="#cb3-1" aria-hidden="true" tabindex="-1"></a><span class="bu">echo</span> something <span class="kw">|</span> <span class="ex">./prog</span></span>
<span id="cb3-2"><a href="#cb3-2" aria-hidden="true" tabindex="-1"></a><span class="ex">./prog</span> <span class="op">&lt;</span> file</span></code></pre></div>
<h2 id="try">Try:</h2>
<div class="sourceCode" id="cb4"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb4-1"><a href="#cb4-1" aria-hidden="true" tabindex="-1"></a><span class="ex">./try.sh</span></span></code></pre></div>
<h2 id="judges-remarks">Judges’ remarks:</h2>
<p>A good start for understanding this entry might be <a
href="rfc1321.txt">rfc1321.txt</a>. How does it compute this using only
a single looping construct? The original reference source code for this
algorithm is about 355 lines of code, yet this entry is only 199 lines
with one statement per line and it isn’t using lots of macro expansion
tricks like the reference code!</p>
<p>A good start for understanding this entry might be
<a href="rfc1321.txt">rfc1321.txt</a>. How does it compute this using only a
single looping construct? The original reference source code for this
algorithm is about 355 lines of code, yet this entry is only 199 lines with
one statement per line and it isn’t using lots of macro expansion tricks like
the reference code!</p>
<p>Some things that make you go, “huh?”</p>
<div class="sourceCode" id="cb5"><pre class="sourceCode sh"><code class="sourceCode bash"><span id="cb5-1"><a href="#cb5-1" aria-hidden="true" tabindex="-1"></a><span class="ex">./prog</span> <span class="op">&lt;</span> prog.c <span class="kw">|</span> <span class="fu">cut</span> <span class="at">-c-5</span></span>
<span id="cb5-2"><a href="#cb5-2" aria-hidden="true" tabindex="-1"></a><span class="ex">./prog</span> <span class="op">&lt;</span> Makefile <span class="kw">|</span> <span class="fu">cut</span> <span class="at">-c-4</span></span></code></pre></div>
@@ -168,108 +167,79 @@ tricks like the reference code!</p>
<h2 id="authors-remarks">Author’s remarks:</h2>
<p>This looks like a normal C program.</p>
<p>Almost everything is a <code>double</code>.</p>
<p>There are tell-tale signs like <code>pow(2,(?/12))</code> and
<code>exp(-?*?)</code> (names redacted). You can also find a bunch of
cosines and polynomial evaluations.</p>
<p>There are tell-tale signs like <code>pow(2,(?/12))</code> and <code>exp(-?*?)</code> (names redacted).
You can also find a bunch of cosines and polynomial evaluations.</p>
<p>It looks like a ????? ???????????, right?</p>
<p>Run and find out.</p>
<h3 id="why-obfuscated">Why obfuscated</h3>
<p>Some poor scripting folks only have access to doubles (Jav?script,
L?a, BA?IC, etc.).</p>
<p>As a C programmer, I feel obliged to show a gesture of sympathy, to
experience their pain and provide an answer.</p>
<p>Except when absolutely necessary (<code>printf</code>,
<code>int main()</code>, array indexing), there isn’t a single integer.
Even <code>getchar()</code> and <code>EOF</code> are immediately
converted.</p>
<p>Since <code>bool</code> counts as an integer type too, there is no
boolean either. No comparison, no <code>if</code>, no <code>?:</code>,
no <code>||</code> <code>&amp;&amp;</code>. Everything is done in a
single loop that terminates on <code>printf(3)</code>. Straight up
arithmetic.</p>
<p><code>floor(3)</code> and <code>ceil(3)</code> are technically
double-to-double functions, but they feel like cheating. Yes
<code>cos(3)</code>, no <code>floor(3)</code>.</p>
<p>Some poor scripting folks only have access to doubles (Jav?script, L?a, BA?IC,
etc.).</p>
<p>As a C programmer, I feel obliged to show a gesture of sympathy, to experience
their pain and provide an answer.</p>
<p>Except when absolutely necessary (<code>printf</code>, <code>int main()</code>, array indexing), there
isn’t a single integer. Even <code>getchar()</code> and <code>EOF</code> are immediately converted.</p>
<p>Since <code>bool</code> counts as an integer type too, there is no boolean either. No
comparison, no <code>if</code>, no <code>?:</code>, no <code>||</code> <code>&amp;&amp;</code>. Everything is done in a single loop
that terminates on <code>printf(3)</code>. Straight up arithmetic.</p>
<p><code>floor(3)</code> and <code>ceil(3)</code> are technically double-to-double functions, but they feel
like cheating. Yes <code>cos(3)</code>, no <code>floor(3)</code>.</p>
<h3 id="limitations">Limitations</h3>
<p>Hard requirements:</p>
<ul>
<li><p>The platform must implement the <code>double</code> type as
IEEE754-compliant 64-bit floating point numbers. The 80-bit intermediate
format used by x87 is considered as an violation of this. The code
should print an error message on such platforms.</p></li>
<li><p>The program must start with the CPU / FPU in round-to-nearest
mode.</p></li>
<li><p>The platform must implement the <code>double</code> type as IEEE754-compliant 64-bit
floating point numbers. The 80-bit intermediate format used by x87 is
considered as an violation of this. The code should print an error message on
such platforms.</p></li>
<li><p>The program must start with the CPU / FPU in round-to-nearest mode.</p></li>
</ul>
<p>Soft requirements:</p>
<ul>
<li><p>The compiler must respect <code>volatile</code>. The code is
formatted to warn about that, though.</p></li>
<li><p>The printed result is only correct on little-endian machines. The
program takes care to warn about this issue after printing an incorrect
big-endian result. Error messages become garbled, though.</p></li>
<li><p>The compiler must respect <code>volatile</code>. The code is formatted to warn about
that, though.</p></li>
<li><p>The printed result is only correct on little-endian machines. The program
takes care to warn about this issue after printing an incorrect big-endian
result. Error messages become garbled, though.</p></li>
</ul>
<p>Tested platforms:</p>
<ul>
<li>Linux 3.18.7, Rasperberry Pi 2, clang 3.0-6.2, (works)</li>
<li>Linux 3.18.7, Rasperberry Pi 2, gcc 4.6.3, (works)</li>
<li>Mac OS X 10, x64, Apple LLVM version 6.1.0 (clang-602.0.53),
(works)</li>
<li>Mac OS X 10, x64, Apple LLVM version 6.1.0 (clang-602.0.53), (works)</li>
<li>Windows 8.1, x86, MSVC 2012 (works)<br />
</li>
<li>Windows 8.1, x64, MSVC 2012 (works)</li>
<li>Windows 8.1, x86, MinGW gcc 4.6.2 (fails, prints error message)</li>
<li>Windows 8.1, x86, MinGW gcc 4.6.2 with -msse2 -mfpmath=sse
(works)</li>
<li>Windows 8.1, x86, MinGW gcc 4.6.2 with -msse2 -mfpmath=sse (works)</li>
</ul>
<h2 id="copyright-and-cc-by-sa-4.0-license">Copyright and CC BY-SA 4.0
License:</h2>
<p>This file is Copyright (c) 2023 by Landon Curt Noll. All Rights
Reserved. You are free to share and adapt this file under the terms of
this license:</p>
<h2 id="copyright-and-cc-by-sa-4.0-license">Copyright and CC BY-SA 4.0 License:</h2>
<p>This file is Copyright (c) 2023 by Landon Curt Noll. All Rights Reserved.
You are free to share and adapt this file under the terms of this license:</p>
<pre><code>Creative Commons Attribution-ShareAlike 4.0 International (CC BY-SA 4.0)</code></pre>
<p>For more information, see:
https://creativecommons.org/licenses/by-sa/4.0/</p>
<p>For more information, see: https://creativecommons.org/licenses/by-sa/4.0/</p>
<!-- END: this line ends content for HTML phase 21 by: bin/pandoc-wrapper.sh via bin/md2html.sh -->
<!-- START: this line starts content for HTML phase 22 by: bin/output-index-inventory.sh via bin/md2html.sh -->
<!-- START: this line starts content generated by: bin/output-index-inventory.sh -->
<h1 id="inventory-for-2015hou"><a name="inventory"></a>Inventory for
2015/hou</h1>
<h1 id="inventory-for-2015hou"><a name="inventory"></a>Inventory for 2015/hou</h1>
<p><a href="#top">Jump to top</a></p>
<h2 id="primary-files">Primary files</h2>
<ul>
<li><a
href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2015/hou/prog.c">prog.c</a>
- entry source</li>
<li><a
href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2015/hou/Makefile">Makefile</a>
- entry Makefile</li>
<li><a
href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2015/hou/prog.orig.c">prog.orig.c</a>
- original source</li>
<li><a
href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2015/hou/try.sh">try.sh</a>
- how to run</li>
<li><a href="rfc1321.txt">rfc1321.txt</a> - RFC 1321 - MD5
Message-Digest Algorithm</li>
<li><a href="2015_hou.tar.bz2">2015_hou.tar.bz2</a> - download entry
source</li>
<li><a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2015/hou/prog.c">prog.c</a> - entry source</li>
<li><a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2015/hou/Makefile">Makefile</a> - entry Makefile</li>
<li><a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2015/hou/prog.orig.c">prog.orig.c</a> - original source</li>
<li><a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2015/hou/try.sh">try.sh</a> - how to run</li>
<li><a href="rfc1321.txt">rfc1321.txt</a> - RFC 1321 - MD5 Message-Digest Algorithm</li>
<li><a href="2015_hou.tar.bz2">2015_hou.tar.bz2</a> - download entry source</li>
</ul>
<h2 id="secondary-files">Secondary files</h2>
<ul>
<li><a href="index.html">index.html</a> - entry home page</li>
<li><a
href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2015/hou/.entry.json">.entry.json</a>
- description of entry in JSON</li>
<li><a
href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2015/hou/.gitignore">.gitignore</a>
- list of files that should not be committed under git</li>
<li><a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2015/hou/.entry.json">.entry.json</a> - description of entry in JSON</li>
<li><a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2015/hou/.gitignore">.gitignore</a> - list of files that should not be committed under git</li>
<li><a href=".path">.path</a> - directory path from top directory</li>
<li><a
href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2015/hou/README.md">README.md</a>
- markdown source for index.html</li>
<li><a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2015/hou/README.md">README.md</a> - markdown source for index.html</li>
<li><a href="large">large</a> - large input data</li>
</ul>