VERSION HISTORY OF MATHOMATIC (latest changes are at the end of this file)
--------------------------------------------------------------------------

Changes made to Mathomatic V12.4.0:

Created executable shell script "compile.secure" (see README.txt).

Made laplace command work with non-equations.

Update to "primes/matho-pascal.c" to give maximum centered output.

Added error and bounds checking to roots command.

Allow sum and product commands work with non-equations and non-integers.

Changed many atoi() to strtol().

Fixed bug in solving 0=x^9+x^4.5 for x, and made some tune-ups to the solve routine.

Allowed debug level -1 and made it useful.

Changes made to Mathomatic V12.4.1:

Fixed solving for 0 of (0=(any constant expression)*x).

Removed EPSILON define.  Always true.

Added function complex_fixup(), which makes entering e#^(pi*i#) work perfectly.

Minor correction to solve routine.

Changes made to Mathomatic V12.4.2:

Allow larger fractions.

Doubled the default max expression size and memory requirements are now 20 megabytes.

Added ability to set the number of partitions when using the nintegrate command.

Some code and messages cleanup.

Fixed bug in nintegrate command (wrong number of function parameters).

Improved solve routine.

Update to "primes/matho-around.c".

Changes made to Mathomatic V12.4.3:

Added a few checks for NULL char pointers.

Major change in memory allocation: equation spaces are now only allocated as needed.

Changed optimize command to accept an equation number range.
You can now optimize all stored equations at once.

Some minor code cleanups and commenting.

Changes made to Mathomatic V12.4.4:

Bug fix made to divide command.

Increased the number of equation spaces to 100.

Fixed a precision problem with the "list export" command.

Added and implemented function return_result(equation_number) at the end of most commands,
to facilitate use as a library.

Some more comments were added and "list.c" was cleaned up.

Replaced most printf()s with a new function called error().

Changes made to Mathomatic V12.4.5:

Added variable "error_str", which is set to the last error message when SILENT is defined.

Improvement in giving reason when solving fails.

Converted more printf()s to the error() function.

The HTML docs were fixed.

Added "BASICS" compile-time define (see README.txt).

Added "LIBRARY" compile-time define.

Many perfections made to the source code.

Created lib/lib.c and lib/test.c, removed lib/protomain.c.
The Mathomatic library is complete.

Changes made to Mathomatic V12.4.6:

Made real and imaginary commands work with non-equations.

Ported compare command to work with non-equations.

Enabled entering non-equations.

Fixed a bug simplifying "8/((1 - x)^10)".

Fixed a bug saving, quitting, then restoring equations.

Put man pages and docs in proper place (/usr/share).

Changes made to Mathomatic V12.4.7:

Fixed minor bug in real and imaginary commands.

Fixed roots command.

Cleaned up Prime Number Tools man pages.

Cleaned up the Mathomatic source code.

Corrected the Mathomatic library.

Ported taylor command to non-equations.

Changes made to Mathomatic V12.4.8:

Added display of average to tally command.

Fixed tests.

Fixed output redirection for some commands.

Changes made to Mathomatic V12.4.9:

Created "complex.h".

Fixed and documented "help all >filename",
for quickly creating a quick command reference.

Fixed up and commented "main.c".

Split off "complex.c" into "complex_lib.c" and
made it an independent complex number library.

Added "integrate definite" command option.

Corrected makefile install.

Added check in nintegrate command to fail if result contains infinity or nan.

A few complex number improvements were made.

Allow a text pre-processor to pipe input into Mathomatic.

Changes made to Mathomatic V12.4.10:

The C complex number library was finished and perfected (complex_lib.c).

Yet another code cleanup.

Added "UNIX" compile-time define to the Prime Number Tools.

Some improvements to the Mathomatic documentation.

Changes made to Mathomatic V12.4.11:

Perfected process() (the input processor).

Code cleanup.

Display polar coordinates in roots command.

Parse "**" as "^".

The docs were clarified.

Increased sizes of many input buffers.

Changes made to Mathomatic V12.4.12:

Added matho_parse() to "lib/lib.c".

Made library work with constant strings passed as input to matho_process().

Added "set bold_colors" option.  Use this if equations are difficult to read.

Removed "doc/ctips.html".

Cleaned up and improved makefiles.

Fixed bug in "compile.secure".
