diff --git a/CHANGELOG b/CHANGELOG index 190d8d1..88113b8 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -1,20 +1,4 @@ -Version 0.9.0 prerelease (2009.10.18): - * fixed: Big::operator>>(std::istream&, Big<> &) didn't recognize values - in scientific mode (with 'e' character) - * fixed: UInt::SetBitInWord(uint & value, uint bit) set 1 if the bit was - equal 1 (should be set 2) - this affected only no-asm parts - when macro TTMATH_NOASM was defined - * fixed: UInt::MulInt(uint ss2) - there was a buffer overflow when value_size was equal 1 - * fixed: UInt::AddVector() and UInt::SubVector() didn't want to compile - when macro TTMATH_NOASM was defined - * fixed: buffer overflow in Big::ToInt(Int & result) - * fixed: powering algorithm in: - UInt::Pow(UInt pow) - Big::Pow(UInt pow) - Big::PowUInt(Big pow) - when 'pow' was sufficient large the algorithm returned carry - but the result could have been calculated correctly +Version 0.9.0 prerelease (2009.10.25): * added: support for wide characters (wchar_t, std::wstring) * added: Big::IsInteger() returns true if the value is integer (without fraction) @@ -54,6 +38,26 @@ Version 0.9.0 prerelease (2009.10.18): * removed: ErrorCode::err_too_big_factorial +Version 0.8.6 (2009.10.25): + * fixed: UInt::SetBitInWord(uint & value, uint bit) set 1 if the bit was + equal 1 (should be set 2) + this affected only no-asm parts - when macro TTMATH_NOASM was defined + * fixed: UInt::MulInt(uint ss2) + there was a buffer overflow when value_size was equal 1 + * fixed: UInt::AddVector() and UInt::SubVector() didn't want to compile + when macro TTMATH_NOASM was defined + * fixed: Big::operator>> didn't correctly recognize values in scientific mode (with 'e' character) + * fixed: Int::FromString(const tt_string & s, uint b = 10) + didn't use 'b' (always was '10') + * fixed: buffer overflow in Big::ToInt(Int & result) + * fixed: powering algorithm in: + UInt::Pow(UInt pow) + Big::Pow(UInt pow) + Big::PowUInt(Big pow) + when 'pow' was sufficient large the algorithm returned carry + but the result could have been calculated correctly + + Version 0.8.5 (2009.06.16): * fixed: Big::Mod(x) didn't correctly return a carry and the result was sometimes very big (even greater than x) diff --git a/README b/README index 8b0c476..ea5bc1c 100644 --- a/README +++ b/README @@ -1,26 +1,23 @@ -TTMath - a bignum library for C++ +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. +with big unsigned integer, big signed integer and big floating point numbers. +It provides standard mathematical operations like adding, subtracting, +multiplying, dividing. With the library also goes a mathematical parser to +help you solving mathematical expressions. -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. +TTMath is developed under the BSD licence which means that it is free for +both personal and commercial use. 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. +way as the standard types like int or float. 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 at compile time. Author: Tomasz Sowa -Project pages: http://www.ttmath.org -http://sourceforge.net/projects/ttmath +WWW: http://www.ttmath.org + +Contributors: +Christian Kaiser