### fofx-0.5 README file

    fofx 0.5 README, July 31, 1997
    (c)1997 Tom Stepleton

    TABLE OF CONTENTS
      1. What is fofx?
      2. Pronunciation
      3. Installation
      4. Usage
      5. To do
      6. Feedback
      7. Etcetera

    1. What is fofx?
      fofx is a function grapher for character-cell terminals. Sure, everyone
      may be using X11/MacOS/Win95/BeOS/GEM/Lisa Office System/whatever these
      days, but for those of us less fortunate or for those of us who want a
      fast, easy way of seeing what a function looks like (or even for those
      of us who want their pdp11 running v7 UNIX to be able to output some eye
      candy), fofx is a useful tool to keep around.

      fofx is programmed in 100% pure ANSI C, so porting shouldn't be too
      difficult.

    2. Pronunciation
      Note: This is opinion, really. You are free to pronounce fofx any way
      you please. This information is only provided for those who might ask,
      "well, how do YOU pronounce it?"

      Wrong: fohfix, fuvix, foffix, etc...
      Correct: eff-uhv-ecks, as in f of x, as in f(x) = <function>.

    3. Installation
      All (step 1):
        Edit fofx.h and change MAX_COLUMNS and MIN_COLUMNS. These declare the
        maximum and minimum number of columns a user may specify with the
        -cols command line option (see Usage). Users outside of the USA may
        then want to change DECIMAL_SEPARATOR and THOUSAND_SEPARATOR to their
        liking (and for all I know, users in the USA may wish to do the same).
        Die-hard math fans may want to change DETERMINANT_H to a more accurate
        setting, but for most uses it's probably OK the way it is. Don't set
        DETERMINANT_H to zero: bad things may happen.

      UNIX (and clones and relatives):
        fofx is provided with a rudimentary makefile. Edit it and set the
        compiler/compiler options to your liking. Then type make and go. It is
        up to you to strip it and, if you administrate your machine, install
        it (I suggest putting it in /usr/local/bin). fofx is also provided
        with a section 1 manpage.

      Non-UNIX:
        Since fofx is ANSI C compliant, you shouldn't have too much trouble.
        Complie main.c, graph.c, parse.c, and preparse.c into separate objects
        and link them with the math library. Good luck!

    4. Usage:
      Try a simple equation first. The bare-bones syntax is:
        fofx [options] <function>
      Here's a good one for starters:
        fofx "sin(x)"
      which produces output like this:
                                    \
                                       \
                                          \
                                            |
                                           |
                                         /
                                     /
                                   |
                                  |
                                    \
                                       \
                                          \
                                            |
                                           |
                                         /
                                     /
                                   |
                                  |
                                    \
                                       \
                                          \
      As you may or may not be able to tell, the default viewing window is
      from (-7,7) in the "top left corner" to (7,-7) in the "bottom right".
      More obvous, however, is the fact that the function graph has been
      rotated 90 degrees to the right. For sticklers about accuracy and those
      who believe that the f(x) axis should always be up, I suggest you follow
      suit with your head.

      Command-line options:
        -axes
          Forces crude x and f(x) axes to be drawn

        -cols <n>
          Forces the number of columns allowed to n.

        -tlx <n>
          Specifies the abscissa of the point representing the top left corner
          of the viewing window.

        -tly <n>
          Specifies the ordinate of the point representing the top left corner
          of the viewing window.

        -brx <n>
          Specifies the abscissa of the point representing the bottom right
          corner of the viewing window.

        -bry <n>
          Specifies the ordinate of the point representing the bottom right
          corner of the viewing window.

        -iv <n>
          Specifies the distance between points plotted.

    5. To do
      Completely rework the command-line parser. It's a hack. Currently the
        command line options aren't careful about non-numeric inputs, so
        fofx -brx steve is entirely possible. In addition, even if your new
        window dimensions are all in range, they must be submitted in this
        order: -tlx -tly -brx -tlx or else range errors may occur.
      Make the function parser more efficient.
      Add command line options -deg and -grad. fofx only does radians today.

    6. Feedback
      fofx is currently beta software. I would appreciate any feedback
      whatsoever: please send it to ssteplet@artsci.wustl.edu .

    7. Etcetera
      fofx is available for use on the World Wide Web: try it out at
        http://galena.tjs.org/cgi-bin/grapher

      fofx is certified compatable with the tvi950 and LisaTerminal on the
      Apple Lisa.