TTMath is a small library which allows one to perform arithmetic operations with big unsigned integer, big signed integer and big floating point numbers.
Go to file
Tomasz Sowa c65857297b fixed: the parser didn't correctly treat operators for changing the base
(radix) -- operators '#' and '&', e.g.:
       '#sin(1)' was equal '0' -- there was a zero from '#' and then
       it was multipied by 'sin(1)'
       the parser didn't check whether Big::FromString() has actually
       read a proper value -- the method Big::FromString() didn't have
       something to report such a situation
fixed: Big::FromString() when the base is 10, the method reads the scientific
       part only if such a part it correctly supplied, e.g:
       '1234e10', '1234e+10', '1234e-5'
       previous '1234e' was treated as: '1234e0' (now parsing stops on 'e' and
       the 'e' can be parsed by other parsers, e.g. the mathematical
       parser -- now in the parser would be: '1234e' = '1234 * e' = '3354,3597...' )
added: to Int::FromString(): parameter 'const char ** after_source = 0'
       if exists it's pointing at the end of the parsed string
added: to UInt::FromString(), Int::FromString(), Big::FromString():
       parameter 'bool * value_read = 0' - (if exists) tells
       whether something has actually been read (at least one digit)
added: the parser checks itself for the operators for changing the base
       (operators '#' and '&')
changed: in the parser: the form with operators '#' and '&' is as follows:
       [-|+][#|&]numeric_value
       previous was: [-|+][#|&][-|+]numeric_value
removed: Big::FromString() this method doesn't longer recognize operators
       for changing the base ('#' and '&')
changed: in the parser: the short form of multiplication has the same
       priority as the normal multiplication, e.g.:
       '2x^3' = 2 * (x^3)
       previous the priority was greater than powering priority
       previous: '2x^3' = (2*x) ^ 3



git-svn-id: svn://ttmath.org/publicrep/ttmath/trunk@113 e52654a7-88a9-db11-a3e9-0013d4bc506e
2009-03-28 17:40:36 +00:00
constgen added: 'constgen' directory -- there is a program there to generate some constants used in ttmathbig.h 2009-03-12 20:54:46 +00:00
samples added: 'constgen' directory -- there is a program there to generate some constants used in ttmathbig.h 2009-03-12 20:54:46 +00:00
tests added: 'constgen' directory -- there is a program there to generate some constants used in ttmathbig.h 2009-03-12 20:54:46 +00:00
ttmath fixed: the parser didn't correctly treat operators for changing the base 2009-03-28 17:40:36 +00:00
CHANGELOG fixed: the parser didn't correctly treat operators for changing the base 2009-03-28 17:40:36 +00:00
COPYRIGHT fixed: template Big::FromBig(const Big<another_exp, another_man> & another) 2009-03-24 20:34:33 +00:00
README changed: small changes especially cosmetic in documentation (commentaries) 2008-06-18 00:33:05 +00:00
doxygen.cfg changed: doxygen.cfg changed lines ends: dos mode to unix mode (\r\n to \n) 2009-03-27 22:35:41 +00:00

README

TTMath - a bignum library for C++

TTMath is a small library which allows one to perform arithmetic operations
with big unsigned integer, big signed integer and big floating point
numbers. It provides standard mathematical operations like adding,
subtracting, multiplying, dividing etc. With the library also goes
a mathematical parser which helps you solving input formulas read directly
from a user.

TTMath is developed under the BSD licence which means that it is free
for both personal and commercial use.

The library has some technical limitations:
 * there are only two platforms that are supported: x86 and x86_64,
 * you can use this library only with the C++ programming language.

The main goal of the library is to allow one to use big values in the same
way as the standard types like int, float, etc. It does not need to be
compiled first because the whole library is written as the C++ templates.
This means only C++ developers can use this library and one thing they have
to do is to use 'include' directive of the preprocessor. How big the
values can be is set directly in the source code by the programmer.

Author: Tomasz Sowa <t.sowa@slimaczek.pl>
Project pages: http://ttmath.slimaczek.pl
http://sourceforge.net/projects/ttmath