changing version number to 0.9.2 release

git-svn-id: svn://ttmath.org/publicrep/ttmath/trunk@320 e52654a7-88a9-db11-a3e9-0013d4bc506e
This commit is contained in:
Tomasz Sowa 2010-09-23 20:52:20 +00:00
parent a34cf55155
commit 3190f3011f
3 changed files with 25 additions and 38 deletions

View File

@ -1,4 +1,4 @@
Version 0.9.2 prerelease (2010.09.22): Version 0.9.2 (2010.09.23):
* fixed: Big::Add() sometimes incorrectly rounded the last bit from its mantissa * fixed: Big::Add() sometimes incorrectly rounded the last bit from its mantissa
* fixed: Big::BigAnd() Big::BigOr() Big::BigXor() should have set NaN * fixed: Big::BigAnd() Big::BigOr() Big::BigXor() should have set NaN
when the argument was negative (they only returned 2) when the argument was negative (they only returned 2)
@ -8,9 +8,9 @@ Version 0.9.2 prerelease (2010.09.22):
in some cases when in the output string the exponent should be equal zero in some cases when in the output string the exponent should be equal zero
the method changes the exponent to one so the last digit from the mantissa the method changes the exponent to one so the last digit from the mantissa
was lost was lost
* fixed: Big::ToDouble(double &) set always +INF (infinity) * fixed: Big::ToDouble(double &) set always +INF (infinity)
when the value was too large (even for negative values) when the value was too large (even for negative values)
(it should set -INF in such a case) (it should set -INF in such a case)
* added: some missing operators * added: some missing operators
UInt::operator~() /* bitwise neg */ UInt::operator~() /* bitwise neg */
UInt::operator&() /* bitwise and */ UInt::operator&() /* bitwise and */
@ -57,32 +57,32 @@ Version 0.9.2 prerelease (2010.09.22):
but you can force using asm version (the same asm as for Microsoft Visual) but you can force using asm version (the same asm as for Microsoft Visual)
by defining TTMATH_FORCEASM macro by defining TTMATH_FORCEASM macro
you have to be sure that your compiler accept such an asm format you have to be sure that your compiler accept such an asm format
* added: some missing methods for converting * added: some missing methods for converting
for UInt<>, Int<> and Big<> classes: for UInt<>, Int<> and Big<> classes:
uint ToUInt() uint ToUInt()
sint ToInt() sint ToInt()
ToUInt(uint32_t &) ToUInt(uint32_t &)
ToInt(uint32_t &) ToInt(uint32_t &)
ToInt(int32_t &) ToInt(int32_t &)
ToUInt(uint64_t &) ToUInt(uint64_t &)
ToInt(uint64_t &) ToInt(uint64_t &)
ToInt(int64_t &) ToInt(int64_t &)
FromUInt(uint32_t &) FromUInt(uint32_t &)
FromInt(uint32_t &) FromInt(uint32_t &)
FromInt(int32_t &) FromInt(int32_t &)
FromUInt(uint64_t &) FromUInt(uint64_t &)
FromInt(uint64_t &) FromInt(uint64_t &)
FromInt(int64_t &) FromInt(int64_t &)
and appropriate constructors and operators and appropriate constructors and operators
* added: double Big::ToDouble() /there was only Big::ToDouble(double &) / * added: double Big::ToDouble() /there was only Big::ToDouble(double &) /
uint Big::ToFloat(float &) uint Big::ToFloat(float &)
float Big::ToFloat() float Big::ToFloat()
* changed: now asm version is available only on x86 and amd64 * changed: now asm version is available only on x86 and amd64
(and only for GCC and MS VC compilers) (and only for GCC and MS VC compilers)
* removed: macro TTMATH_RELEASE * removed: macro TTMATH_RELEASE (now the 'release' version is default)
for debug version define TTMATH_DEBUG macro for debug version define TTMATH_DEBUG macro
TTMATH_DEBUG is also automatically defined when DEBUG or _DEBUG is set TTMATH_DEBUG is also automatically defined when DEBUG or _DEBUG is set
* removed: macro TTMATH_REFERENCE_ASSERT from all methods from public interface * removed: macro TTMATH_REFERENCE_ASSERT from all methods in public interface
Version 0.9.1 (2010.02.07): Version 0.9.1 (2010.02.07):

View File

@ -31,7 +31,7 @@ PROJECT_NAME = TTMath
# This could be handy for archiving the generated documentation or # This could be handy for archiving the generated documentation or
# if some version control system is used. # if some version control system is used.
PROJECT_NUMBER = 0.8.2 PROJECT_NUMBER = 0.9.2
# The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute) # The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute)
# base path where the generated documentation will be put. # base path where the generated documentation will be put.

View File

@ -74,7 +74,7 @@
#define TTMATH_MINOR_VER 9 #define TTMATH_MINOR_VER 9
#define TTMATH_REVISION_VER 2 #define TTMATH_REVISION_VER 2
#define TTMATH_PRERELEASE_VER 1 #define TTMATH_PRERELEASE_VER 0
@ -542,26 +542,13 @@ namespace ttmath
In the library is used macro TTMATH_REFERENCE_ASSERT which In the library is used macro TTMATH_REFERENCE_ASSERT which
can throw an exception of this type can throw an exception of this type
** from version 0.9.2 this macro is removed from all methods
in public interface so you don't have to worry about it **
If you compile with gcc you can get a small benefit If you compile with gcc you can get a small benefit
from using method Where() (it returns std::string) with from using method Where() (it returns std::string) with
the name and the line of a file where the macro TTMATH_REFERENCE_ASSERT the name and the line of a file where the macro TTMATH_REFERENCE_ASSERT
was used) was used)
What is the 'reference' error?
Some kind of methods use a reference as their argument to another object,
and the another object not always can be the same which is calling, e.g.
Big<1,2> foo(10);
foo.Mul(foo); // this is incorrect
above method Mul is making something more with 'this' object and
'this' cannot be passed as the argument because the result will be undefined
macro TTMATH_REFERENCE_ASSERT helps us to solve the above problem
note! some methods can use 'this' object as the argument
for example this code is correct:
UInt<2> foo(10);
foo.Add(foo);
but there are only few methods which can do that
*/ */
class ReferenceError : public std::logic_error, public ExceptionInfo class ReferenceError : public std::logic_error, public ExceptionInfo
{ {