Revision history for Perl extension Math::NumberCruncher.

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 in test.pl 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