Merge pull request #1616 from xexyl/hou12-md-footnotes

This commit is contained in:
Landon Curt Noll authored and GitHub committed 2023-12-03 13:24:18 -07:00
commit f0d909c976
3 files changed
+15 -15

No files matched your search

+3 -3
View File
@@ -86,7 +86,7 @@ Julian day number (given as a fractional component). E.g.:
```
A Julian day is defined to be the number of days since January 1st in the year
`-4712 (4713BC)`, starting at 12 noon GMT.\[1\] To aid conversion from our time
`-4712 (4713BC)`, starting at 12 noon GMT.[^1] To aid conversion from our time
(GMT) to Julian day there is a supplementary program named:
[dmy2jd.c](dmy2jd.c). Run it with `day_float month year` as arguments. See below
for an example.
@@ -362,10 +362,10 @@ in places where at first glance the code appears to be executed.
### References
[1] Astronomical algorithms (1st ed): page 59
[^1]: Astronomical algorithms (1st ed): page 59
Jean Meeus. Published by Willmann-Bell Inc.
[2] Astronomical algorithms (1st ed): pages 285-299.
[^2]: Astronomical algorithms (1st ed): pages 285-299.
Jean Meeus. Published by Willmann-Bell Inc.
+7 -7
View File
@@ -93,7 +93,7 @@ one cycle of the torus and `q` times around the other. `p` and `q` should be
[coprime](https://en.wikipedia.org/wiki/Coprime_integers); otherwise, the
resulting curve will _not_ be a knot (that is, imagining the resulting curve as
a loop of rubber, there will be a way to bend, twist and stretch it, without
cutting it [1], until it ends up looking just like a circle embedded in R3 [2]).
cutting it [^1], until it ends up looking just like a circle embedded in R3 [^2]).
Sample usage:
@@ -125,7 +125,7 @@ displaying animated GIFs, such as almost any graphical HTTP browser.
Due to code size constraints, full [LZW
compression](https://en.wikipedia.org/wiki/LZ77_and_LZ78#LZW) was not
implemented [3]. In fact, the output images are even somewhat expanded, thanks
implemented [^3]. In fact, the output images are even somewhat expanded, thanks
to GIF overhead.
The GIF format supports only a limited number of bits per pixel, so the
@@ -141,7 +141,7 @@ The only major portability issue should be reliance on ASCII.
It should also be mentioned that the program won't work on systems that
distinguish between text and binary streams; however, since hardly
anyone uses such systems in this day and age, this is a minor issue. [4]
anyone uses such systems in this day and age, this is a minor issue. [^4]
### EXERCISES FOR THE READER
@@ -157,16 +157,16 @@ smoother by increasing the number of polygons.
### FOOTNOTES
[1] You can call such a transformation an "ambient isotopy" if you want to
[^1]: You can call such a transformation an "ambient isotopy" if you want to
impress people at parties.
[2] Also known as the "unknot", which sounds slightly less impressive than
[^2]: Also known as the "unknot", which sounds slightly less impressive than
"ambient isotopy".
[3] Unfortunately (for the author), the convenient excuse that LZW compression
[^3]: Unfortunately (for the author), the convenient excuse that LZW compression
was not implemented in order to avoid the Unisys patent can no longer be used.
[4] ;)
[^4]: ;)
## Copyright and CC BY-SA 4.0 License:
+5 -5
View File
@@ -85,7 +85,7 @@ statement in [hou.c](hou.c):
```
The regex engine is also algorithmically efficient. To illustrate the point,
[ansi.txt](ansi.txt) contains a pathological expression [2] that guarantees a
[ansi.txt](ansi.txt) contains a pathological expression [^2] that guarantees a
hang for the competing Perl engine while matching itself. Try to compare these
two engines:
@@ -119,10 +119,10 @@ beautification and preprocessing.
The second layer of obfuscation comes from the need to squeeze a reasonably
powerful regex engine into the remaining area that isn't occupied by excessive
keywords and useless constants. To achieve this, the regex compiler is written
using the same threaded virtual machine [1] that parses the regex. Due to
using the same threaded virtual machine [^1] that parses the regex. Due to
compiler limitations, the generated VM code also ends up obscured by a large
amount of spaghetti branches and virtual thread creations. Finally, the VM in
[1] is extended to track multiple expression matches for the actual formatting.
[^1] is extended to track multiple expression matches for the actual formatting.
As an extra tweak, the text message actually does something useful. Remove the
"Make a contract with me" catch line and the program would cease to function.
@@ -130,9 +130,9 @@ As an extra tweak, the text message actually does something useful. Remove the
### References
[1][Russ Cox, Regular Expression Matching: the Virtual Machine Approach](http://swtch.com/~rsc/regexp/regexp2.html)
[^1]: [Russ Cox, Regular Expression Matching: the Virtual Machine Approach](http://swtch.com/~rsc/regexp/regexp2.html)
[2][Regular Expression Matching Can Be Simple And Fast (but is slow in Java, Perl, PHP, Python, Ruby, ...)](http://swtch.com/~rsc/regexp/regexp1.html)
[^2]: [Regular Expression Matching Can Be Simple And Fast (but is slow in Java, Perl, PHP, Python, Ruby, ...)](http://swtch.com/~rsc/regexp/regexp1.html)
## Copyright and CC BY-SA 4.0 License: