
Notes regarding "genvectors" and "gentable"
--------------------------------------------

genvectors.c is not automatically built as part of the distribution, and
should not normally need to be run.  Its function is to generate the header
file containing vectors for the program to use, which is distributed with
the source.  These vectors are generated randomly using standard C functions
and known seeds so running genvectors should produce repeatable results.

This program, then, is provided for historical interest, and in case anyone
wants to generate more vectors or come up with a better way to generate
them.  It uses the same maths functions as hydra itself and can be compiled
with:

$ cc -o genvectors genvectors.c maths_f64k.c

Adding optimization options would be highly recommended.  Genvectors
actually works by reading in the existing vector table and trying to expand
it.  At the time of writing this, tables of 28 vectors are present in all
dimensions except 8, where only 25 vectors are known.  For this reason,
there are 3 vectors commented out at the end of each table in
sim_eqs_vectors_1.h.  Also, genvectors.c refers to sim_eqs_vectors_2.h for
some reason, but that can be edited to a header that exists.

How do you kickstart genvectors if you don't already have a table of them
and want to start from scratch?  I honestly can't remember.


gentable.c is another piece of history.  The lookup tables used to be
included in a header which was generated by this program, increasing
executable size by 128k or so.  Since then I saved this space by having
hydra generate them each time it is run, which is bad news if you want to
run multiple copies of it at once (since they won't share this fixed data),
but the generation takes less than a second so I decided to save disc space.
The bulk of gentable.c was simply copied into the function gentable64k() in
maths_f64k.c.

Currently gentable.c doesn't even compile, because it uses the mult_64k
function which is now private inside maths_f64k.c.  The file mult_64k.s
contains the PPC assembly language version but its header is missing.
Anyone really interested should be able to construct a suitable header and
compile gentable.

$Id: README,v 1.1 2006/04/16 16:44:54 morgo Exp $
