Files
ioccc/2004/hoyle
Landon Curt Noll dbf6921b3a use include 1337.mk to hold 1337 hacker rulz
Updated 1337 hacker rulz to version 7.

Added `1337.mk` to contain the updated 1337 hacker rulz (v7).

We use an optional include of `1337.mk` (or `../1337.mk`,
or `../../1337.mk`) to include the 1337 hacker rulz.

Changed `make deep_magic` to `make more_magic`.

Changed `bin/tar-entry.sh` VERSION from "1.3.7 2024-07-22"
to "1.3.8 2024-07-23".

Changed `bin/tar-year.sh` VERSION from "1.2.5 2024-07-22"
to "1.2.6 2024-07-23".

Add `make new_entry` to `YYYY/Makefile` and `template/Makefile.year`.

Change `make new_year` to use `sort -n -u`.

Made minor debug message fixes to `bin/new-year.sh`.

Changed `bin/new-year.sh` VERSION from "1.3 2024-07-23"
to "1.3.1 2024-07-23".

Improved `bin/add-dir.sh` to update `YYYY/Makefile` with
the new entry directory name.

Changed `bin/add-dir.sh` VERSION from "1.0 2024-07-21"
to "1.1 2024-07-23".

Performed `make www` to accomplish the above and to test under macOS.
2024-07-23 22:45:16 -07:00
..
2024-06-14 06:52:23 -07:00
2022-09-18 23:37:49 -07: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.