1Revision history for Perl extension Math::NumberCruncher. 2 35.00 05-Mar-2002 12:29:30 PM 4 - Added the following: 5 sin() 6 cos() 7 sqrt() 8 log() 9 exp() 10 PICONST() 11 Inverse() 12 km2miles() 13 miles2km() 14 CONSTANT() 15 Bernoulli() 16 - Made the following functions available for export: log(), exp(), 17 sqrt(), sin(), cos(), asin(), acos(), atan(), sec(), asec(), 18 csc(), acsc(), exsec(), cot(), acot(), vers(), covers(), hav(). 19 - sqrt(), sin(), cos(), log(), and exp() were created and/or modified 20 to serve as drop-in replacements for their respective built-in 21 functions. Usage is the same, with the option of specifying the number 22 of desired decimal places. 23 - Completely overhauled the bulk of the included functions to allow 24 for the user to specify the number of desired decimal places. In 25 some cases, it was not possible to maintain backwards compatability. 26 Please be certain to test your scripts with this version of 27 Math::NumberCruncher thoroughly. 28 294.05 Mon Jan 07 10:13:40 2002 30 - Added acsc() 31 - Added SIS(), which calculates a super-increasing sequence 32 - SIGNIFICANT optimization to Ln(), Exp(), Root2(), ECONST() and 33 related functions, thanks to Douglas Wilson. With his assistance, 34 managed to get a an improvement in ECONST() of 12,592% for less 35 than or equal to 500 decimal places. Seriously. Ln(), et al., showed 36 an improvement in excess of 100%. 37 384.04 Wed Jan 02 12:09:44 2002 39 - Added Ln(), which calculates the natural log of a number 40 to a given number of decimal places. 41 - Added Exp(), which performs the inverse of Ln(). 42 - Added Root2(), which calculates the N-th root of a given number 43 using logarithms, rather than Newton's Method, which is what is 44 used in Root(). Root2() allows you to specify the number of decimal 45 places wanted. For particularly large number and/or roots, Root2() 46 is sometimes faster and/or more accurate. 47 - Made significant optimization to Root(). It is now more accurate and 48 substantially faster than v4.03. Thanks to the folks at perlmonks.org 49 for their input on the optimization. 50 - Modified SqrRoot() to use Root(), rather than separate code. 51 - Added PythagTriples() and PythagTriplesSeq(). 52 - Special thanks to Douglas Wilson for allowing me to borrow his code 53 for Ln(), Exp(), Root2(), and the various other "behind-the-scenes" 54 functions for same. Douglas's code is based on an algorithm described 55 at http://www.geocities.com/zabrodskyvlada/aat/. 56 574.03 Wed Dec 19 15:44:11 2001 58 - Fixed the Variance() test to allow for slight error tolerance. 59 - Added Root(), which calculates the N-th root of a given number. 60 614.02 Mon Dec 17 11:49:18 2001 62 - Modified all routines that use square roots to use 63 the internal SqrRoot() function whenever possible, 64 and included abs() to account for bad data. 65 - Added complete test suite for all functions. 66 674.0 Wed Nov 21 16:21:43 2001 68 - Added OO interface. Will continue to support 69 funcitonal interface for backward compatibility. 70 - Added the following: 71 Eccentricity() 72 LatusRectum() 73 EllipseArea() 74 OrbitalVelocity() 75 SqrRoot() 76 asin() 77 acos() 78 atan() 79 acot() 80 asec() 81 sec() 82 csc() 83 exsec() 84 tan() 85 cot() 86 vers() 87 covers() 88 hav() 89 903.0 Mon Jul 02 10:41:09 2001 91 - Fixed typo in Range() 92 - Added data verification prior to processing to all routines that 93 got grumpy when insufficient/improper data was passed. (Thanks 94 again to Ronald Blaschke, M.S.) 95 - Added DimensionlessSpeed_2() 96 - Added copyright info 97 982.2 Wed Jun 27 14:54:05 2001 99 - Made minor change to Mean() and Range() to return undef on error. 100 (Thanks to Ronald Blaschke, M.S.) 101 - Added the following: 102 RuleOf72() 103 CylinderVolume() 104 ConeVolume() 105 Deg2Rad() 106 Rad2Deg() 107 C2F() 108 F2C() 109 in2cm() 110 cm2in() 111 ft2m() 112 m2ft() 113 kg2lb() 114 lb2kg() 115 RelativeStride() 116 RelativeStride_2() 117 DimensionlessSpeed() 118 ActualSpeed() 119 - Added value of e out to 200 places. 120 1212.0 Mon Feb 12 11:50:58 2001 122 - Added many new features: 123 TriangleHeron() 124 PolygonPerimeter() 125 Clockwise() 126 InPolygon() 127 InTriangle() 128 BoundingBox_Points() 129 PolygonArea() 130 CircleArea() 131 Circumference() 132 SphereVolume() 133 SphereSurface() 134 1351.3 Sat Nov 25 17:18:44 2000 136 - Corrected error in Difference() 137 (Thanks to Rusty Thomas, Ph.D., for finding the error.) 138 1391.21 Tue Sep 19 08:57:51 2000 140 - Corrected typo in AllOf() 141 (Thanks to Wim Verhaegen for finding the error.) 142 1431.2 Mon Sep 18 13:24:43 2000 144 - Fixed minor error in Range() 145 - Added Predict(), for predicting value of Y, given slope, y-intercept, 146 and proposed x value. 147 1481.1 Wed Aug 30 14:41:52 2000 149 - First public version 150