Fixes in 2006 html files and some of 2011

This commit is contained in:
Cody Boone Ferguson committed 2024-10-08 12:34:18 -07:00
1 parent 35038a63bd
commit 75829b4561
18 files changed
+347 -180

No files matched your search

+17 -13
View File
@@ -147,20 +147,24 @@ as you like (as understood by the C function `isspace()`).
Supported operations and functions are:
```
Operation | Description
- `+`, `-`, `*`, `/`
- Arithmetic operations, priority of * , / over +,- is respected.
- `<,>`
- Compares the real parts of two complex numbers (the imaginary part
is ignored). Any number of conditions is allowed, the iteration will
just stop as soon as one of them fails.
- `Abs2`
- Calculates the squared norm, i.e.: `Abs2(a+b*i)` is `(a*a+b*b)+0*i`.
- `Re`
- Extract the real part, i.e.: `Re(a+b*i)` is `a+0*i`.
- `Im`
- Extract the imaginary part, i.e.: `Im(a+b*i)` is` b+0*i`.
- `Exp`
- Calculates the complex exponential, i.e. `Exp(a+b*i)` is `e^a*(cos(b)+sin(b)*i)`.
+,-,*,/ | Arithmetic operations, priority of * , / over +,- is respected.
<,> | Compares the real parts of two complex numbers (the imaginary part
| is ignored). Any number of conditions is allowed, the iteration will
| just stop as soon as one of them fails.
Abs2 | Calculates the squared norm, i.e.: Abs2(a+b*i) is (a*a+b*b)+0*i.
Re | Extract the real part, i.e.: Re(a+b*i) is a+0*i.
Im | Extract the imaginary part, i.e.: Im(a+b*i) is b+0*i.
Exp | Calculates the complex exponential, i.e. Exp(a+b*i) is e^a*(cos(b)+sin(b)*i).
Ln | Calculates the principal value of the natural logarithm
| i.e. Ln(a+b*i) is ln(a*a+b*b)/2 + atan(b/a)*i.
```
- `Ln`
- Calculates the principal value of the natural logarithm i.e. `Ln(a+b*i)`
is `ln(a*a+b*b)/2 + atan(b/a)*i`.
Here are a few examples of fractals you can draw:
+33 -12
View File
@@ -491,18 +491,39 @@ expression must be an assignment (<code>[variable] = [expr]</code>) or a compari
<code>&lt;</code> or <code>&gt;</code> (<code>[expr1] &lt; [expr2]</code> or <code>[expr1] &gt; [expr2]</code>), and you can add spaces
as you like (as understood by the C function <code>isspace()</code>).</p>
<p>Supported operations and functions are:</p>
<pre><code> Operation | Description
+,-,*,/ | Arithmetic operations, priority of * , / over +,- is respected.
&lt;,&gt; | Compares the real parts of two complex numbers (the imaginary part
| is ignored). Any number of conditions is allowed, the iteration will
| just stop as soon as one of them fails.
Abs2 | Calculates the squared norm, i.e.: Abs2(a+b*i) is (a*a+b*b)+0*i.
Re | Extract the real part, i.e.: Re(a+b*i) is a+0*i.
Im | Extract the imaginary part, i.e.: Im(a+b*i) is b+0*i.
Exp | Calculates the complex exponential, i.e. Exp(a+b*i) is e^a*(cos(b)+sin(b)*i).
Ln | Calculates the principal value of the natural logarithm
| i.e. Ln(a+b*i) is ln(a*a+b*b)/2 + atan(b/a)*i.</code></pre>
<ul>
<li><code>+</code>, <code>-</code>, <code>*</code>, <code>/</code>
<ul>
<li>Arithmetic operations, priority of * , / over +,- is respected.</li>
</ul></li>
<li><code>&lt;,&gt;</code>
<ul>
<li>Compares the real parts of two complex numbers (the imaginary part
is ignored). Any number of conditions is allowed, the iteration will
just stop as soon as one of them fails.</li>
</ul></li>
<li><code>Abs2</code>
<ul>
<li>Calculates the squared norm, i.e.: <code>Abs2(a+b*i)</code> is <code>(a*a+b*b)+0*i</code>.</li>
</ul></li>
<li><code>Re</code>
<ul>
<li>Extract the real part, i.e.: <code>Re(a+b*i)</code> is <code>a+0*i</code>.</li>
</ul></li>
<li><code>Im</code>
<ul>
<li>Extract the imaginary part, i.e.: <code>Im(a+b*i)</code> is<code>b+0*i</code>.</li>
</ul></li>
<li><code>Exp</code>
<ul>
<li>Calculates the complex exponential, i.e. <code>Exp(a+b*i)</code> is <code>e^a*(cos(b)+sin(b)*i)</code>.</li>
</ul></li>
<li><code>Ln</code>
<ul>
<li>Calculates the principal value of the natural logarithm i.e. <code>Ln(a+b*i)</code>
is <code>ln(a*a+b*b)/2 + atan(b/a)*i</code>.</li>
</ul></li>
</ul>
<p>Here are a few examples of fractals you can draw:</p>
<ul>
<li>Mandelbrot:</li>
+1 -1
View File
@@ -4,7 +4,7 @@
make
```
There is an alternate version that supports arrow keys. See the [alternate
There is an alternate version that supports arrow keys. See the [Alternate
code](#alternate-code) section below.
+1 -1
View File
@@ -410,7 +410,7 @@ Location: <a href="../../location.html#US">US</a> - <em>United States of America
<!-- BEFORE: 1st line of markdown file: 2006/night/README.md -->
<h2 id="to-build">To build:</h2>
<pre><code> make</code></pre>
<p>There is an alternate version that supports arrow keys. See the <a href="#alternate-code">alternate
<p>There is an alternate version that supports arrow keys. See the <a href="#alternate-code">Alternate
code</a> section below.</p>
<h2 id="to-use">To use:</h2>
<pre><code> ./night</code></pre>
+5 -5
View File
@@ -5,7 +5,7 @@
```
We recommend the alt version so that you can see what this looked like back in 2006.
If you wish to see the original faster version see [original
If you wish to see the original faster version see [Original
code](#original-code) below.
@@ -29,7 +29,7 @@ it. To do so try:
./sloane.alt
```
If you wish to make it like the original, as if the below [Original
If you wish to make it like the original, as if the below [original
code](#original-code) was being used, you can do:
``` <!---sh-->
@@ -57,13 +57,13 @@ Should you wish to see the original you may do so with the original code,
./sloane
```
WARNING: if you are easily overstimulated with fast movement or have
**WARNING**: if you are easily overstimulated with fast movement or have
photosensitivity please be careful running this version and instead see the
above!
NOTE: again as above, to see what is going on, we recommend that you instead use
**NOTE**: again as above, to see what is going on, we recommend that you instead use
the alternate code which we described in the [To build](#to-build) and
[try](#try) sections above.
[Try](#try) sections above.
## Judges' Comments:
+5 -5
View File
@@ -411,7 +411,7 @@ Location: <a href="../../location.html#US">US</a> - <em>United States of America
<h2 id="to-build">To build:</h2>
<pre><code> make alt</code></pre>
<p>We recommend the alt version so that you can see what this looked like back in 2006.
If you wish to see the original faster version see <a href="#original-code">original
If you wish to see the original faster version see <a href="#original-code">Original
code</a> below.</p>
<h2 id="to-use">To use:</h2>
<pre><code> ./slone.alt</code></pre>
@@ -423,7 +423,7 @@ value used in <code>usleep()</code>. The default is <code>75000</code> but you c
it. To do so try:</p>
<pre><code> make clobber SLEEP=70000 clobber alt
./sloane.alt</code></pre>
<p>If you wish to make it like the original, as if the below <a href="#original-code">Original
<p>If you wish to make it like the original, as if the below <a href="#original-code">original
code</a> was being used, you can do:</p>
<pre><code> make SLEEP=0 clobber alt
./sloane.alt</code></pre>
@@ -434,12 +434,12 @@ code</a> was being used, you can do:</p>
<pre><code> make clobber all</code></pre>
<h3 id="original-use">Original use:</h3>
<pre><code> ./sloane</code></pre>
<p>WARNING: if you are easily overstimulated with fast movement or have
<p><strong>WARNING</strong>: if you are easily overstimulated with fast movement or have
photosensitivity please be careful running this version and instead see the
above!</p>
<p>NOTE: again as above, to see what is going on, we recommend that you instead use
<p><strong>NOTE</strong>: again as above, to see what is going on, we recommend that you instead use
the alternate code which we described in the <a href="#to-build">To build</a> and
<a href="#try">try</a> sections above.</p>
<a href="#try">Try</a> sections above.</p>
<h2 id="judges-comments">Judges’ Comments:</h2>
<p>Looks almost good enough to eat, dunnit? I suppose you could argue that,
at first blush, this looks like a self-reproducing program.</p>
+11 -7
View File
@@ -32,9 +32,9 @@ where `file` is one of:
> spirals3 spirals4 squares stars stars2<br>
> tree tree2 tree3 tree4 triangle
NOTE: you cannot specify a different width from height; it's one number.
**NOTE**: you cannot specify a different width from height; it's one number.
NOTE: `convert(1)` belongs to [ImageMagick](https://imagemagick.org/index.php).
**NOTE**: `convert(1)` belongs to [ImageMagick](https://imagemagick.org/index.php).
## Try:
@@ -74,11 +74,13 @@ The program should be run with the following
where:
```
m = The size of the picture (picture will be m X m in size).
n = The number of iterations to run (More will make for a clearer picture).
ifs = The file to use as input.
```
- `m`
- The size of the picture (picture will be m X m in size).
- `n`
- The number of iterations to run (More will make for a clearer picture).
- `ifs`
- The file to use as input.
The program will spit out an [XBM image](https://en.wikipedia.org/wiki/X_BitMap)
on standard out. Minimal checking is done on the arguments mainly that there
@@ -154,6 +156,8 @@ Included in my submission will be a tarball of some IFS files,
including one that attempts (not very well) to mimic the IOCCC logo
(I figure it can't hurt to attempt to suck up, right?).
(**NOTE from Judges**: we extracted the files.)
I would try to explain how to create an IFS file but I am not smart
enough to condense it down to something that is coherent.
+17 -5
View File
@@ -430,8 +430,8 @@ pentagons rings rings2 spirals spirals2<br>
spirals3 spirals4 squares stars stars2<br>
tree tree2 tree3 tree4 triangle</p>
</blockquote>
<p>NOTE: you cannot specify a different width from height; it’s one number.</p>
<p>NOTE: <code>convert(1)</code> belongs to <a href="https://imagemagick.org/index.php">ImageMagick</a>.</p>
<p><strong>NOTE</strong>: you cannot specify a different width from height; it’s one number.</p>
<p><strong>NOTE</strong>: <code>convert(1)</code> belongs to <a href="https://imagemagick.org/index.php">ImageMagick</a>.</p>
<h2 id="try">Try:</h2>
<pre><code> ./try.sh</code></pre>
<p>After running the program on a few files it will ask you if you wish to run it
@@ -452,9 +452,20 @@ a reasonably experienced user who can parse formats in their mind. :-)</p>
<p>The program should be run with the following</p>
<pre><code> ./stewart &lt;m&gt; &lt;n&gt; &lt;ifs&gt;</code></pre>
<p>where:</p>
<pre><code> m = The size of the picture (picture will be m X m in size).
n = The number of iterations to run (More will make for a clearer picture).
ifs = The file to use as input.</code></pre>
<ul>
<li><code>m</code>
<ul>
<li>The size of the picture (picture will be m X m in size).</li>
</ul></li>
<li><code>n</code>
<ul>
<li>The number of iterations to run (More will make for a clearer picture).</li>
</ul></li>
<li><code>ifs</code>
<ul>
<li>The file to use as input.</li>
</ul></li>
</ul>
<p>The program will spit out an <a href="https://en.wikipedia.org/wiki/X_BitMap">XBM image</a>
on standard out. Minimal checking is done on the arguments mainly that there
are 3. Wrong arguments will cause the program to bomb out.</p>
@@ -500,6 +511,7 @@ another kind of fractal, those from the IFS:
<p>Included in my submission will be a tarball of some IFS files,
including one that attempts (not very well) to mimic the IOCCC logo
(I figure it can’t hurt to attempt to suck up, right?).</p>
<p>(<strong>NOTE from Judges</strong>: we extracted the files.)</p>
<p>I would try to explain how to create an IFS file but I am not smart
enough to condense it down to something that is coherent.</p>
<p>Basically the break down is:</p>
+1 -1
View File
@@ -46,7 +46,7 @@ string actually forms part of the lookup table.
Intel CC warns about the lack of a declaration for the argument to `main()`.
(`gcc` does not notice this though, even with `-Wall`.) But anyway it can
easily be declared as int at the expense of 4 more characters.
easily be declared as `int` at the expense of 4 more characters.
I'm not sure of the effects on a hard disk of rewriting the same file
multiple times per second for a long time. Run at your own risk!
+1 -1
View File
@@ -432,7 +432,7 @@ of brackets to a minimum, and to keep the character count as low as possible.</p
string actually forms part of the lookup table.</p>
<p>Intel CC warns about the lack of a declaration for the argument to <code>main()</code>.
(<code>gcc</code> does not notice this though, even with <code>-Wall</code>.) But anyway it can
easily be declared as int at the expense of 4 more characters.</p>
easily be declared as <code>int</code> at the expense of 4 more characters.</p>
<p>I’m not sure of the effects on a hard disk of rewriting the same file
multiple times per second for a long time. Run at your own risk!</p>
<!--
+61 -34
View File
@@ -147,10 +147,15 @@ by the provided C.BIOS.
To get a complete [CP/M](https://en.wikipedia.org/wiki/CP/M) system, you will need the following files
from the `SOURCE` directory:
```
ASM.COM DDT.COM DUMP.COM ED.COM LOAD.COM
PIP.COM STAT.COM SUBMIT.COM XSUB.COM
```
- `ASM.COM`
- `DDT.COM`
- `DUMP.COM`
- `ED.COM`
- `LOAD.COM`
- `PIP.COM`
- `STAT.COM`
- `SUBMIT.COM`
- `XSUB.COM`
To import them, you must run the emulator with an argument, by
example:
@@ -195,23 +200,26 @@ bit 2) and `C` (Carry, bit 0).
It is easy if your platform has `getch()`/`kbhit()` and
ANSI terminal:
```
read --> Z=kbhit()?getch():0
write --> putchar(7[o])
system --> nothing
```
- `read`
- `Z=kbhit()?getch():0`
- `write`
- `putchar(7[o])`
- `system`
- nothing
Notice that you'll have to do `#include <conio.h>` as well.
Also add the following to trap Ctrl-C:
``` <!---c-->
#include <signal.h>
signal(SIGINT, SIG_IGN);
```
NOTE: this is what the [alternate code](#alternate-code) is for!
**NOTE**: this is what the [alternate code](#alternate-code) is for!
NOTE from the judges: in Unix like systems `getch()` is part of curses but this
**NOTE from the Judges**: in Unix like systems `getch()` is part of curses but this
is not what is needed.
On PC/DOS you need to add `ANSI.SYS` to `CONFIG.SYS`.
@@ -238,35 +246,54 @@ main loop reads every [opcode](https://en.wikipedia.org/wiki/Opcode) and
separates them in one of three common forms. A lot of ternary operators selects
the instruction.
```
o[0] = B register o[1] = C register
o[2] = D register o[3] = E register
o[4] = H register o[5] = L register
o[6] = Flags o[7] = A or accumulator
```
- `o[0]`
- B register
- `o[1]`
- C register
- `o[2]`
- D register
- `o[3]`
- E register
- `o[4]`
- H register
- `o[5]`
- L register
- `o[6]`
- Flags
- `o[7]`
- A or accumulator
The following instructions do peripheral operation:
```
76 Quits emulator
DB 00 Reads key pressed status
DB 01 Reads key
DB 02 Reads byte from file (Carry=EOF)
D3 xx Writes byte from acc. to console
ED ED 02 Reads sector
ED ED 03 Writes sector
```
- `76`
- Quits emulator
- `DB 00`
- Reads key pressed status
- `DB 01`
- Reads key
- `DB 02`
- Reads byte from file (Carry=EOF)
- `D3 xx`
- Writes byte from acc. to console
- `ED ED 02`
- Reads sector
- `ED ED 03`
- Writes sector
Memory addresses:
```
FBFA = Low source/target direction
FBFB - High source/target direction
FBFC - Sector
FBFD - Low cylinder
FBFE - High cylinder
FBFF - Drive.
```
- `FBFA`
- Low source/target direction
- `FBFB`
- High source/target direction
- `FBFC`
- Sector
- `FBFD`
- Low cylinder
- `FBFE`
- High cylinder
- `FBFF`
- Drive.
The BIOS is tailor made for this emulator, and helps to simplify it.
+119 -26
View File
@@ -502,8 +502,17 @@ two files on A: drive, <code>HALT.COM</code> to stop the emulator (so it closes
by the provided C.BIOS.</p>
<p>To get a complete <a href="https://en.wikipedia.org/wiki/CP/M">CP/M</a> system, you will need the following files
from the <code>SOURCE</code> directory:</p>
<pre><code> ASM.COM DDT.COM DUMP.COM ED.COM LOAD.COM
PIP.COM STAT.COM SUBMIT.COM XSUB.COM</code></pre>
<ul>
<li><code>ASM.COM</code></li>
<li><code>DDT.COM</code></li>
<li><code>DUMP.COM</code></li>
<li><code>ED.COM</code></li>
<li><code>LOAD.COM</code></li>
<li><code>PIP.COM</code></li>
<li><code>STAT.COM</code></li>
<li><code>SUBMIT.COM</code></li>
<li><code>XSUB.COM</code></li>
</ul>
<p>To import them, you must run the emulator with an argument, by
example:</p>
<pre><code> ./toledo2 DDT.COM</code></pre>
@@ -530,15 +539,26 @@ bit 2) and <code>C</code> (Carry, bit 0).</p>
<h3 id="porting-it">Porting it</h3>
<p>It is easy if your platform has <code>getch()</code>/<code>kbhit()</code> and
ANSI terminal:</p>
<pre><code> read --&gt; Z=kbhit()?getch():0
write --&gt; putchar(7[o])
system --&gt; nothing</code></pre>
<ul>
<li><code>read</code>
<ul>
<li><code>Z=kbhit()?getch():0</code></li>
</ul></li>
<li><code>write</code>
<ul>
<li><code>putchar(7[o])</code></li>
</ul></li>
<li><code>system</code>
<ul>
<li>nothing</li>
</ul></li>
</ul>
<p>Notice that you’ll have to do <code>#include &lt;conio.h&gt;</code> as well.</p>
<p>Also add the following to trap Ctrl-C:</p>
<pre><code>#include &lt;signal.h&gt;
signal(SIGINT, SIG_IGN);</code></pre>
<p>NOTE: this is what the <a href="#alternate-code">alternate code</a> is for!</p>
<p>NOTE from the judges: in Unix like systems <code>getch()</code> is part of curses but this
<pre><code> #include &lt;signal.h&gt;
signal(SIGINT, SIG_IGN);</code></pre>
<p><strong>NOTE</strong>: this is what the <a href="#alternate-code">alternate code</a> is for!</p>
<p><strong>NOTE from the Judges</strong>: in Unix like systems <code>getch()</code> is part of curses but this
is not what is needed.</p>
<p>On PC/DOS you need to add <code>ANSI.SYS</code> to <code>CONFIG.SYS</code>.</p>
<p>In Unix the min 0 on <code>stty</code> is required but circa 2001
@@ -555,25 +575,98 @@ counter</a> is the <code>c</code> pointer and
main loop reads every <a href="https://en.wikipedia.org/wiki/Opcode">opcode</a> and
separates them in one of three common forms. A lot of ternary operators selects
the instruction.</p>
<pre><code> o[0] = B register o[1] = C register
o[2] = D register o[3] = E register
o[4] = H register o[5] = L register
o[6] = Flags o[7] = A or accumulator</code></pre>
<ul>
<li><code>o[0]</code>
<ul>
<li>B register</li>
</ul></li>
<li><code>o[1]</code>
<ul>
<li>C register</li>
</ul></li>
<li><code>o[2]</code>
<ul>
<li>D register</li>
</ul></li>
<li><code>o[3]</code>
<ul>
<li>E register</li>
</ul></li>
<li><code>o[4]</code>
<ul>
<li>H register</li>
</ul></li>
<li><code>o[5]</code>
<ul>
<li>L register</li>
</ul></li>
<li><code>o[6]</code>
<ul>
<li>Flags</li>
</ul></li>
<li><code>o[7]</code>
<ul>
<li>A or accumulator</li>
</ul></li>
</ul>
<p>The following instructions do peripheral operation:</p>
<pre><code> 76 Quits emulator
DB 00 Reads key pressed status
DB 01 Reads key
DB 02 Reads byte from file (Carry=EOF)
D3 xx Writes byte from acc. to console
ED ED 02 Reads sector
ED ED 03 Writes sector</code></pre>
<ul>
<li><code>76</code>
<ul>
<li>Quits emulator</li>
</ul></li>
<li><code>DB 00</code>
<ul>
<li>Reads key pressed status</li>
</ul></li>
<li><code>DB 01</code>
<ul>
<li>Reads key</li>
</ul></li>
<li><code>DB 02</code>
<ul>
<li>Reads byte from file (Carry=EOF)</li>
</ul></li>
<li><code>D3 xx</code>
<ul>
<li>Writes byte from acc. to console</li>
</ul></li>
<li><code>ED ED 02</code>
<ul>
<li>Reads sector</li>
</ul></li>
<li><code>ED ED 03</code>
<ul>
<li>Writes sector</li>
</ul></li>
</ul>
<p>Memory addresses:</p>
<pre><code> FBFA = Low source/target direction
FBFB - High source/target direction
FBFC - Sector
FBFD - Low cylinder
FBFE - High cylinder
FBFF - Drive.</code></pre>
<ul>
<li><code>FBFA</code>
<ul>
<li>Low source/target direction</li>
</ul></li>
<li><code>FBFB</code>
<ul>
<li>High source/target direction</li>
</ul></li>
<li><code>FBFC</code>
<ul>
<li>Sector</li>
</ul></li>
<li><code>FBFD</code>
<ul>
<li>Low cylinder</li>
</ul></li>
<li><code>FBFE</code>
<ul>
<li>High cylinder</li>
</ul></li>
<li><code>FBFF</code>
<ul>
<li>Drive.</li>
</ul></li>
</ul>
<p>The BIOS is tailor made for this emulator, and helps to simplify it.</p>
<h3 id="other-notes">Other notes</h3>
<ul>
+7 -5
View File
@@ -4,13 +4,13 @@
make
```
NOTE: this entry requires the `X11/Xlib.h` header file and the X11 library to
**NOTE**: this entry requires the `X11/Xlib.h` header file and the X11 library to
compile. For more information see the
FAQ on "[X11](../../faq.html#X11)".
The author provided two alternate versions, one which adds a status bar and
another that makes it text only. The author also provided a version that they
tested with Windows. See [alternate code](#alternate-code) below.
tested with Windows. See [Alternate code](#alternate-code) below.
## To use:
@@ -140,10 +140,12 @@ play stronger?
### UPGRADES
Using [toledo3-sbar.c](%%REPO_URL%%/2006/toledo3/toledo3-sbar.c) (which is too large for this IOCCC size
rules) creates a status display about gameplay on the window title bar.
Using [toledo3-sbar.c](%%REPO_URL%%/2006/toledo3/toledo3-sbar.c) (which is too
large for this IOCCC's size rules) creates a status display about gameplay on
the window title bar.
Using [toledo3-txt.c](%%REPO_URL%%/2006/toledo3/toledo3-txt.c) turns this into being purely text based.
Using [toledo3-txt.c](%%REPO_URL%%/2006/toledo3/toledo3-txt.c) turns this into
being purely text based.
<!--
+7 -5
View File
@@ -410,12 +410,12 @@ Location: <a href="../../location.html#MX">MX</a> - <em>United Mexican States</e
<!-- BEFORE: 1st line of markdown file: 2006/toledo3/README.md -->
<h2 id="to-build">To build:</h2>
<pre><code> make</code></pre>
<p>NOTE: this entry requires the <code>X11/Xlib.h</code> header file and the X11 library to
<p><strong>NOTE</strong>: this entry requires the <code>X11/Xlib.h</code> header file and the X11 library to
compile. For more information see the
FAQ on “<a href="../../faq.html#X11">X11</a>”.</p>
<p>The author provided two alternate versions, one which adds a status bar and
another that makes it text only. The author also provided a version that they
tested with Windows. See <a href="#alternate-code">alternate code</a> below.</p>
tested with Windows. See <a href="#alternate-code">Alternate code</a> below.</p>
<h2 id="to-use">To use:</h2>
<pre><code> ./toledo3 [1 | 2 | 3 [b]]</code></pre>
<h2 id="try">Try:</h2>
@@ -492,9 +492,11 @@ graphical interface. Can you do it?</p>
<p>Can the evaluation function be enhanced to make the program
play stronger?</p>
<h3 id="upgrades">UPGRADES</h3>
<p>Using <a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2006/toledo3/toledo3-sbar.c">toledo3-sbar.c</a> (which is too large for this IOCCC size
rules) creates a status display about gameplay on the window title bar.</p>
<p>Using <a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2006/toledo3/toledo3-txt.c">toledo3-txt.c</a> turns this into being purely text based.</p>
<p>Using <a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2006/toledo3/toledo3-sbar.c">toledo3-sbar.c</a> (which is too
large for this IOCCC’s size rules) creates a status display about gameplay on
the window title bar.</p>
<p>Using <a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2006/toledo3/toledo3-txt.c">toledo3-txt.c</a> turns this into
being purely text based.</p>
<!--
Copyright © 1984-2024 by Landon Curt Noll. All Rights Reserved.
+5 -5
View File
@@ -21,7 +21,7 @@ For more detailed information see [2011/dlowe in bugs.html](../../bugs.html#2011
./dlowe -<n_iterations> corpus1/ [...] corpus0/ < start.net > trained.net
```
NOTE: In the above command, the directory args MUST end in a `/`.
**NOTE**: In the above command, the directory args MUST end in a `/`.
Then to use `trained.net`:
@@ -38,7 +38,7 @@ Try these pre-trained networks:
./try.sh
```
NOTE: The [dlowe-aux-data](%%REPO_URL%%/2011/dlowe/dlowe-aux-data) directory, which [try.sh](%%REPO_URL%%/2011/dlowe/try.sh) refers to, was
**NOTE**: The [dlowe-aux-data](%%REPO_URL%%/2011/dlowe/dlowe-aux-data) directory, which [try.sh](%%REPO_URL%%/2011/dlowe/try.sh) refers to, was
created by:
@@ -82,7 +82,7 @@ where:
- `ioccc_lost_test/`
1/2 of C code from entries that that did not win
NOTE: The above directories were not shipped and everything from the entries
**NOTE**: The above directories were not shipped and everything from the entries
that did not win were flushed to `/dev/null`.
The [earlystop.pl](%%REPO_URL%%/2011/dlowe/earlystop.pl) tool wrote:
@@ -103,7 +103,7 @@ test is interesting:
./dlowe dlowe.c < dlowe-aux-data/ioccc-winlose-trained.net
```
NOTE: this is done in [try.sh](%%REPO_URL%%/2011/dlowe/try.sh).
**NOTE**: this is done in [try.sh](%%REPO_URL%%/2011/dlowe/try.sh).
The match of [dlowe.c](%%REPO_URL%%/2011/dlowe/dlowe.c) to the lose/win trailed network was:
@@ -112,7 +112,7 @@ The match of [dlowe.c](%%REPO_URL%%/2011/dlowe/dlowe.c) to the lose/win trailed
dlowe.c 0.125108
```
NOTE: The non-artificially intelligent decisions of the IOCCC judges include random
**NOTE**: The non-artificially intelligent decisions of the IOCCC judges include random
quirks and their non-linear judgment calls not found in the ioccc trained network.
Just because C code is or isn't scored highly by this network does not
mean it will win or lose a future IOCCC. On the other hand ... it just might!
+5 -5
View File
@@ -419,13 +419,13 @@ Location: <a href="../../location.html#US">US</a> - <em>United States of America
<p>For more detailed information see <a href="../../bugs.html#2011_dlowe">2011/dlowe in bugs.html</a>.</p>
<h2 id="to-use">To use:</h2>
<pre><code> ./dlowe -&lt;n_iterations&gt; corpus1/ [...] corpus0/ &lt; start.net &gt; trained.net</code></pre>
<p>NOTE: In the above command, the directory args MUST end in a <code>/</code>.</p>
<p><strong>NOTE</strong>: In the above command, the directory args MUST end in a <code>/</code>.</p>
<p>Then to use <code>trained.net</code>:</p>
<pre><code> ./dlowe file [file ...] &lt; trained.net</code></pre>
<h2 id="try">Try:</h2>
<p>Try these pre-trained networks:</p>
<pre><code> ./try.sh</code></pre>
<p>NOTE: The <a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2011/dlowe/dlowe-aux-data">dlowe-aux-data</a> directory, which <a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2011/dlowe/try.sh">try.sh</a> refers to, was
<p><strong>NOTE</strong>: The <a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2011/dlowe/dlowe-aux-data">dlowe-aux-data</a> directory, which <a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2011/dlowe/try.sh">try.sh</a> refers to, was
created by:</p>
<pre><code> tar -jxf dlowe-aux-data.tar.bz2</code></pre>
<h2 id="judges-remarks">Judges’ remarks:</h2>
@@ -451,7 +451,7 @@ plus 1/2 of the C code winning entries from prior IOCCC contests</p></li>
<li><p><code>ioccc_lost_test/</code>
1/2 of C code from entries that that did not win</p></li>
</ul>
<p>NOTE: The above directories were not shipped and everything from the entries
<p><strong>NOTE</strong>: The above directories were not shipped and everything from the entries
that did not win were flushed to <code>/dev/null</code>.</p>
<p>The <a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2011/dlowe/earlystop.pl">earlystop.pl</a> tool wrote:</p>
<pre><code> training 1 to 1001...
@@ -462,10 +462,10 @@ that did not win were flushed to <code>/dev/null</code>.</p>
<p>The <a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2011/dlowe/dlowe.c">dlowe.c</a> was explicitly excluded from this trailing set, so this
test is interesting:</p>
<pre><code> ./dlowe dlowe.c &lt; dlowe-aux-data/ioccc-winlose-trained.net</code></pre>
<p>NOTE: this is done in <a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2011/dlowe/try.sh">try.sh</a>.</p>
<p><strong>NOTE</strong>: this is done in <a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2011/dlowe/try.sh">try.sh</a>.</p>
<p>The match of <a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2011/dlowe/dlowe.c">dlowe.c</a> to the lose/win trailed network was:</p>
<pre><code> dlowe.c 0.125108</code></pre>
<p>NOTE: The non-artificially intelligent decisions of the IOCCC judges include random
<p><strong>NOTE</strong>: The non-artificially intelligent decisions of the IOCCC judges include random
quirks and their non-linear judgment calls not found in the ioccc trained network.
Just because C code is or isn’t scored highly by this network does not
mean it will win or lose a future IOCCC. On the other hand … it just might!</p>
+27 -24
View File
@@ -2418,16 +2418,16 @@ opened. The number of args is however checked.</p>
<h3 id="source-code-2006sykes1sykes1.c">Source code: <a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2006/sykes1/sykes1.c">2006/sykes1/sykes1.c</a></h3>
<h3 id="information-2006sykes1index.html">Information: <a href="2006/sykes1/index.html">2006/sykes1/index.html</a></h3>
<p>The author stated:</p>
<pre><code> If you pick a number higher than 19186, the program will return a
solution but it will be a rotation of one of the first 19186. This is
because the cross shaped piece fits 48 ways in the 4x4 cube, but only
2 of those ways are unique - you can rotate one of those to make any
of the other 46. The algorithm used always places the cross piece
first, so the first two placings of that piece result in the 19186
unique solutions.
If you pick a number higher than 460464 (24x19186) the program will
return without outputting a solution. If you can wait that long.</code></pre>
<blockquote>
<p>If you pick a number higher than 19186, the program will return a solution but
it will be a rotation of one of the first 19186. This is because the cross
shaped piece fits 48 ways in the 4x4 cube, but only 2 of those ways are unique -
you can rotate one of those to make any of the other 46. The algorithm used
always places the cross piece first, so the first two placings of that piece
result in the 19186 unique solutions.</p>
<p>If you pick a number higher than 460464 (24x19186) the program will return
without outputting a solution. If you can wait that long.</p>
</blockquote>
<div id="2006_toledo2">
<h2 id="toledo2">2006/toledo2</h2>
</div>
@@ -2437,10 +2437,11 @@ opened. The number of args is however checked.</p>
<p><a href="authors.html#Cody_Boone_Ferguson">Cody Boone Ferguson</a> fixed this program to
not crash in macOS (it appeared to work fine in fedora linux on an <code>x86_64</code>
architecture but he does not know if it crashed in macOS Ventura due to the fact
it is an <code>arm64</code> CPU - the Apple silicon chip). This fix, BTW, is a mix of a fix
by <a href="authors.html#Yusuke_Endoh">Yusuke Endoh</a> and Cody’s. Nevertheless there are
two features that are not bugs. Later the author made some slight changes to
make it not crash in x86_64 macOS.</p>
it is an <code>arm64</code> CPU - the Apple silicon chip, but given that the author later
made some slight changes to make it not crash in <code>x86_64</code> macOS that might be
the case). This fix, BTW, is a mix of a fix by <a href="authors.html#Yusuke_Endoh">Yusuke
Endoh</a> and Cody’s.</p>
<p>Nevertheless there are two features that are not bugs.</p>
<p>By design this program is supposed to crash on termination. This actually no
longer seems to happen but we don’t need this to be added even if it might
be called a bug :-)</p>
@@ -2481,16 +2482,18 @@ case-sensitive.</p>
<h3 id="status-inabiaf---please-do-not-fix-58">STATUS: INABIAF - please <strong>DO NOT</strong> fix</h3>
<h3 id="source-code-2011borsanyiborsanyi.c">Source code: <a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2011/borsanyi/borsanyi.c">2011/borsanyi/borsanyi.c</a></h3>
<h3 id="information-2011borsanyiindex.html">Information: <a href="2011/borsanyi/index.html">2011/borsanyi/index.html</a></h3>
<p>For a great amount of data points the program will crash, depending on your
available stack space.</p>
<p>Giving too few (distinct) points can also cause a crash or division by zero.</p>
<p>The program expects plain numbers separated by whitespace.</p>
<p>This program assumes ASCII.</p>
<p>If you give the program any arg it might flood the screen.</p>
<p>It requires both syscalls <code>fork(2)</code> and <code>wait(2)</code>.</p>
<p>Giving any arg to the program is likely to flood your screen.</p>
<p>Rounding errors might cause an omission in the highest bin. There might be empty
bins at the edges.</p>
<ul>
<li><p>For a great amount of data points the program will crash, depending on your
available stack space.</p></li>
<li><p>Giving too few (distinct) points can also cause a crash or division by zero.</p></li>
<li><p>The program expects plain numbers separated by whitespace.</p></li>
<li><p>This program assumes ASCII.</p></li>
<li><p>If you give the program any arg it might flood the screen.</p></li>
<li><p>It requires both syscalls <code>fork(2)</code> and <code>wait(2)</code>.</p></li>
<li><p>Giving any arg to the program is likely to flood your screen.</p></li>
<li><p>Rounding errors might cause an omission in the highest bin. There might be
empty bins at the edges.</p></li>
</ul>
<div id="2011_dlowe">
<h2 id="dlowe-2">2011/dlowe</h2>
</div>
+24 -25
View File
@@ -2948,18 +2948,15 @@ opened. The number of args is however checked.
The author stated:
```
If you pick a number higher than 19186, the program will return a
solution but it will be a rotation of one of the first 19186. This is
because the cross shaped piece fits 48 ways in the 4x4 cube, but only
2 of those ways are unique - you can rotate one of those to make any
of the other 46. The algorithm used always places the cross piece
first, so the first two placings of that piece result in the 19186
unique solutions.
If you pick a number higher than 460464 (24x19186) the program will
return without outputting a solution. If you can wait that long.
```
> If you pick a number higher than 19186, the program will return a solution but
it will be a rotation of one of the first 19186. This is because the cross
shaped piece fits 48 ways in the 4x4 cube, but only 2 of those ways are unique -
you can rotate one of those to make any of the other 46. The algorithm used
always places the cross piece first, so the first two placings of that piece
result in the 19186 unique solutions.
>
> If you pick a number higher than 460464 (24x19186) the program will return
without outputting a solution. If you can wait that long.
<div id="2006_toledo2">
@@ -2974,10 +2971,12 @@ The author stated:
[Cody Boone Ferguson](authors.html#Cody_Boone_Ferguson) fixed this program to
not crash in macOS (it appeared to work fine in fedora linux on an `x86_64`
architecture but he does not know if it crashed in macOS Ventura due to the fact
it is an `arm64` CPU - the Apple silicon chip). This fix, BTW, is a mix of a fix
by [Yusuke Endoh](authors.html#Yusuke_Endoh) and Cody's. Nevertheless there are
two features that are not bugs. Later the author made some slight changes to
make it not crash in x86_64 macOS.
it is an `arm64` CPU - the Apple silicon chip, but given that the author later
made some slight changes to make it not crash in `x86_64` macOS that might be
the case). This fix, BTW, is a mix of a fix by [Yusuke
Endoh](authors.html#Yusuke_Endoh) and Cody's.
Nevertheless there are two features that are not bugs.
By design this program is supposed to crash on termination. This actually no
longer seems to happen but we don't need this to be added even if it might
@@ -3038,23 +3037,23 @@ There was no IOCCC in 2010.
### Source code: [2011/borsanyi/borsanyi.c](%%REPO_URL%%/2011/borsanyi/borsanyi.c)
### Information: [2011/borsanyi/index.html](2011/borsanyi/index.html)
For a great amount of data points the program will crash, depending on your
- For a great amount of data points the program will crash, depending on your
available stack space.
Giving too few (distinct) points can also cause a crash or division by zero.
- Giving too few (distinct) points can also cause a crash or division by zero.
The program expects plain numbers separated by whitespace.
- The program expects plain numbers separated by whitespace.
This program assumes ASCII.
- This program assumes ASCII.
If you give the program any arg it might flood the screen.
- If you give the program any arg it might flood the screen.
It requires both syscalls `fork(2)` and `wait(2)`.
- It requires both syscalls `fork(2)` and `wait(2)`.
Giving any arg to the program is likely to flood your screen.
- Giving any arg to the program is likely to flood your screen.
Rounding errors might cause an omission in the highest bin. There might be empty
bins at the edges.
- Rounding errors might cause an omission in the highest bin. There might be
empty bins at the edges.
<div id="2011_dlowe">