Merge pull request #2325 from xexyl/isaak88
This commit is contained in:
14 files changed
+134
-150
No files matched your search
@@ -42,12 +42,12 @@
|
||||
"entry_text" : "original source"
|
||||
},
|
||||
{
|
||||
"file_path" : "isaak.encode",
|
||||
"file_path" : "isaak.output.txt",
|
||||
"inventory_order" : 180,
|
||||
"OK_to_edit" : true,
|
||||
"display_as" : "xxencode",
|
||||
"display_via_github" : true,
|
||||
"entry_text" : "uuencoded sample output"
|
||||
"OK_to_edit" : false,
|
||||
"display_as" : "text",
|
||||
"display_via_github" : false,
|
||||
"entry_text" : "program output"
|
||||
},
|
||||
{
|
||||
"file_path" : "1988_isaak.tar.bz2",
|
||||
|
||||
+20
-17
@@ -18,8 +18,9 @@ code](#alternate-code) below.
|
||||
|
||||
## Alternate code:
|
||||
|
||||
The original version of this code is in [isaak.alt.c](%%REPO_URL%%/1988/isaak/isaak.alt.c).
|
||||
The original entry starts with the line:
|
||||
The original version of this code is in
|
||||
[isaak.alt.c](%%REPO_URL%%/1988/isaak/isaak.alt.c), with a minor fix so that it
|
||||
will compile. The original entry starts with the line:
|
||||
|
||||
``` <!---c-->
|
||||
main(){};
|
||||
@@ -29,10 +30,11 @@ This works on some systems. Why? Note that `#include <stdio.h>` is given on
|
||||
the last line. Why is this needed? Note the unusual calls to `sprintf(3)`.
|
||||
|
||||
This version also relied on being able to define `#define` to something else and
|
||||
using that macro for `#define`.
|
||||
using that macro for `#define`. This was fixed, however, so that you can at
|
||||
least compile it in modern systems.
|
||||
|
||||
This version will not likely work on modern systems if you can even get it to
|
||||
compile.
|
||||
This version will not likely work on modern systems even though you should be
|
||||
able to compile it.
|
||||
|
||||
|
||||
### Alternate build:
|
||||
@@ -41,6 +43,9 @@ compile.
|
||||
make alt
|
||||
```
|
||||
|
||||
|
||||
### Alternate use:
|
||||
|
||||
Use `isaak.alt` as you would `isaak` above.
|
||||
|
||||
|
||||
@@ -49,11 +54,13 @@ Use `isaak.alt` as you would `isaak` above.
|
||||
The program relies heavily on ASCII. Don't even think of running it on
|
||||
an EBCDIC machine.
|
||||
|
||||
### Historical notes about the original entry:
|
||||
|
||||
NOTE: If you named the file anything other than [isaak.c](%%REPO_URL%%/1988/isaak/isaak.c), you had to
|
||||
change the `#include` on line 6. This limitation has been fixed by using the
|
||||
`__FILE__` macro.
|
||||
### Historical notes about the original entry
|
||||
|
||||
NOTE: If you named the file anything other than `isaak.c`, you had to
|
||||
change the `#include` on line 6. This limitation has been fixed in
|
||||
[isaak.c](%%REPO_URL%%/1988/isaak/isaak.c) and
|
||||
[isaak.alt.c](%%REPO_URL%%/1988/isaak/isaak.alt.c) by using the `__FILE__` macro.
|
||||
|
||||
NOTE: The use of null comments to separate macros to construct different tokens
|
||||
from a single macro (e.g., `"O/**/O"` creates either `++` or `--` by defining
|
||||
@@ -62,15 +69,11 @@ from a single macro (e.g., `"O/**/O"` creates either `++` or `--` by defining
|
||||
NOTE: Most System V machines were not be able to execute this program correctly
|
||||
due to the fact that BSD style systems have an `sprintf(3)` that returns a `char
|
||||
*`. Due to the above problems, we placed the output of this program in the
|
||||
file: isaak.encode. To read this file do.
|
||||
file [isaak.output.txt](isaak.output.txt).
|
||||
|
||||
``` <!---sh-->
|
||||
uudecode < isaak.encode
|
||||
cat isaak.output
|
||||
```
|
||||
|
||||
Since this was fixed, this file is not strictly necessary. See the
|
||||
[isaak.alt.c](%%REPO_URL%%/1988/isaak/isaak.alt.c) for the original source.
|
||||
Since this was fixed, this file is not strictly necessary, but we keep it for
|
||||
historical purposes (decoded as it used to be uuencoded). See the
|
||||
[isaak.orig.c](%%REPO_URL%%/1988/isaak/isaak.orig.c) for the original source.
|
||||
|
||||
FYI: We are likely to be more strict about portability in the future.
|
||||
|
||||
|
||||
+18
-15
@@ -403,35 +403,38 @@ code</a> below.</p>
|
||||
<h2 id="to-use">To use:</h2>
|
||||
<pre><code> ./isaak</code></pre>
|
||||
<h2 id="alternate-code">Alternate code:</h2>
|
||||
<p>The original version of this code is in <a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/1988/isaak/isaak.alt.c">isaak.alt.c</a>.
|
||||
The original entry starts with the line:</p>
|
||||
<p>The original version of this code is in
|
||||
<a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/1988/isaak/isaak.alt.c">isaak.alt.c</a>, with a minor fix so that it
|
||||
will compile. The original entry starts with the line:</p>
|
||||
<pre><code> main(){};</code></pre>
|
||||
<p>This works on some systems. Why? Note that <code>#include <stdio.h></code> is given on
|
||||
the last line. Why is this needed? Note the unusual calls to <code>sprintf(3)</code>.</p>
|
||||
<p>This version also relied on being able to define <code>#define</code> to something else and
|
||||
using that macro for <code>#define</code>.</p>
|
||||
<p>This version will not likely work on modern systems if you can even get it to
|
||||
compile.</p>
|
||||
using that macro for <code>#define</code>. This was fixed, however, so that you can at
|
||||
least compile it in modern systems.</p>
|
||||
<p>This version will not likely work on modern systems even though you should be
|
||||
able to compile it.</p>
|
||||
<h3 id="alternate-build">Alternate build:</h3>
|
||||
<pre><code> make alt</code></pre>
|
||||
<h3 id="alternate-use">Alternate use:</h3>
|
||||
<p>Use <code>isaak.alt</code> as you would <code>isaak</code> above.</p>
|
||||
<h2 id="judges-remarks">Judges’ remarks:</h2>
|
||||
<p>The program relies heavily on ASCII. Don’t even think of running it on
|
||||
an EBCDIC machine.</p>
|
||||
<h3 id="historical-notes-about-the-original-entry">Historical notes about the original entry:</h3>
|
||||
<p>NOTE: If you named the file anything other than <a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/1988/isaak/isaak.c">isaak.c</a>, you had to
|
||||
change the <code>#include</code> on line 6. This limitation has been fixed by using the
|
||||
<code>__FILE__</code> macro.</p>
|
||||
<h3 id="historical-notes-about-the-original-entry">Historical notes about the original entry</h3>
|
||||
<p>NOTE: If you named the file anything other than <code>isaak.c</code>, you had to
|
||||
change the <code>#include</code> on line 6. This limitation has been fixed in
|
||||
<a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/1988/isaak/isaak.c">isaak.c</a> and
|
||||
<a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/1988/isaak/isaak.alt.c">isaak.alt.c</a> by using the <code>__FILE__</code> macro.</p>
|
||||
<p>NOTE: The use of null comments to separate macros to construct different tokens
|
||||
from a single macro (e.g., <code>"O/**/O"</code> creates either <code>++</code> or <code>--</code> by defining
|
||||
<code>O</code> to be <code>+</code> or <code>-</code>) may cause some strict ANSI C preprocessors to object.</p>
|
||||
<p>NOTE: Most System V machines were not be able to execute this program correctly
|
||||
due to the fact that BSD style systems have an <code>sprintf(3)</code> that returns a <code>char *</code>. Due to the above problems, we placed the output of this program in the
|
||||
file: isaak.encode. To read this file do.</p>
|
||||
<pre><code> uudecode < isaak.encode
|
||||
cat isaak.output</code></pre>
|
||||
<p>Since this was fixed, this file is not strictly necessary. See the
|
||||
<a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/1988/isaak/isaak.alt.c">isaak.alt.c</a> for the original source.</p>
|
||||
file <a href="isaak.output.txt">isaak.output.txt</a>.</p>
|
||||
<p>Since this was fixed, this file is not strictly necessary, but we keep it for
|
||||
historical purposes (decoded as it used to be uuencoded). See the
|
||||
<a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/1988/isaak/isaak.orig.c">isaak.orig.c</a> for the original source.</p>
|
||||
<p>FYI: We are likely to be more strict about portability in the future.</p>
|
||||
<h2 id="authors-remarks">Author’s remarks:</h2>
|
||||
<p>No remarks were provided by the author.</p>
|
||||
@@ -464,7 +467,7 @@ file: isaak.encode. To read this file do.</p>
|
||||
<li><a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/1988/isaak/Makefile">Makefile</a> - entry Makefile</li>
|
||||
<li><a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/1988/isaak/isaak.alt.c">isaak.alt.c</a> - alternate code</li>
|
||||
<li><a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/1988/isaak/isaak.orig.c">isaak.orig.c</a> - original source</li>
|
||||
<li><a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/1988/isaak/isaak.encode">isaak.encode</a> - uuencoded sample output</li>
|
||||
<li><a href="isaak.output.txt">isaak.output.txt</a> - program output</li>
|
||||
</ul>
|
||||
<h2 id="secondary-files">Secondary files</h2>
|
||||
<ul>
|
||||
|
||||
+19
-18
@@ -1,10 +1,9 @@
|
||||
main(){}
|
||||
#define P define
|
||||
#P U ifdef
|
||||
#P main Si
|
||||
#U y
|
||||
main(){};
|
||||
#define U
|
||||
#define main Si
|
||||
#if U defined(y)
|
||||
#undef y
|
||||
#include "isaak.c"
|
||||
#include __FILE__
|
||||
Pb
|
||||
#else
|
||||
char*K="4499999;8 9+jW*':'TZhD m:*h.4-j'9(z7Q>r*:G#FS]mATIdMZY^HaKFZZ\
|
||||
@@ -12,23 +11,25 @@ JyJw:X49@eJj1,Z'\\c^jGU@IXTF@9P2i:gAZx0pD*W3\\<ZZs1:.~Z8U:P<\\:ZOI0GBPZ7",*H
|
||||
,S[5202],*B="oA9BA6iN`]`Ph>5F4::M6A69@6I{g[Za__]NPV``aV\177E4C5CG;4C<BEJG;\
|
||||
?LGlSZ[Y_!oYi@uXPzLFyPOYP][]`RTaQo86564CAHCG4ES",*F,N;int Bk,V;Y
|
||||
#endif
|
||||
#P C K/16-2
|
||||
(){char*H;F O=-263;for(H="$+---+|||";*++H;)*(F O=(*H+5&129)+1)= *H;F
|
||||
#P W sprintf(
|
||||
O= -132;}I/**/r(){if((N= *IO/**/O%(21 O -5)+81 O 16)==107)N+=
|
||||
#define C K/16-2
|
||||
#define Pa(x,y) x##y
|
||||
#define P(x,y) Pa(x,y)
|
||||
(){char*H;F P(O,=)-263;for(H="$+---+|||";*++H;)*(F P(O,=)(*H+5&129)+1)= *H;F
|
||||
#define W sprintf(
|
||||
P(O,=)-132;}P(I,r)(){if((N= *IP(O,O)%(21 O -5)+81 O 16)==107)N+=
|
||||
#undef I
|
||||
*K++&15;*F++=N;return*K;}
|
||||
#undef O
|
||||
#P I K
|
||||
#P O +
|
||||
#U N
|
||||
exit(N){F=WH=S,"%5060d")+385;while(Br(),++B,Kr())F+=(N=
|
||||
#define I K
|
||||
#define O +
|
||||
#if U defined(N)
|
||||
exit(N){WH=S,"%5060d");F=S+385;while(Br(),++B,Kr())F+=(N=
|
||||
*B++/26-1)?(")21["[N]-46)*N*4-22:-3194;while(*--K!=9){while(!(*++H+5&64));
|
||||
F=(40-"(\206/"[((H-S)%130+45)/57]<<3)+H;*F++=*H++;*F=
|
||||
*H==106?32:*H;Y();W WF-131,"%-3d",++Bk)+260,"%3d",V+=
|
||||
*C?*C:"hijpqv"[*--C]-106);Pb();}for(H=S;*H||(int)_exit(0);H+=130)write(1,1+W
|
||||
F+3,"%c%-73.73s\n",0,H),74);}
|
||||
*H==106?32:*H;Y();WF-131,"%-3d",++Bk); W F+129,"%3d",V+=
|
||||
*C?*C:"hijpqv"[*--C]-106);Pb();}for(H=S;*H||(_exit(0),0);H+=130)write(1,F+4,W
|
||||
F+3,"%c%-73.73s\n",0,H)-1);}
|
||||
#endif
|
||||
#undef U
|
||||
#P U ifndef
|
||||
#define U !
|
||||
#include <stdio.h>
|
||||
@@ -1,68 +0,0 @@
|
||||
begin 666 isaak.output
|
||||
M*RTM+2L@(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @
|
||||
M(" @(" @(" @(" @(" @(" @(" @(" K+2TM*PI\,2 @?" @(" @(" @(" @
|
||||
M(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @
|
||||
M(" @(" @('PR("!\"GQ(("!\(" @(" @(" @(" @(" @(" @(" @(" @(" @
|
||||
M(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @?$AE('P*?" @
|
||||
M,7P@(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @
|
||||
M(" @(" @(" @(" @(" @(" @("!\(" T? HK+2TM*RTM+2L@(" @(" @(" @
|
||||
M(" @(" @(" @(" @(" @(" @(" @(" @(" @(" K+2TM*RTM+2LM+2TK+2TM
|
||||
M*RTM+2LM+2TK"GPS("!\-" @?" @(" @(" @(" @(" @(" @(" @(" @(" @
|
||||
M(" @(" @(" @(" @('PU("!\-B @?#<@('PX("!\.2 @?#$P('P*?$QI('Q"
|
||||
M92!\(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @?$(@
|
||||
M('Q#("!\3B @?$\@('Q&("!\3F4@? I\(" W?" @.7P@(" @(" @(" @(" @
|
||||
M(" @(" @(" @(" @(" @(" @(" @(" @("!\(#$Q?" Q,GP@,31\(#$V?" Q
|
||||
M.7P@,C!\"BLM+2TK+2TM*R @(" @(" @(" @(" @(" @(" @(" @(" @(" @
|
||||
M(" @(" @(" @("LM+2TK+2TM*RTM+2LM+2TK+2TM*RTM+2L*?#$Q('PQ,B!\
|
||||
M(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @?#$S('PQ
|
||||
M-"!\,34@?#$V('PQ-R!\,3@@? I\3F$@?$UG('P@(" @(" @(" @(" @(" @
|
||||
M(" @(" @(" @(" @(" @(" @(" @("!\06P@?%-I('Q0("!\4R @?$-L('Q!
|
||||
M<B!\"GP@,C-\(#(T?" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @
|
||||
M(" @(" @('P@,C=\(#(X?" S,7P@,S)\(#,U?" T,'P**RTM+2LM+2TK+2TM
|
||||
M*RTM+2LM+2TK+2TM*RTM+2LM+2TK+2TM*RTM+2LM+2TK+2TM*RTM+2LM+2TK
|
||||
M+2TM*RTM+2LM+2TK+2TM*PI\,3D@?#(P('PR,2!\,C(@?#(S('PR-"!\,C4@
|
||||
M?#(V('PR-R!\,C@@?#(Y('PS,"!\,S$@?#,R('PS,R!\,S0@?#,U('PS-B!\
|
||||
M"GQ+("!\0V$@?%-C('Q4:2!\5B @?$-R('Q-;B!\1F4@?$-O('Q.:2!\0W4@
|
||||
M?%IN('Q'82!\1V4@?$%S('Q392!\0G(@?$MR('P*?" S.7P@-#!\(#0U?" T
|
||||
M.'P@-3%\(#4R?" U-7P@-39\(#4Y?" U.7P@-C1\(#8U?" W,'P@-S-\(#<U
|
||||
M?" W.7P@.#!\(#@T? HK+2TM*RTM+2LM+2TK+2TM*RTM+2LM+2TK+2TM*RTM
|
||||
M+2LM+2TK+2TM*RTM+2LM+2TK+2TM*RTM+2LM+2TK+2TM*RTM+2LM+2TK"GPS
|
||||
M-R!\,S@@?#,Y('PT,"!\-#$@?#0R('PT,R!\-#0@?#0U('PT-B!\-#<@?#0X
|
||||
M('PT.2!\-3 @?#4Q('PU,B!\-3,@?#4T('P*?%)B('Q3<B!\62 @?%IR('Q.
|
||||
M8B!\36\@?%1C('Q2=2!\4F@@?%!D('Q!9R!\0V0@?$EN('Q3;B!\4V(@?%1E
|
||||
M('Q)("!\6&4@? I\(#@U?" X.'P@.#E\(#DQ?" Y,WP@.39\(#DY?#$P,7PQ
|
||||
M,#-\,3 V?#$P.'PQ,3)\,3$U?#$Q.7PQ,C)\,3(X?#$R-WPQ,S%\"BLM+2TK
|
||||
M+2TM*RTM+2LM+2TK+2TM*RTM+2LM+2TK+2TM*RTM+2LM+2TK+2TM*RTM+2LM
|
||||
M+2TK+2TM*RTM+2LM+2TK+2TM*RTM+2L*?#4U('PU-B!\-3<@?#<R('PW,R!\
|
||||
M-S0@?#<U('PW-B!\-S<@?#<X('PW.2!\.# @?#@Q('PX,B!\.#,@?#@T('PX
|
||||
M-2!\.#8@? I\0W,@?$)A('Q,82!\2&8@?%1A('Q7("!\4F4@?$]S('Q)<B!\
|
||||
M4'0@?$%U('Q(9R!\5&P@?%!B('Q":2!\4&\@?$%T('Q2;B!\"GPQ,S-\,3,W
|
||||
M?#$S.7PQ-SA\,3@Q?#$X-'PQ.#9\,3DP?#$Y,GPQ.35\,3DW?#(P,7PR,#1\
|
||||
M,C W?#(P.7PR,#E\,C$P?#(R,GP**RTM+2LM+2TK+2TM*RTM+2LM+2TK+2TM
|
||||
M*RTM+2LM+2TK+2TM*RTM+2LM+2TK+2TM*RTM+2LM+2TK+2TM*RTM+2LM+2TK
|
||||
M+2TM*PI\.#<@?#@X('PX.2!\,3 T?#$P-7P@(" @(" @(" @(" @(" @(" @
|
||||
M(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @"GQ&<B!\4F$@?$%C
|
||||
M('Q29B!\2&$@?" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @
|
||||
M(" @(" @(" @(" @(" @(" *?#(R,WPR,C9\,C(W?#(V,7PR-C!\(" @(" @
|
||||
M(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @
|
||||
M( HK+2TM*RTM+2LM+2TK+2TM*RTM+2L@(" @(" @(" @(" @(" @(" @(" @
|
||||
M(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @"B @(" @(" @(" @(" @
|
||||
M(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @(" @
|
||||
M(" @(" @(" @(" @(" *(" @(" @(" K+2TM*RTM+2LM+2TK+2TM*RTM+2LM
|
||||
M+2TK+2TM*RTM+2LM+2TK+2TM*RTM+2LM+2TK+2TM*RTM+2L@(" @(" @( H@
|
||||
M(" @(" @('PU."!\-3D@?#8P('PV,2!\-C(@?#8S('PV-"!\-C4@?#8V('PV
|
||||
M-R!\-C@@?#8Y('PW,"!\-S$@?" @(" @(" @"B @(" @(" @?$-E('Q0<B!\
|
||||
M3F0@?%!M('Q3;2!\174@?$=D('Q48B!\1'D@?$AO('Q%<B!\5&T@?%EB('Q,
|
||||
M=2!\(" @(" @(" *(" @(" @("!\,30P?#$T,7PQ-#1\,30U?#$U,'PQ-3)\
|
||||
M,34W?#$U.7PQ-C)\,38U?#$V-WPQ-CE\,3<S?#$W-7P@(" @(" @( H@(" @
|
||||
M(" @("LM+2TK+2TM*RTM+2LM+2TK+2TM*RTM+2LM+2TK+2TM*RTM+2LM+2TK
|
||||
M+2TM*RTM+2LM+2TK+2TM*R @(" @(" @"B @(" @(" @?#DP('PY,2!\.3(@
|
||||
M?#DS('PY-"!\.34@?#DV('PY-R!\.3@@?#DY('PQ,#!\,3 Q?#$P,GPQ,#-\
|
||||
M(" @(" @(" *(" @(" @("!\5&@@?%!A('Q5("!\3G @?%!U('Q!;2!\0VT@
|
||||
M?$)K('Q#9B!\17,@?$9M('Q-9"!\3F\@?$QR('P@(" @(" @( H@(" @(" @
|
||||
M('PR,S)\,C,Q?#(S.'PR,S=\,C0T?#(T,WPR-#=\,C0W?#(U,7PR-31\,C4W
|
||||
M?#(U-GPR-31\,C4W?" @(" @(" @"B @(" @(" @*RTM+2LM+2TK+2TM*RTM
|
||||
M+2LM+2TK+2TM*RTM+2LM+2TK+2TM*RTM+2LM+2TK+2TM*RTM+2LM+2TK(" @
|
||||
&(" @(" *
|
||||
|
||||
end
|
||||
@@ -0,0 +1,39 @@
|
||||
+---+ +---+
|
||||
|1 | |2 |
|
||||
|H | |He |
|
||||
| 1| | 4|
|
||||
+---+---+ +---+---+---+---+---+---+
|
||||
|3 |4 | |5 |6 |7 |8 |9 |10 |
|
||||
|Li |Be | |B |C |N |O |F |Ne |
|
||||
| 7| 9| | 11| 12| 14| 16| 19| 20|
|
||||
+---+---+ +---+---+---+---+---+---+
|
||||
|11 |12 | |13 |14 |15 |16 |17 |18 |
|
||||
|Na |Mg | |Al |Si |P |S |Cl |Ar |
|
||||
| 23| 24| | 27| 28| 31| 32| 35| 40|
|
||||
+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
|
||||
|19 |20 |21 |22 |23 |24 |25 |26 |27 |28 |29 |30 |31 |32 |33 |34 |35 |36 |
|
||||
|K |Ca |Sc |Ti |V |Cr |Mn |Fe |Co |Ni |Cu |Zn |Ga |Ge |As |Se |Br |Kr |
|
||||
| 39| 40| 45| 48| 51| 52| 55| 56| 59| 59| 64| 65| 70| 73| 75| 79| 80| 84|
|
||||
+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
|
||||
|37 |38 |39 |40 |41 |42 |43 |44 |45 |46 |47 |48 |49 |50 |51 |52 |53 |54 |
|
||||
|Rb |Sr |Y |Zr |Nb |Mo |Tc |Ru |Rh |Pd |Ag |Cd |In |Sn |Sb |Te |I |Xe |
|
||||
| 85| 88| 89| 91| 93| 96| 99|101|103|106|108|112|115|119|122|128|127|131|
|
||||
+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
|
||||
|55 |56 |57 |72 |73 |74 |75 |76 |77 |78 |79 |80 |81 |82 |83 |84 |85 |86 |
|
||||
|Cs |Ba |La |Hf |Ta |W |Re |Os |Ir |Pt |Au |Hg |Tl |Pb |Bi |Po |At |Rn |
|
||||
|133|137|139|178|181|184|186|190|192|195|197|201|204|207|209|209|210|222|
|
||||
+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
|
||||
|87 |88 |89 |104|105|
|
||||
|Fr |Ra |Ac |Rf |Ha |
|
||||
|223|226|227|261|260|
|
||||
+---+---+---+---+---+
|
||||
|
||||
+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
|
||||
|58 |59 |60 |61 |62 |63 |64 |65 |66 |67 |68 |69 |70 |71 |
|
||||
|Ce |Pr |Nd |Pm |Sm |Eu |Gd |Tb |Dy |Ho |Er |Tm |Yb |Lu |
|
||||
|140|141|144|145|150|152|157|159|162|165|167|169|173|175|
|
||||
+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
|
||||
|90 |91 |92 |93 |94 |95 |96 |97 |98 |99 |100|101|102|103|
|
||||
|Th |Pa |U |Np |Pu |Am |Cm |Bk |Cf |Es |Fm |Md |No |Lr |
|
||||
|232|231|238|237|244|243|247|247|251|254|257|256|254|257|
|
||||
+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
|
||||
+14
-11
@@ -911,8 +911,8 @@ including making it no longer require <code>-traditional-cpp</code>. Fixing
|
||||
to compare the fix from the original entry. There was another problem to resolve
|
||||
as well, however.</p>
|
||||
<p>First of all, as noted above, the entry required <code>-traditional-cpp</code> (which
|
||||
<del>not all compilers support</del> <code>clang</code> does not support). It needed
|
||||
that option in modern systems because of two things it did:</p>
|
||||
<code>clang</code> does not support). It needed that option in modern systems because of
|
||||
two things it did:</p>
|
||||
<pre><code> #define a(x)get/***/x/***/id())
|
||||
|
||||
/* ... */
|
||||
@@ -922,10 +922,10 @@ that option in modern systems because of two things it did:</p>
|
||||
/* ... */
|
||||
|
||||
case_2:L(!--V){O/*/*/c*c+c);wait(A+c*c-c);L(!Z)f(A,"\n",c);return(A*getgid());};C++;</code></pre>
|
||||
<p>This macro, <code>a</code>, formed the functions (the names) <code>getuid()</code> and <code>getgid()</code>, but
|
||||
<p>This macro, <code>a</code>, formed the function names <code>getuid()</code> and <code>getgid()</code>, but
|
||||
this no longer works. The code still uses the macro <code>a</code> to form the names but
|
||||
it’s done differently, using the C token paste operator <code>##</code>. It’s done like
|
||||
thus:</p>
|
||||
this:</p>
|
||||
<pre><code> --- i/1988/dale/dale.c
|
||||
+++ w/1988/dale/dale.c
|
||||
@@ -9,18 +9,18 @@
|
||||
@@ -953,24 +953,27 @@ modern compilers do not allow directives like:</p>
|
||||
#define O close(
|
||||
/* ... */</code></pre>
|
||||
<p>However, to keep the entry as close to as possible in look, Cody kept the <code>_</code>
|
||||
macro in place it’s just no longer used.</p>
|
||||
<p>See the index.html file for details on the original code, provided as an alt
|
||||
version in case you have an older compiler or wish to try <code>-traditional-cpp</code>.</p>
|
||||
macro in place but it’s no longer used.</p>
|
||||
<p>Cody also provided the <a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/1988/dale/try.sh">try.sh</a> script.</p>
|
||||
<div id="1988_isaak">
|
||||
<h2 id="isaak"><a href="1988/isaak/index.html">1988/isaak</a></h2>
|
||||
<h3 id="source-code-isaak.c">Source code: <a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/1988/isaak/isaak.c">isaak.c</a></h3>
|
||||
</div>
|
||||
<p><a href="#cody">Cody</a> fixed this to work for modern systems. The problem was that the important
|
||||
function, a redefinition of <code>exit()</code>, was not being called in <code>main()</code>. The
|
||||
original version is in <a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/1988/isaak/isaak.alt.c">1988/isaak/isaak.alt.c</a>. See the
|
||||
function, a redefinition of <code>exit(3)</code>, was not being called in <code>main()</code>. Earlier
|
||||
fixes that let it compile, but not work with modern systems, can be found in
|
||||
<a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/1988/isaak/isaak.alt.c">1988/isaak/isaak.alt.c</a>. See the
|
||||
index.html file for more details.</p>
|
||||
<p>Cody also uudecoded and removed the file <code>isaak.encode</code>, putting the output in
|
||||
<code>isaak.output.txt</code>. This was done strictly for historical remarks that can be
|
||||
found in the index.html file.</p>
|
||||
<div id="1988_litmaath">
|
||||
<h2 id="litmaath"><a href="1988/litmaath/index.html">1988/litmaath</a></h2>
|
||||
<h3 id="source-code-litmaath.c">Source code: <a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/1988/litmaath/litmaath.c">litmaath.c</a></h3>
|
||||
</div>
|
||||
<p><a href="#cody">Cody</a> added the alt code which is code that we suggested at the time of
|
||||
publication, in the remarks, to help understand the entry, and for fun.</p>
|
||||
<p><a href="#cody">Cody</a> added the <a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/1988/litmaath/litmaath.alt.c">alt code</a>
|
||||
which is code that we suggested at the time of publication, in the remarks, to
|
||||
help understand the entry, and for fun.</p>
|
||||
<div id="1988_phillipps">
|
||||
<h2 id="phillipps"><a href="1988/phillipps/index.html">1988/phillipps</a></h2>
|
||||
<h3 id="source-code-phillipps.c">Source code: <a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/1988/phillipps/phillipps.c">phillipps.c</a></h3>
|
||||
|
||||
+15
-12
@@ -762,8 +762,8 @@ to compare the fix from the original entry. There was another problem to resolve
|
||||
as well, however.
|
||||
|
||||
First of all, as noted above, the entry required `-traditional-cpp` (which
|
||||
<del>not all compilers support</del> `clang` does not support). It needed
|
||||
that option in modern systems because of two things it did:
|
||||
`clang` does not support). It needed that option in modern systems because of
|
||||
two things it did:
|
||||
|
||||
``` <!---c-->
|
||||
#define a(x)get/***/x/***/id())
|
||||
@@ -777,10 +777,10 @@ that option in modern systems because of two things it did:
|
||||
case_2:L(!--V){O/*/*/c*c+c);wait(A+c*c-c);L(!Z)f(A,"\n",c);return(A*getgid());};C++;
|
||||
```
|
||||
|
||||
This macro, `a`, formed the functions (the names) `getuid()` and `getgid()`, but
|
||||
This macro, `a`, formed the function names `getuid()` and `getgid()`, but
|
||||
this no longer works. The code still uses the macro `a` to form the names but
|
||||
it's done differently, using the C token paste operator `##`. It's done like
|
||||
thus:
|
||||
this:
|
||||
|
||||
``` <!---diff-->
|
||||
--- i/1988/dale/dale.c
|
||||
@@ -825,10 +825,7 @@ so Cody changed the lines to be in the form of:
|
||||
```
|
||||
|
||||
However, to keep the entry as close to as possible in look, Cody kept the `_`
|
||||
macro in place it's just no longer used.
|
||||
|
||||
See the index.html file for details on the original code, provided as an alt
|
||||
version in case you have an older compiler or wish to try `-traditional-cpp`.
|
||||
macro in place but it's no longer used.
|
||||
|
||||
Cody also provided the [try.sh](%%REPO_URL%%/1988/dale/try.sh) script.
|
||||
|
||||
@@ -839,18 +836,24 @@ Cody also provided the [try.sh](%%REPO_URL%%/1988/dale/try.sh) script.
|
||||
</div>
|
||||
|
||||
[Cody](#cody) fixed this to work for modern systems. The problem was that the important
|
||||
function, a redefinition of `exit()`, was not being called in `main()`. The
|
||||
original version is in [1988/isaak/isaak.alt.c](%%REPO_URL%%/1988/isaak/isaak.alt.c). See the
|
||||
function, a redefinition of `exit(3)`, was not being called in `main()`. Earlier
|
||||
fixes that let it compile, but not work with modern systems, can be found in
|
||||
[1988/isaak/isaak.alt.c](%%REPO_URL%%/1988/isaak/isaak.alt.c). See the
|
||||
index.html file for more details.
|
||||
|
||||
Cody also uudecoded and removed the file `isaak.encode`, putting the output in
|
||||
`isaak.output.txt`. This was done strictly for historical remarks that can be
|
||||
found in the index.html file.
|
||||
|
||||
|
||||
<div id="1988_litmaath">
|
||||
## [1988/litmaath](1988/litmaath/index.html)
|
||||
### Source code: [litmaath.c](%%REPO_URL%%/1988/litmaath/litmaath.c)
|
||||
</div>
|
||||
|
||||
[Cody](#cody) added the alt code which is code that we suggested at the time of
|
||||
publication, in the remarks, to help understand the entry, and for fun.
|
||||
[Cody](#cody) added the [alt code](%%REPO_URL%%/1988/litmaath/litmaath.alt.c)
|
||||
which is code that we suggested at the time of publication, in the remarks, to
|
||||
help understand the entry, and for fun.
|
||||
|
||||
|
||||
<div id="1988_phillipps">
|
||||
|
||||
+1
-1
@@ -278,7 +278,7 @@
|
||||
1988,isaak,Makefile,30,true,makefile,true,entry Makefile
|
||||
1988,isaak,isaak.alt.c,40,true,c,true,alternate code
|
||||
1988,isaak,isaak.orig.c,50,false,c,true,original source
|
||||
1988,isaak,isaak.encode,180,true,xxencode,true,uuencoded sample output
|
||||
1988,isaak,isaak.output.txt,180,false,text,false,program output
|
||||
1988,isaak,1988_isaak.tar.bz2,1415926535,false,tbz2,false,download entry tarball
|
||||
1988,isaak,README.md,4000000000,true,markdown,true,markdown source for this web page
|
||||
1988,isaak,.entry.json,4000000000,true,json,true,entry summary and manifest in JSON
|
||||
|
||||
|
Binary file not shown.
@@ -83,6 +83,7 @@
|
||||
1988/isaak/.path
|
||||
1988/isaak/1988_isaak.tar.bz2
|
||||
1988/isaak/index.html
|
||||
1988/isaak/isaak.output.txt
|
||||
1988/litmaath/.path
|
||||
1988/litmaath/1988_litmaath.tar.bz2
|
||||
1988/litmaath/index.html
|
||||
|
||||
@@ -282,8 +282,8 @@
|
||||
1988/isaak/index.html
|
||||
1988/isaak/isaak.alt.c
|
||||
1988/isaak/isaak.c
|
||||
1988/isaak/isaak.encode
|
||||
1988/isaak/isaak.orig.c
|
||||
1988/isaak/isaak.output.txt
|
||||
1988/litmaath/.entry.json
|
||||
1988/litmaath/.gitignore
|
||||
1988/litmaath/.path
|
||||
|
||||
@@ -282,8 +282,8 @@
|
||||
1988/isaak/index.html
|
||||
1988/isaak/isaak.alt.c
|
||||
1988/isaak/isaak.c
|
||||
1988/isaak/isaak.encode
|
||||
1988/isaak/isaak.orig.c
|
||||
1988/isaak/isaak.output.txt
|
||||
1988/litmaath/.entry.json
|
||||
1988/litmaath/.gitignore
|
||||
1988/litmaath/.path
|
||||
|
||||
@@ -197,7 +197,6 @@
|
||||
1988/isaak/README.md
|
||||
1988/isaak/isaak.alt.c
|
||||
1988/isaak/isaak.c
|
||||
1988/isaak/isaak.encode
|
||||
1988/isaak/isaak.orig.c
|
||||
1988/litmaath/.entry.json
|
||||
1988/litmaath/.gitignore
|
||||
|
||||
Reference in new issue
Block a user