Revision history for Perl extension Math::Polynomial.
Math::Polynomial Version 1.000
------------------------------
- Release date: 2009-04-28
- Author: Martin Becker
- Rewritten from scratch, using
h2xs 1.23 with options -X -A -b 5.6.0 Math::Polynomial
- Usable coefficient spaces are now any object classes with
well-defined basic arithmetic operations and equality checks.
- Degrees of coefficients in new() are now in ascending order and
therefore equivalent to array indexes.
- Objects are now immutable.
- Removed clone() method which would be useless for immutable objects.
- Removed tidy() and size() methods and dropped tidiness concept, as it
bore no mathematical significance.
- Added monomial constructor.
- Changed Lagrange interpolation to take arrays of x- and y-values.
- Added object method usage of constructors, to share coefficient space
and stringification attributes.
- Added usage of coeff() without parameter, yielding list of all coefficients.
- Added coefficients() method, yielding non-empty list of coefficients.
- Added coeff_zero() and coeff_one() methods, yielding zero and unit
elements of coefficient space.
- Added proper_degree() method yielding undef for zero polynomials.
- Added is_zero() method yielding true for zero polynomials.
- Renamed quotrem() operator to divmod().
- Added overloaded operators: ! ** << >> == !=
- Added operators: is_equal(), is_unequal(), add_const(), sub_const(),
mul_const(), div_const(), pow(), pow_mod(), shift_up(), shift_down(),
slice(), monize(), mmod(), gcd(), xgcd(), differentiate(), integrate(),
definite_integral().
- Renamed eval() method to evaluate() and sub() method to sub_().
- Removed configure() class method, renamed to_string() method to
as_string() and added optional configuration parameter.
- Added a plethora of configuration options for string representation.
- Added string_config method to configure as_string default behaviour
globally and per object.
- Changed internal object structure to improve extensibility.
- Reworked test suite and examples.
- Reworked pod documentation.
- Trashed previous contents of examples directory, added new examples.
- Added experimental module Math::Polynomial::Generic.
Math::Polynomial Version 0.04
-----------------------------
- Release date: 2007-07-12
- New maintainer: Martin Becker.
- Bugfix [rt.cpan.org #4788] (reported 2003 by prospective maintainer):
Method tidy() looped endlessly on zero polynomials.
- Bugfix: Crashed on adding a constant.
- Bugfix: Crashed on negating via overloaded unary minus.
- Bugfix: Division of polynomials of equal degree gave wrong results.
- Bugfix: Division crashed with non-"tidy" polynomials.
- Bugfix: Division failed to catch zero denominator.
- Bugfix: Verbose stringification produced lots of warnings under -W.
- Added more test cases.
- Renamed example directory, fixed imports and added table of contents
there.
- Added some metadata to Makefile.PL.
- Added documentation of exportable subroutines, moved quotrem to
subroutines section, clarified some definitions.
- Moved all imports to top of the module.
- Added more standard sections to POD, like VERSION, DIAGNOSTICS, LICENCE.
- Added development status notice to README.
Math::Polynomial Version 0.03
-----------------------------
- Release date: 2001-02-23.
- Added more text about interpolation in general and Math::Polynomial
specifically to the distribution.
- Fixed a bug where the last constant was omitted if it was one. This
bug was reported independently by Sergey V. Kolychev, John Hurst,
and Jeffrey S. Haemer (Minolta-QMS).
- By a suggestion from Jeffrey S. Haemer (Minolta-QMS) I also changed
the verbose format slightly to print 'x + -1' as 'x - 1' (and
similarly for all negative coefficients). For the special case,
where the first coefficient is negative, the minus sign is still
printed as if it was part of the coefficient; e.g., '-3*x + 4' is
still printed as '-3*x + 4'.
- By suggestion from John Gamble I moved Math::Interpolate to inside
the Math::Polynomial package---the subroutine is very small and
tightly coupled to the Math::Polynomial package.
Math::Polynomial Version 0.02
-----------------------------
- Release date: 1998-08-13.
- Fixed a bug that caused erroneous behaviour when 0 was used in the
interpolation routine.
Math::Polynomial Version 0.01
-----------------------------
- Release date: 1997-09-11.
- Author: Mats Kindahl
- Initial release.