1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121

Revision history for MathUtils
1.14
10 Apr 2020
 Add the function softmax(). Currently in the :utility tag
group, which may be too generic. We'll see what else gets
added later and adjust the tagging then.
 New functions uniform_scaling(), and uniform_01scaling(),
contributed by Gene Boggs (GENE).
 Typo found by Miguel Prz (NICEPERL) fixed.
1.13
30 Oct 2018
 Add function pl_translate(), by request.
 Turn README into README.md. With MetaCPAN replacing CPAN,
there is no reason to have a plaintext README anymore
(MetaCPAN doesn't treat the file as special).
 Add a CONTRIBUTING.md file, which is becoming a thing.
 New test file for pl_translate(), and upgrade test files
that for some reason were still using Test::Simple to Test::More.
 Added an :all tag. Why not.
1.12
26 Jun 2018
 Typo found by Florian Schlichting fixed.
 Add gcd() and lcm() functions.
 New example scripts (a couple transferred over from
Math::Polynomial::Solve) in the new eg/ directory.
1.11
11 Aug 2017
 Stupidly depended on Module::Start's boilerplate text for the
license, which points to a differently worded license text
from what I've got in the LICENSE file. Changed that.
1.10
10 May 2017
 Extended pl_evaluate() to allow lists of values for the X terms.
Lists may be of values or of ARRAY refs.
 Added tests in 16evaluate.t for the list cases.
1.09
11 May 2016
 New function fsum(), using Kahan's summation algorithm.
 Added tests in 17derivativeeval.t to check for the
linear polynomial and the constantonly polynomial.
(They passed, but until now those cases hadn't been tested.)
 Extend the documentation for pl_div(), emphasizing the
need to remove leading zeros.
1.08
24 Feb 2016
 Inlined the comparison functions of generate_relational().
 Default tolerance was just under square root of (an) epsilon,
changed to to just over.
 Updated 01compare.t to test edge cases.
 Added a log2() function, because why not.
1.07
23 Nov 2015
 Search using grep.cpan.me indicated that floor() and ceil()
functions weren't defined in generalpurpose modules (and
the modules they were in were pretty heavyweight). Decided
to add them to the module.
 Repeated modulus of a number was worth making into
utility function moduli().
1.06
7 Oct 2015
 The if statements were laid out in generate_fltcmp in
a way that could return a 1 (less than) when the two
values were actually equal within tolerance. Changed this.
 Renamed some test files so that the compare test comes
first.
1.05
25 Sep 2015
 Bug in pl_derivative() for linear equation case.
 Added test cases to cover it.
1.04
20 Sep 2015
 I had bumped the version number everywhere but in the module
itself. This will probably complicate something, so
fix this everywhere with a version 1.04.
 Add a flipsign() function to the :utility list.
 More documention cleanup. Mention Math::VecStat
in the SEE ALSO.
1.03
18 Sep 2015
 Put :fortran tagged functions copysign() and log10()
in the :utility tagging. The :fortran tag sticks around
though.
 New function pl_dxevaluate() for returning the y, dy,
d2y values of the polynomial at x.
 New test files for pl_evaluate() and pl_dxevaluate().
1.02
15 Sep 2015
 Documentation error in pl_div() (misnamed variables
in the example).
 Extended the SEE ALSO paragraph.
 Very minor code cleanup in pl_antiderivative().
1.01
5 Sep 2015
 I had left test file 15objcoeff.t off the MANIFEST list. Oops.
 Embarrassing number of grammatical and spelling errors fixed.
 Clarified a couple of examples, and extended the
pl_antiderivative() documentation with respect to the
constant term.
 Version bump; up to CPAN.
1.00
3 Sep 2015
 Added the coefficient list functions for addition, subtraction,
division, multiplication, derivative, antiderivative,
and evaluation (via Horner's method) of polynomials without
actually creating a polynomial object.
 Added the tests for the above operations.
0.02
30 Aug 2015
 CPAN testers caught a 5.10ism in the module, which is
listed as okay for version 5.8. Decided to bump the
minimum version requirement to 5.10.1.
 Documentation was sketchy, so added more descriptive
text and examples.
 Version bump; up to CPAN.
0.01
18 Aug 2015
 Collection of utility functions for Math modules, starting
with the functions of MathFortran as a base.
