Files
ioccc/2004/hoyle

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.