i/CHANGES.pod

2004/06/01 1.16 Following excellent suggestions from Mike Schilli detect constants with decimal places and convert them to rational fractions, thus 1.2 becomes 12/10. The rationale: using fractions avoids loss of precision, if you only need approximate numerical results, there is no need for symbolic manipulations.

2004/05/28 1.15 Minor changes to documentation.

2004/05/27 1.14 Admiring new CPAN Layout: diff+grep. Updated META.yml requires/recommends to match MANIFEST. Removed use of Hash::Util as this seems to be causing problems with ActiveState.

2004/05/11 1.13 Memory Leak and exp() problems solved:

1. Solved a memory leak by using Scalar::Util::weaken(). This has reduced memory consumption when running the test cases from 130M to 37M: intermediate expressions are now being freed. I believe that this has been the source of the erratic failures on various platforms, other than my development system, as reported (most helpfully) by CPAN testers and a Mac OSX user: these reported errors appear to have been related to running out of memory.

2. Corrected exp(-i)*exp(-i) which was being correctly reduced to exp(0), but should have been reduced further to 1, which was causing the multiply out of exp(i...) in cot(x) == 1/tan(x) to fail.

3. Added the != operator, as this simplifies testing with the test harness.

2004/04/30 1.12 Included PREREQ_PM in Makefile as a result of notes from automated CPAN testing.

2004/04/24 1.08 Included test cases in manifest and renamed to .t in line with observed practice.

2004/03/28 Split into three classes. Considerable performance improvements. Added standard Perl Test harness. Unfixed `power()` so we are back to constant powers.

2004/03/14 Fixed `power()` so that it recognizes constant and variable powers. Added TODO List. Finished testSM(): new requirements in TODO.

2004/03/13 Added change log on esteemed advice of Steffen Müller. Made yet another attempt to stop `polynomialDivide()` from producing an infinite series as a representation of a single term. Most of mathematics seems to erupt from the division of one polynomial by another.