Revision history for Perl extension Math::Polynomial.
1.021 2021-04-03
-
migrate from subversion to git
-
switch bugtracker to github
-
clean up Makefile.PL
-
finally remove Math::Polynomial::Generic stub
-
add CONTRIBUTING file
1.019 2021-01-07
-
Added deflate and unnest.
1.018 2019-12-30
-
Added inflate.
1.017 2019-12-17
-
Added lcm.
1.016 2019-11-20
-
Added number_of_terms.
-
Changed license to Artistic License 2.0.
1.015 2019-09-11
-
Renamed undocumented methods for protection.
-
Documented now protected _NFIELDS method.
-
Added subclassing tests.
-
Re-formatted Changes file.
1.014 2017-11-14
-
Added mirror and is_even/is_odd methods.
-
Removed deprecated Math::Polynomial::Generic extension. Almost.
-
Math::AnyNum replaces Math::BigNum in recommendations and examples.
1.013 2017-06-14
-
Fixed old Exporter compatibility issue in test suite
1.012 2017-06-11
-
Compatibility tests with alien modules do not trigger failures
any more. Closes: [rt.cpan.org #114004], [rt.cpan.org #118895]
-
Math::BigNum replaces Math::BigRat in recommendations and examples.
1.011 2016-08-08
-
Metadata now recommends Math::BigRat 0.260804.
-
Improved test diagnostics addressing a Math::BigRat issue
[rt.cpan.org #114004]
.
1.009 2016-07-28
-
Improved metadata.
-
Added deprecation warning to Math::Polynomial::Generic.
1.008 2015-04-18
-
Added wrap parameter for string_configuration.
1.007 2015-03-13
-
Added exp_mod() method.
-
Scheduled Math::Polynomial::Generic for deprecation.
1.006 2013-05-28
-
Small documentation fixes.
1.005 2012-09-23
-
Lifted a limitation on coefficients for differentiate()
and integrate().
-
Added an optimization for pow() and pow_mod().
1.004 2010-09-26
-
Eliminated a perl-5.10-ism that had slipped into the test suite.
1.003 2010-09-08
-
Added optimization for monic denominators to mmod.
-
Added small optimization to nest.
-
Deprecated optional parameter of div_root.
-
Added as_horner_tree and as_power_sum_tree methods, discussed in
[rt.cpan.org #46575]
.
-
Added tests covering tree conversion methods.
-
Added sign_of_coeff parameter for stringification and tree
conversions.
-
Simplified Horner example script.
-
Added example script demonstrating Math::Symbolic interoperability.
-
Added test covering Math::ModInt interoperability.
1.002 2009-06-11
-
Improved interpolation polynomial calculation by one order of
magnitude (O(n**3) => O(n**2)).
-
Added optimization for monic denominators to div / mod / divmod.
-
Added from_roots constructor and mul_root / div_root / divmod_root
methods suggested by Kevin Ryde [rt.cpan.org #46427].
1.001 2009-05-19
-
Repackaged after Math-Polynomial-1.000.tar.gz had file transmission
problems on its way to CPAN.
1.000 2009-05-19
-
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.
-
Objects are now essentially immutable. The only property that
may be changed dynamically configures formatting defaults.
Thus, cloning is hardly ever necessary.
-
Removed tidy() and size() methods and dropped tidiness concept,
as it bore no mathematical significance.
-
Degrees of coefficients in new() are now in ascending order and
therefore equivalent to array indexes.
-
Added monomial constructor.
-
Changed Lagrange interpolation to take arrays of x- and y-values.
-
Extended constructors to borrow coefficient space and
stringification attributes when used as object methods.
-
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: bool ! ** << >> == !=
-
Added methods: is_nonzero(), is_equal(), is_unequal(),
is_monic(), add_const(), sub_const(), mul_const(), div_const(),
pow(), pow_mod(), inv_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 lots of configuration options for string representation.
-
Added string_config() method to configure as_string default behaviour
globally and per object.
-
Added $max_degree class variable to configure parameter
sanity tests.
-
Changed internal object structure to improve extensibility.
-
Reworked test suite and examples.
-
Reworked pod documentation.
-
Added experimental module Math::Polynomial::Generic.
0.04 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,
LICENSE.
-
Added development status notice to README.
0.03 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.
0.02 1998-08-13
-
Fixed a bug that caused erroneous behaviour when 0 was used
in the interpolation routine.
0.01 1997-09-11
-
Author: Mats Kindahl
-
Initial release.