Blame CHANGES

Packit dcde0c
2017-01-11 v0.5006 pjacklam
Packit dcde0c
Packit dcde0c
 * Fix syntax for required version of Math::BigInt::Lib.
Packit dcde0c
Packit dcde0c
 * Better checking of POD coverage.
Packit dcde0c
Packit dcde0c
 * Sync test files with Math-BigInt-1.999808.
Packit dcde0c
Packit dcde0c
2016-12-13 v0.5005 pjacklam
Packit dcde0c
Packit dcde0c
 * Add more logic to Makefile.PL regarding INSTALLDIRS (CPAN RT #119199
Packit dcde0c
   and #119225).
Packit dcde0c
Packit dcde0c
2016-12-11 v0.5004 pjacklam
Packit dcde0c
Packit dcde0c
 * Fix Makefile.PL so that this module installs over the core version.
Packit dcde0c
Packit dcde0c
 * Sync test files with Math-BigInt-1.999805.
Packit dcde0c
Packit dcde0c
2016-12-03 v0.5003 pjacklam
Packit dcde0c
Packit dcde0c
 * Use ExtUtils::MakeMaker rather than Module::Install in Makefile.PL
Packit dcde0c
Packit dcde0c
 * Add LICENSE file, since the other Math::BigInt-related distributions have
Packit dcde0c
   one.
Packit dcde0c
Packit dcde0c
 * Remove INSTALL file. The information is in the README file.
Packit dcde0c
Packit dcde0c
 * Inform that the TODO file is not up to date.
Packit dcde0c
Packit dcde0c
2016-11-23 v0.5002 pjacklam
Packit dcde0c
Packit dcde0c
 * Sync test files with Math-BigInt-1.999801. Add t/biglog.t and t/bigroot.t
Packit dcde0c
   since these are included in the test suite for the other backend libraries
Packit dcde0c
   (GMP and Pari).
Packit dcde0c
Packit dcde0c
2016-11-17 v0.5001 pjacklam
Packit dcde0c
Packit dcde0c
 * Avoid 'use parent' to retain compatibility with old Perls.
Packit dcde0c
Packit dcde0c
 * Fix incorrect version numbers in the CHANGES file.
Packit dcde0c
Packit dcde0c
 * Trim whitespace.
Packit dcde0c
Packit dcde0c
2016-11-15 v0.5000 pjacklam
Packit dcde0c
Packit dcde0c
 * Sync test files with Math-BigInt-1.999800.
Packit dcde0c
Packit dcde0c
 * Math::BigInt::FastCalc is now a subclass of Math::BigInt::Calc, so remove
Packit dcde0c
   aliases like *Math::BigInt::FastCalc::_xxx = \&Math::BigInt::Calc::_xxx.
Packit dcde0c
Packit dcde0c
 * Use OO-calls rather than function calls.
Packit dcde0c
Packit dcde0c
 * Fix documentation error in Math::BigInt::FastCalc
Packit dcde0c
Packit dcde0c
2016-04-25 v0.42 pjacklam
Packit dcde0c
Packit dcde0c
 * Sync test files with Math-BigInt-1.999719.
Packit dcde0c
Packit dcde0c
2016-04-22 v0.41 pjacklam
Packit dcde0c
Packit dcde0c
 * Sync test files with Math-BigInt-1.999718.
Packit dcde0c
Packit dcde0c
2016-01-03 v0.40 pjacklam
Packit dcde0c
Packit dcde0c
 * Sync test files with Math-BigInt-1.999714.
Packit dcde0c
Packit dcde0c
2015-12-31 v0.39 pjacklam
Packit dcde0c
Packit dcde0c
 * Sync test files with Math-BigInt-1.999713.
Packit dcde0c
Packit dcde0c
2015-12-02 v0.38 pjacklam
Packit dcde0c
Packit dcde0c
 * Use 'static double', not just 'double' in FastCalc.xs.
Packit dcde0c
Packit dcde0c
 * Move 'Test::More' from 'build_requires' to 'test_requires' in Makefile.PL.
Packit dcde0c
Packit dcde0c
2015-11-09 v0.37 pjacklam
Packit dcde0c
Packit dcde0c
 * Sync test files with Math-BigInt-1.999709.
Packit dcde0c
Packit dcde0c
2015-11-04 v0.36 pjacklam
Packit dcde0c
Packit dcde0c
 * Sync test files with Math-BigInt-1.999708.
Packit dcde0c
Packit dcde0c
 * Required version of Test::More is only 0.47, not 0.62.
Packit dcde0c
Packit dcde0c
2015-10-28 v0.35 pjacklam
Packit dcde0c
Packit dcde0c
 * Sync test files with Math-BigInt-1.999707.
Packit dcde0c
Packit dcde0c
 * Update the README file.
Packit dcde0c
Packit dcde0c
 * Replace 'use vars ...' with 'our ...'. We require a Perl newer than 5.6.0
Packit dcde0c
   anyway.
Packit dcde0c
Packit dcde0c
 * Required version of Math-BigInt is now 1.999706.
Packit dcde0c
Packit dcde0c
 * Move 'Test::More' from 'build_requires' to 'test_requires' in Makefile.PL.
Packit dcde0c
Packit dcde0c
2015-09-21 v0.34 pjacklam
Packit dcde0c
Packit dcde0c
 * Sync test files with Math-BigInt-1.999703.
Packit dcde0c
Packit dcde0c
 * Required version of Math-BigInt is now 1.999703.
Packit dcde0c
Packit dcde0c
 * Update author information.
Packit dcde0c
Packit dcde0c
2015-09-17 v0.33 pjacklam
Packit dcde0c
Packit dcde0c
 * Sync test files with Math-BigInt-1.999702.
Packit dcde0c
Packit dcde0c
 * Required version of Math-BigInt is now 1.999702.
Packit dcde0c
Packit dcde0c
2015-09-11 0.32 pjacklam
Packit dcde0c
 CHANGES
Packit dcde0c
  * Add changes from version 0.30 to 0.31.
Packit dcde0c
  * Re-order change entries to decreasing order after version number.
Packit dcde0c
 inc/Module/Install.pm
Packit dcde0c
  * Update bundled version from 1.08 to 1.16.
Packit dcde0c
 lib/Math/BigInt/FastCalc.pm
Packit dcde0c
  * Increase version number to 0.32
Packit dcde0c
  * Update author information.
Packit dcde0c
 Makefile.PL
Packit dcde0c
  * Required version of Math::BigInt and Math::BigInt::Calc is 1.999701.
Packit dcde0c
 t/01load.t
Packit dcde0c
  * Display more information about loaded modules.
Packit dcde0c
 t/bigfltpm.inc
Packit dcde0c
  * Sync tests with Math-BigInt distribution.
Packit dcde0c
 t/bigfltpm.t
Packit dcde0c
  * Adjust number of tests.
Packit dcde0c
  * Make sure we test Math::BigInt::FastCalc, not Math::BigInt::Calc.
Packit dcde0c
 t/bigintpm.inc
Packit dcde0c
  * Fix spelling errors.
Packit dcde0c
 t/bigintpm.t
Packit dcde0c
  * Make sure we test Math::BigInt::FastCalc, not Math::BigInt::Calc.
Packit dcde0c
  * Adjust number of tests.
Packit dcde0c
 t/mbimbf.t
Packit dcde0c
  * Make sure we test Math::BigInt::FastCalc, not Math::BigInt::Calc.
Packit dcde0c
 t/*.t
Packit dcde0c
  * Add "use warnings" to test scripts, since Perl 5.6.2 is required anyway,
Packit dcde0c
    and "use warnings" was introduced in Perl 5.6.1.
Packit dcde0c
  * Modified test scripts so the difference between the test files in the
Packit dcde0c
    Math-BigInt distribution and the backend distributions are as few and as
Packit dcde0c
    small as possible. This makes for easier release management.
Packit dcde0c
Packit dcde0c
2014-03-04 0.31 pjacklam
Packit dcde0c
 FastCalc.xs
Packit dcde0c
  * Make the array interface 64-bit safe by using SSize_t instead of I32.
Packit dcde0c
 Makefile.PL
Packit dcde0c
  * Required version of Math::BigInt and Math::BigInt::Calc is 1.9993.
Packit dcde0c
 inc/Module/Install.pm
Packit dcde0c
  * Update bundled version from 1.01 to 1.08.
Packit dcde0c
 lib/Math/BigInt/FastCalc.pm
Packit dcde0c
  * Increase version number to 0.31
Packit dcde0c
 lib/Math/BigInt/FastCalc.pm
Packit dcde0c
  * Add documentation about CPAN RT, CPAN testers etc.
Packit dcde0c
 t/bigfltpm.inc
Packit dcde0c
  * Add tests for fint()/bint().
Packit dcde0c
 t/bigfltpm.t
Packit dcde0c
  * Increase number of tests.
Packit dcde0c
 t/bigintpm.inc
Packit dcde0c
  * Add tests for bint().
Packit dcde0c
 t/bigintpm.t
Packit dcde0c
  * Increase number of tests.
Packit dcde0c
 t/leak.t
Packit dcde0c
  * Change "use base" to "use parent".
Packit dcde0c
 t/mbi_rand.t
Packit dcde0c
  * Include older version of this file, one that tests Math::BigInt::FastCalc,
Packit dcde0c
    not Math::BigInt::Calc.
Packit dcde0c
Packit dcde0c
2011-09-04 0.30 pjacklam
Packit dcde0c
Packit dcde0c
 * Math::BigInt::FastCalc now requires Math::BigInt v1.997 (Peter John Acklam).
Packit dcde0c
Packit dcde0c
 * Include "^MYMETA\.(yml|json)\z" in MANIFEST.SKIP. Whereas META.* are
Packit dcde0c
   generated by the distribution author at packaging time, MYMETA.* are
Packit dcde0c
   generated by the end user at configure time after any dynamic
Packit dcde0c
   dependencies are known. (Peter John Acklam)
Packit dcde0c
Packit dcde0c
 * Updated common test files from the Math::BigInt distribution. (Peter
Packit dcde0c
   John Acklam)
Packit dcde0c
Packit dcde0c
2011-07-09 0.29 rafl (7560 tests)
Packit dcde0c
Packit dcde0c
 * Synchronise with blead perl.
Packit dcde0c
   + Reduce object code size significantly through PERL_NO_GET_CONTEXT.
Packit dcde0c
Packit dcde0c
2011-02-26 0.28 pjacklam (7560 tests)
Packit dcde0c
Packit dcde0c
 * Sync codebases (CPAN vs. blead): include t/mbi_rand.t from blead,
Packit dcde0c
   fix typos in FastCalc.xs and t/bigintfc.t (Peter John Acklam).
Packit dcde0c
Packit dcde0c
 * Remove redundant Math::BigInt::FastCalc version info from diagnostic
Packit dcde0c
   output of 01load.t (Peter John Acklam).
Packit dcde0c
Packit dcde0c
2011-02-26 0.27 pjacklam (7560 tests)
Packit dcde0c
Packit dcde0c
 * Add Math::BigInt::Calc version information to diagnostics output of
Packit dcde0c
   01load.t. This is useful for debugging, since Math::BigInt::FastCalc
Packit dcde0c
   relies heavily on Math::BigInt::Calc (Peter John Acklam).
Packit dcde0c
Packit dcde0c
 * Change bigintpm.inc to reflect recent changes in the Math::BigInt
Packit dcde0c
   distribution (Peter John Acklam).
Packit dcde0c
Packit dcde0c
2011-02-08 0.26 pjacklam (7560 tests)
Packit dcde0c
Packit dcde0c
 * Add Perl v5.6 compatibility code to FastCalc.xs (RT #63859)
Packit dcde0c
   (Peter John Acklam).
Packit dcde0c
Packit dcde0c
 * Add 00sig.t for testing SIGNATURE, and 01load.t for basic module loading
Packit dcde0c
   and giving diagnostics useful for bug tracking (Peter John Acklam).
Packit dcde0c
Packit dcde0c
 * Rename pod.t to 02pod.t and pod_cov.t to 03podcov.t and use more generic
Packit dcde0c
   code (Peter John Acklam).
Packit dcde0c
Packit dcde0c
2011-02-06 0.251 pjacklam (7558 tests)
Packit dcde0c
Packit dcde0c
 * Add requirement Math::BigInt version 1.991 (Peter John Acklam).
Packit dcde0c
Packit dcde0c
2011-02-05 0.25 pjacklam (7558 tests)
Packit dcde0c
Packit dcde0c
 * Remove _new() from XS code and use _new() in Math::BigInt::Calc
Packit dcde0c
   instead. The XS _new() doesn't handle integers that are too large to
Packit dcde0c
   be represented exactly as floating point numbers, but small enough
Packit dcde0c
   to be represented as 64 bit integers. The XS _new() also returns
Packit dcde0c
   nan, not inf, when it overflows. This closes RT #63335 and RT #49569
Packit dcde0c
   (Peter John Acklam).
Packit dcde0c
Packit dcde0c
 * Copied test files from latest Math::BigInt (v1.991): bigfltpm.inc,
Packit dcde0c
   bigfltpm.t, bigintpm.inc, bigintpm.t, mbi_rand.t, mbimbf.inc,
Packit dcde0c
   mbimbf.t (Peter John Acklam).
Packit dcde0c
Packit dcde0c
2010-11-07 0.24 rafl (6938 tests)
Packit dcde0c
Packit dcde0c
 * Reduce repetition (and object size) in FastCalc.xs by using ALIASes
Packit dcde0c
   (Nicholas Clark).
Packit dcde0c
Packit dcde0c
 * inline the macros CONSTANT_OBJ and RETURN_MORTAL_BOOL. (Nicholas Clark).
Packit dcde0c
Packit dcde0c
 * Avoid creating two entries instead of one on the mortals stack in _new() and
Packit dcde0c
   _zero() (Nicholas Clark).
Packit dcde0c
Packit dcde0c
 * Convert from DynaLoader to XSLoader (Nicholas Clark).
Packit dcde0c
Packit dcde0c
 * Adapt to the changed order of the return value Math::BigInt::Calc::_base_len
Packit dcde0c
   in Math::BigInt 1.97 (Nicholas Clark).
Packit dcde0c
Packit dcde0c
 * Initialise BASE and BASE_LEN as part of bootstrap, avoiding special one-shot
Packit dcde0c
   setter routines (Nicholas Clark).
Packit dcde0c
Packit dcde0c
 * Remove the $BASE or $BASE_LEN globals. They were never documented or
Packit dcde0c
   exported, and are now unnecessary (Nicholas Clark).
Packit dcde0c
Packit dcde0c
2010-09-14 0.22 rafl (6938 tests)
Packit dcde0c
Packit dcde0c
 * Modernize the test suite to use Test::More instead of Test.
Packit dcde0c
Packit dcde0c
2010-09-03 0.21 rafl (6892 tests)
Packit dcde0c
Packit dcde0c
 * Remove some unneeded test code which only broke things when being ran in the
Packit dcde0c
   perl core.
Packit dcde0c
Packit dcde0c
2010-09-03 0.20 rafl (6892 tests)
Packit dcde0c
Packit dcde0c
 * Avoid certain kinds of segfaults as well as wrong bnok() behaviour by
Packit dcde0c
   depending on Math::BigInt 0.90.
Packit dcde0c
Packit dcde0c
2008-04-15 0.19 Tels (6892 tests)
Packit dcde0c
Packit dcde0c
 * forcefully regenerate META.yml (sigh@Module::Install)
Packit dcde0c
Packit dcde0c
2008-04-15 0.18 Tels (6892 tests)
Packit dcde0c
Packit dcde0c
 * fix compilation under v5.6.2 (sigh)
Packit dcde0c
Packit dcde0c
2008-04-13 0.17 Tels (6892 tests)
Packit dcde0c
Packit dcde0c
 * forgot SvIOK() to SvUOK() (bug #29720, Thanx Alexey Tourbin!)
Packit dcde0c
Packit dcde0c
2007-09-16 0.16 Tels (6892 tests)
Packit dcde0c
Packit dcde0c
 * require Math::BigInt 1.88
Packit dcde0c
Packit dcde0c
 * disable prototypes
Packit dcde0c
Packit dcde0c
 * fix SvIV() vs. SvUV() in _new() (fix bug #29720)
Packit dcde0c
Packit dcde0c
 * it works back to v5.006 (thanx zefram!)
Packit dcde0c
Packit dcde0c
2007-06-30 0.15 Tels (6892 tests)
Packit dcde0c
Packit dcde0c
 * require Math::BigInt 1.87
Packit dcde0c
Packit dcde0c
 * add _nok()
Packit dcde0c
Packit dcde0c
 * bundle and use Module::Install
Packit dcde0c
Packit dcde0c
 * put _new() into the XS
Packit dcde0c
Packit dcde0c
2007-04-17 0.14 Tels (6438 tests)
Packit dcde0c
Packit dcde0c
 * require Math::BigInt 1.83
Packit dcde0c
Packit dcde0c
 * support api_version() 2 by adding _1ex() and _alen()
Packit dcde0c
Packit dcde0c
 * add a few tests
Packit dcde0c
Packit dcde0c
2007-04-09 0.13 Tels (6280 tests)
Packit dcde0c
Packit dcde0c
 * require Math::BigInt 1.82
Packit dcde0c
Packit dcde0c
 * revert the accidentily change to "NV elems" in _len
Packit dcde0c
   (basically, apply the fix that was already in blead to the CPAN release)
Packit dcde0c
Packit dcde0c
 * plug all the leaks in _acmp(), _is_ten() etc. (Thanx Hugo!)
Packit dcde0c
Packit dcde0c
2007-03-03 0.12 Tels (6280 tests)
Packit dcde0c
Packit dcde0c
 * fix bug #25033 It leaks (Thanx M. Schwern!)
Packit dcde0c
Packit dcde0c
 * require Perl 5.6.2, anything older is unsupported and untested
Packit dcde0c
Packit dcde0c
2007-02-02 0.11 Tels (5953 tests)
Packit dcde0c
Packit dcde0c
 * require Math::BigInt 1.79
Packit dcde0c
Packit dcde0c
 * add support for _as_oct() and _from_oct()
Packit dcde0c
Packit dcde0c
 * add _length() to the method list
Packit dcde0c
Packit dcde0c
2005-03-30 0.10 Tels (5953 tests)
Packit dcde0c
Packit dcde0c
 * load Calc.pm and use its code to provide the routines that FastCalc
Packit dcde0c
   does not yet have in XS (cut down Copy&Paste code considerably
Packit dcde0c
Packit dcde0c
 * require Math::BigInt v1.76 to properly load Calc.pm
Packit dcde0c
Packit dcde0c
2005-03-20 0.09 Tels (5953 tests)
Packit dcde0c
Packit dcde0c
 * take over changes from Calc 0.45 (fix bug with div shortcut)
Packit dcde0c
Packit dcde0c
 * require Math::BigInt v1.75 and use its tests
Packit dcde0c
Packit dcde0c
2005-01-01 0.08 Tels (5953 tests)
Packit dcde0c
Packit dcde0c
 * take tests from BigInt v1.74 and require it
Packit dcde0c
Packit dcde0c
 * remove needless Exporter in FastCalc
Packit dcde0c
Packit dcde0c
 * Makefile.PL: add writing of own meta file with correct licence
Packit dcde0c
Packit dcde0c
 * take over changes from Calc 0.44
Packit dcde0c
Packit dcde0c
2004-08-13 0.07 Tels (5953 tests)
Packit dcde0c
Packit dcde0c
 * require BigInt v1.71, adapted to new API style by taking over Calc v0.41
Packit dcde0c
   + added _is_two(), _is_ten(), and _ten()
Packit dcde0c
Packit dcde0c
 * cleaned XS code, got rid of "unused var" warnings (thanx perl-xs people!)
Packit dcde0c
Packit dcde0c
2002-08-25 0.06 Tels (5355 tests)
Packit dcde0c
Packit dcde0c
 * working _modinv() and fix for _rsft() taken over from Calc v0.32
Packit dcde0c
Packit dcde0c
 * added tests for _rsft() and _modinv()
Packit dcde0c
Packit dcde0c
 * require Math::BigInt v1.62
Packit dcde0c
Packit dcde0c
 * _num(), _dec() and _inc() are now in XS
Packit dcde0c
   $MBI->numify() is about 50% faster
Packit dcde0c
   $MBI->binc()/$MBI->bdec() are about 5-8% faster for numbers that don't
Packit dcde0c
   overflow (much), and about 14% for ('9' x 100)->binc()
Packit dcde0c
Packit dcde0c
 * __strip_zeros() is no in XS, making it roughly 3 times as fast
Packit dcde0c
Packit dcde0c
 * added _copy(): more than twice as fast for large (> 1000 digits) numbers:
Packit dcde0c
Packit dcde0c
 Math::BigInt::Calc v0.32
Packit dcde0c
          1:  3s ( 3.23 usr +  0.00 sys =  3.23 CPU) @ 38128/s (n=123154)
Packit dcde0c
        100:  3s ( 3.19 usr +  0.00 sys =  3.19 CPU) @ 27397/s (n=87397)
Packit dcde0c
       1000:  4s ( 3.29 usr +  0.00 sys =  3.29 CPU) @  8042/s (n=26460)
Packit dcde0c
      10000:  4s ( 3.19 usr +  0.01 sys =  3.20 CPU) @   984/s (n=3149)
Packit dcde0c
Packit dcde0c
 Math::BigInt::FastCalc v0.06
Packit dcde0c
          1:  3s ( 3.12 usr +  0.01 sys =  3.13 CPU) @ 39346/s (n=123155)
Packit dcde0c
        100:  3s ( 3.10 usr +  0.00 sys =  3.10 CPU) @ 34138/s (n=105830)
Packit dcde0c
       1000:  3s ( 3.09 usr +  0.00 sys =  3.09 CPU) @ 15807/s (n=48844)
Packit dcde0c
      10000:  3s ( 3.20 usr +  0.00 sys =  3.20 CPU) @  2362/s (n=7559)
Packit dcde0c
Packit dcde0c
2002-08-13 0.05 Tels (5224 tests)
Packit dcde0c
Packit dcde0c
 * the note that "_len() and _acmp() are in XS" was missing
Packit dcde0c
Packit dcde0c
 * cleaned distribution of unwanted files
Packit dcde0c
Packit dcde0c
2002-08-13 0.04 Tels first release
Packit dcde0c
 - added is_zero(), is_one(), _zero(), _one(), _two() and _acmp()
Packit dcde0c
 - more tests in bigintfc.t
Packit dcde0c
Packit dcde0c
 Some general observations:
Packit dcde0c
Packit dcde0c
 * is_*() methods are quite a bit faster than in Calc, but due to the
Packit dcde0c
   overhead in Math::BigInt real programs will get only a bit faster
Packit dcde0c
   (around 2-5%).
Packit dcde0c
Packit dcde0c
 * Comparisation is *much* faster, and even via Math::BigInt improves the
Packit dcde0c
   performance by about factor 9 for large numbers. For smaller numbers (less
Packit dcde0c
   than 8000 digits) it is still about factor 2.5 to 8. This is only valid if
Packit dcde0c
   the numbers have both the same length. If the length is different, then
Packit dcde0c
   FastCalc is still about a factor of 1.2 to 1.7 faster than Calc.
Packit dcde0c
Packit dcde0c
2002-08-12 0.03 Tels
Packit dcde0c
 - Took Calc.pm and converted it to FastCalc.pm
Packit dcde0c
 - first two functions, _is_odd() and _is_even() in XS
Packit dcde0c
 - testsuite from MBI v1.61
Packit dcde0c
 - extended bigintc.t (also renamed to bigintfc.t)
Packit dcde0c
Packit dcde0c
2002-08-09 0.02 Tels
Packit dcde0c
 - first working version of XS code of _is_even(), _is_odd()
Packit dcde0c
Packit dcde0c
2002-06-05 0.01
Packit dcde0c
       - original version; created by h2xs 1.21 with options
Packit dcde0c
               -n Math::BigInt::FastCalc -A