26 Feb 2006     Joel Reynolds

David,
I've done some minor housekeeping on the code documentation - mainly aesthetic
to improve readibility (and replace some detailed descriptions that were removed).  
The elitism functions are sufficiently described to allow someone wandering 
in the depths of the code to figure out what does what.

The original (1998) 'update.c' file must have been getting too big for easy editing, so
the functions contained therein have been split among three files: update.c,
evaluation.c, and elitism.c.  

I've rearranged the header files so that there are only two files the user needs
to edit before compiling: UserSettings.h and UserArrays.h.  Someone who knows more
than I about precompiler coding (not a tough standard to meet) could probably figure
out a more elegant solution that would allow these to be combined into a single 
header file.  Someday I'll deal with this (after about 6 more papers are finished).

The issue, should Maureen or someone be inclined, is that the UserArrays.h declares
the various application-specific data structures and so must only be "#include'd"
in a single *.c file.  If "#include UserArrays.h" occurs in every *.c file (as is
done w/ Pareto_evolve.h, and thus with UserSettings.h which is #include'd in it), 
then the data structures are declared multiple times and things crash.  


Someone there should check that things compile smoothly on both Windows and Linux, 
ideally using a freeware c compiler such as gcc (though this would require recreating
the necessary make file - which must exist circa 1995 but disappeared with the
Windows Visual C).

Important to clarify in manual: the model code's evaluation of criteria 
achievement / calculation of discrepancy measures, must behave as follows 
(bit backwards for BINARY):
If BINARY, then value of '1' if the criteria is achieved; 
if CONTINUOUS then the value is assumed to be the distance from the target value.

The manual should also clarify that using continuous discrepancy measures assumes
that all inhabit the range [0,1] (in defining neighborhoods for niche_sharing).

Cheers,
Joel

