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