Matem‡tica Modules 1, 2, 3, 4 and 5 Matem‡tica modules contain most of the mathematical functions that one would need to work from basic algebra to more complex operations. There are five modules so that they can be distributed using Script Editor. The modules have been divided (more or less) in order to make each module independent and targeting a specific subject. The modules are divided as follows: Module 1: This module have handlers that allows the user to change the base representation of any number from any base from 2 to 16 to another base in the same range. Module 2: This module have handlers that compute some statistical functions of a list of numbers. Module 3: This module have handlers that compute all trigonometric functions and its inverses, changes coordinates from rectangular to polar and vice versa, changes from radians to degrees and vice versa. Writes degrees with decimal place to minutes and seconds and vice versa. All the computation of the trigonometric functions is in radians. Module 4: This module have handlers that compute the exponential function(e^x), the logarithmic function in any base greater than 1, all hyperbolic functions and their inverses. Module 5: This module have handlers that compute factorials, and some combinatorics functions. It is used mostly in the computation of Taylor series. Some of the names of the handlers are ÒdifferentÓ (sinus instead of sine) to prevent any conflict with the OSAX(en) I know. In this case the Satimage OSAX from Smile. There are around 90 handlers altogether, it would be hard to discuss all of them here, but if you open the modules, there should be sufficient explanation for each handler in that particular module. All modules are fairly well documented. However, to understand the reasoning behind the code you should know Calculus, Geometry, Trigonometry, plus some Real and Complex Algebra. The modules are fairly well contained. The modules use only ¹ as ÒexternalÓ constant, obtaining all the other constants using series (were the value of "e" was used, it was obtained from its Taylor expansion). One can use the series to extend the accuracy of the values returned by the functions. All handlers have been tested and are, all, very accurate and fast. Accuracy was our prime goal. The results returned by the handlers satisfy the trigonometric identities and the hyperbolic identities (only for numbers that are not too large. In this case, failing to produce the identity is due to the numerical way of taking limits rather than imprecision of the results). However, for some of the handlers that coincide with the mathematical funcions of the Satimage Osax, if you intend to loop them for many hundreds or thousands of times, use the Satimage Osax that can be, sometimes, over 100 times faster. About 10% of the handlers are there to handle errors introduced by the users. So for most part, all the errors introduced by the users should be handled properly. Of all the handlers, some are more interesting and should be mentioned here: i. Using the handler logb(base,numero) (Module 4), one can find the logarithm of the positive number "numero" in the basis "base", where "base" is greater than one. ii. The handlers x2y(x,y) and xrooty(x,y) (Module 3) always return a value (except for xrooty(x,0) which returns an error). This value is a record in the form real part and imaginary part. That is, if you compute xrooty(-4,2) it will return a number whose real part is 0 and imaginary part is 2. So if one is interested in either the real or imaginary part, just ask for it, as real of xrooty(-4,2) or imaginary of xrooty(-4,2). Same thing with x2y(x,y). iii. The handlers dms2deg(x) and dms(x) (Module 3) get the angle in degree or degree:minutes:seconds and return it in degree:minutes:seconds or degree. iv. The handler basea210f(x, a) (Module 1) changes the fractionary part of a number from any integer base from 2 to 16 to base 10. v. The handler base102af(x, a) (Module 1) changes the fractionary of a number from base 10 to any integer base from 2 to 16. vi.The handler XOR(a, b) (Module 2) checks for "exclusive or" of two boolean variables. vii. The handler fracb(x, b) returns the fraction x as a fraction with denominator b, that is, it returns "c/b" where c is an integer. Example: fracb(0.11,8) = 1/8. This is an *approximate* value. viii. There are other handlers which return a record, one other example is the stats(list) (Module 2), one can get for instance |mean| of stats(list) or |stdev| of stats(list). Some handlers return ÒinfinityÓ instead of ÒerrorÓ or Òstack overflowÓ as result. Some can handle receiving ÒinfinityÓ as an input. The way I used ÒinfinityÓ is the following, Ò-infinityÓ and Ò+infinityÓ are self explanatory, ÒinfinityÓ is used when the limit does not exist (it could be either + or - depending in the way the singularity is approached). All the code except for the two sorting routines in the Statistical Module (Module 2) were developed by me. Disclaimer and Copyright Information This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation - version 2. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License in file COPYING for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. __ Note: I'd appreciate an e-mail or postcard if you use or incorporate any of the modules in your application or work.__ Support There is no support for these modules. However, if you find any bug or you are experiencing any problems , please write to software at dicas period com that I'll try to fix and work on your problem. Acknowledgements The idea of this modules came during discussions with Bill Briggs, who helped me out with the initial project with many corrections, notations problems and bug fixes. The codes from the two sorting routines are here under the auspices of Emmanuel Levi and Satimage. Satimage also contributed via Smile, which was extensively used in the development of these modules. Smile does not have the size constraints that Script Editor has. Emmanuel Levy also helped me immensely with the code, providing me with very important insights an making the code more readable. Faults and omissions are mine alone. Deivy Petrescu dobleu doubleu doubleu period dicas period com software at dicas period com