Files
ioccc/2004/hoyle
Landon Curt Noll f29b37e49a improve HTML menus, add social.html, prep for IOCCC28 winners
Prepare for the winners of **IOCCC28**.

> However these are not the 2024 droids you are looking for.  :-)

The HTML menu (both JavaScript and non-JavaScript) has been updated.

The `Status -> Rules and guidelines' have been replaced with two
separate menus `Status -> IOCCC rules` and `Status -> IOCCC guidelines`.

Added a new top level `social.html` page: built from a new `social.md`.

Sorted rules for building specific web pages in the top level `Makefile`.
Added `make social` to make the `social.html` page from `social.md`.

The `bin/gen-top-html.sh` now is able to process a argument of **social**
to process the new top level `social.html` page.

Changed `bin/gen-top-html.sh` VERSION from "2.0.0 2025-03-13"
to "2.0.1 2025-07-25".

Below `About -> Home page` a new `About -> IOCCC social media` menu item
as added.

Because the menu change touched every HTML file, we changed the general
copyright date range for HTML files from "1984-2024" to "1984-2025"
due to the extensive changes made for **IOCCC28**.

Those markdown files that were modified in 2025 had their copyright date
range also changed from "1984-2024" to "1984-2025".

Rebuilt tarballs and sitemap due to the extensive HTML rebuilding.

Ran `make update` to perform the above.
2025-07-26 13:06:29 -07:00
..
2025-03-03 12:50:53 -08:00
2023-07-06 21:49:38 -07:00

To build:

    make

To use:

    ./hoyle point ...

Try:

    ./try.sh

Judges' remarks:

The obfuscation functions at several levels. Note the clever use of use of #defines. The #define do(if,else), for example, is delightful. The code itself contains a bunch of curves designed to throw you off axis. :-)

Author's remarks:

This application graphs polynomials on a standard Cartesian coordinate system. Polynomials of the form ax^0 + bx^1 + cx^2 + ... are graphed by passing the coefficients a, b, c, etc. as double precision arguments. It allows up to 8 parameters (thus up to x^7).

Points of interest:

  • the x axis goes from -32 to +31.
  • the y axis auto scales!
  • up to 8 coefficients may be passed in.
  • the graph will determine direction and use slashes and dashes rather than a simple block of Xs.

For example, to graph y = x^2:

    ./hoyle 0 0 1

Note that:

    ./hoyle 0 0 2

will produce the same graph, since the y-axis is auto scaling.