Title: NUMS FeaturesPost by: PeterM on September 23, 2008, 02:31:35 PM
Hi
I was not aware you already had a Forum which is great. Just a question regarding NUMS, can you give us a bit of a description of its capabilities and what other features you are looking at implementing ? PM Title: Re: NUMS FeaturesPost by: Admin on September 23, 2008, 04:37:25 PM
I was not aware you already had a Forum which is great. Hi Peter, Good to hear from you. Yes, I set up the forums some time ago but I did not make much publicity about it. Perhaps I should send all my customers a notification mail. Anyway, glad you found it ! :) Quote from: PeterM Just a question regarding NUMS, ... its capabilities and what other features you are looking at implementing ? NUMS is a mathematical library (a dll) I am developing now for arbitrary precision floating point and signed big integer calculations.As you know, HIME has math functions for unsigned huge integers, but I got requests from users for adding floating point math functions. Rather than to add such functionality in HIME, I chose to develop a new product, called NUMS. NUMS is based on the same huge integer math kernel as HIME. But NUMS can handle variables in 5 different data types: 4 numerical data types and a dynamic string data type: 1. "BinFloat", Binary base Arbitrary Precision Floating Point data type This data type stores numbers in the format: mantissa * 256^exp- 'mantissa' is a signed binary number of which the maximum length can be determined by the user. It can be upto 2^31 (2147483648) bits long. That is the equivalent of 646 million decimal digits !
- 'exp' is a binary number ranging from -2147483648 to +2147483647 ( -2^31 to 2^31 - 1)
2. "DecFloat", Decimal base Arbitrary Precision Floating Point data type This data type stores numbers in the format: mantissa * 10^expThis is a floating point number, simular to the BinFloat data type, except it is base 10.- 'mantissa' is a signed binary number of which the maximum length can be determined by the user. It can be upto 2^31 (2147483648) bits long.
- 'exp' is a binary number ranging from -2147483648 to +2147483647 ( -2^31 to 2^31 - 1)
3. "Rational", rational number data type This data type stores numbers in the format: nominator / denominator- 'nominator' is a signed binary huge integer number. It can be upto 2^31 (2147483648) bits long.
- 'denominator' is an unsigned binary huge integer number. It can be upto 2^31 (2147483648) bits long.
4. "BigInt", big integer data type This data type stores numbers in the format: big integer- 'big integer' is a signed binary huge integer number. It can be upto 2^31 (2147483648) bits long. That is the equivalent of 646 million decimal digits !
5. "String", string data type This data type stores alphanumerical string data upto 2^31 (2147483648) bytes long. PROS AND CONS OF THE VARIOUS DATA TYPES BinFloat+ Fast math operations - Possibility for base conversion errors when converting to and from decimal (No base conversion errors when converting to and from hexadecimal or binary). DecFloat+ No base conversion errors when converting to and from decimal. - A little more overhead during math operations compared to BinFloats. Rational+ No rounding errors for +, -, *, / - Generally, slower math operations compared to above data types. BigInt+ No rounding errors when used for integer operations. - Only suitable for integer number math. NUMS is still under development. Functions implemented so far are: - Basic math functions: +, -, *, /, e^x, LOG, x^2, square root, ABS, FIX (INT), FRAC
- Boolean functions: =, <>, >, >=, <, <=, CMP, IsZero
- Various functions to exchange data with NUMS
- Support functions to convert numbers between the various data types, set precision, etc.
Functions that are in preparation and will be added to the first release: - x^y, LOG2, LOG10
- Trigonometric functions: SIN, COS, TAN, ASIN, ACOS, ATAN, SINH, COSH, TANH, ASINH, ACOSH, ATANH
- Pow, PowMod, Mod, ModInv for integers
- Matrix calculation functions
If you like to know more, just ask. Kind regards Eddy Title: Re: NUMS FeaturesPost by: PeterM on September 24, 2008, 10:18:33 AM
Eddy
Wow, thanks for the info. Peter |