The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.
Revision history for Perl extension Math::NumberCruncher.

5.00 05-Mar-2002 12:29:30 PM
    - Added the following:
        sin()
        cos()
        sqrt()
        log()
        exp()
        PICONST()
        Inverse()
        km2miles()
        miles2km()
        CONSTANT()
        Bernoulli()
    - Made the following functions available for export: log(), exp(),
      sqrt(), sin(), cos(), asin(), acos(), atan(), sec(), asec(),
      csc(), acsc(), exsec(), cot(), acot(), vers(), covers(), hav().
    - sqrt(), sin(), cos(), log(), and exp() were created and/or modified
      to serve as drop-in replacements for their respective built-in
      functions. Usage is the same, with the option of specifying the number
      of desired decimal places.
    - Completely overhauled the bulk of the included functions to allow
      for the user to specify the number of desired decimal places. In 
      some cases, it was not possible to maintain backwards compatability.
      Please be certain to test your scripts with this version of 
      Math::NumberCruncher thoroughly.

4.05 Mon Jan 07 10:13:40 2002
    - Added acsc()
    - Added SIS(), which calculates a super-increasing sequence
    - SIGNIFICANT optimization to Ln(), Exp(), Root2(), ECONST() and
      related functions, thanks to Douglas Wilson. With his assistance,
      managed to get a an improvement in ECONST() of 12,592% for less
      than or equal to 500 decimal places. Seriously. Ln(), et al., showed
      an improvement in excess of 100%.

4.04 Wed Jan 02 12:09:44 2002
    - Added Ln(), which calculates the natural log of a number
      to a given number of decimal places.
    - Added Exp(), which performs the inverse of Ln().
    - Added Root2(), which calculates the N-th root of a given number 
      using logarithms, rather than Newton's Method, which is what is
      used in Root(). Root2() allows you to specify the number of decimal
      places wanted. For particularly large number and/or roots, Root2()
      is sometimes faster and/or more accurate.
    - Made significant optimization to Root(). It is now more accurate and
      substantially faster than v4.03. Thanks to the folks at perlmonks.org
      for their input on the optimization.
    - Modified SqrRoot() to use Root(), rather than separate code.
    - Added PythagTriples() and PythagTriplesSeq().
    - Special thanks to Douglas Wilson for allowing me to borrow his code
      for Ln(), Exp(), Root2(), and the various other "behind-the-scenes" 
      functions for same. Douglas's code is based on an algorithm described 
      at http://www.geocities.com/zabrodskyvlada/aat/.

4.03 Wed Dec 19 15:44:11 2001
    - Fixed the Variance() test to allow for slight error tolerance.
    - Added Root(), which calculates the N-th root of a given number.

4.02 Mon Dec 17 11:49:18 2001
    - Modified all routines that use square roots to use
      the internal SqrRoot() function whenever possible, 
      and included abs() to account for bad data.
    - Added complete test suite for all functions.

4.0  Wed Nov 21 16:21:43 2001
    - Added OO interface. Will continue to support
      funcitonal interface for backward compatibility.
    - Added the following:
        Eccentricity()
        LatusRectum()
        EllipseArea()
        OrbitalVelocity()
        SqrRoot()
        asin()
        acos()
        atan()
        acot()
        asec()
        sec()
        csc()
        exsec()
        tan()
        cot()
        vers()
        covers()
        hav()

3.0  Mon Jul 02 10:41:09 2001
    - Fixed typo in Range()
    - Added data verification prior to processing to all routines that 
      got grumpy when insufficient/improper data was passed. (Thanks 
      again to Ronald Blaschke, M.S.)
    - Added DimensionlessSpeed_2()
    - Added copyright info

2.2  Wed Jun 27 14:54:05 2001
    - Made minor change to Mean() and Range() to return undef on error. 
      (Thanks to Ronald Blaschke, M.S.)
    - Added the following:
        RuleOf72()
        CylinderVolume()
        ConeVolume()
        Deg2Rad()
        Rad2Deg()
        C2F()
        F2C()
        in2cm()
        cm2in()
        ft2m()
        m2ft()
        kg2lb()
        lb2kg()
        RelativeStride()
        RelativeStride_2()
        DimensionlessSpeed()
        ActualSpeed()
    - Added value of e out to 200 places.

2.0  Mon Feb 12 11:50:58 2001
    - Added many new features:
        TriangleHeron()
        PolygonPerimeter()
        Clockwise()
        InPolygon()
        InTriangle()
        BoundingBox_Points()
        PolygonArea()
        CircleArea()
        Circumference()
        SphereVolume()
        SphereSurface()

1.3  Sat Nov 25 17:18:44 2000
    - Corrected error in Difference()
      (Thanks to Rusty Thomas, Ph.D., for finding the error.)

1.21 Tue Sep 19 08:57:51 2000
    - Corrected typo in AllOf()
      (Thanks to Wim Verhaegen for finding the error.)

1.2  Mon Sep 18 13:24:43 2000
    - Fixed minor error in Range()
    - Added Predict(), for predicting value of Y, given slope, y-intercept, 
      and proposed x value.

1.1  Wed Aug 30 14:41:52 2000
    - First public version