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:
parent
a34cf55155
commit
3190f3011f
40
CHANGELOG
40
CHANGELOG
|
@ -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):
|
||||||
|
|
|
@ -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.
|
||||||
|
|
|
@ -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
|
||||||
{
|
{
|
||||||
|
|
Loading…
Reference in New Issue