123 lines
5.7 KiB
Plaintext
123 lines
5.7 KiB
Plaintext
Version 0.8.1 (2007.04.17):
|
|
* fixed: Big::PowFrac(..) didn't return a correct error code
|
|
(when 'this' was negative)
|
|
* added: Root(x; index) (and to the parser as well)
|
|
* added: macro: TTMATH_PRERELEASE_VER (can be either zero or one)
|
|
* added: UInt::MulInt(int, UInt<int another_size>::&)
|
|
* added: Big::MulUInt(uint)
|
|
* changed: Big::MulInt(sint)
|
|
* added: Big::ToUInt(uint &)
|
|
* changed: Big::ToInt(sint&)
|
|
* changed: Factorial() it uses Big::MulUInt() at the beginning
|
|
(faster now especially more on a 32bit platform)
|
|
* added: doxygen.cfg for generating a documentation from the doxygen
|
|
* changed: UInt::Rcl(uint c=0) and UInt::Rcr(uint c=0) into
|
|
UInt::Rcl2(uint bits, uint c) and UInt::Rcr2(uint bits, uint c)
|
|
now they can move more than one bit and they are only private
|
|
* fixed: UInt::Rcl(uint bits, uint c) and UInt::Rcr(uint bits, uint c)
|
|
didn't correctly return a carry if the 'bits' were equal
|
|
to 'value_size*TTMATH_BITS_PER_UINT'
|
|
* changed: UInt::Rcl(uint bits, uint c) and UInt::Rcr(uint bits, uint c)
|
|
into UInt::Rcl(uint bits, uint c=0) and
|
|
UInt::Rcr(uint bits, uint c=0)
|
|
they are faster now when the bits is greater than a half of
|
|
the TTMATH_BITS_PER_UINT
|
|
* changed: UInt::CompensationToLeft() it's faster now
|
|
* changed: more small changes where there were UInt::Rcl(uint c=0) and
|
|
UInt::Rcr(uint c=0) used
|
|
* changed: as the Big type uses UInt::Rcl() and UInt::Rcr() a lot then
|
|
it is much faster now (about 5-25%)
|
|
* added: ASinh(), ACosh(), ATanh() /ATgh()/, ACoth() /ACtgh()/
|
|
and to the parser as well
|
|
* added: UInt::BitAnd(), UInt::BitOr(), UInt::BitXor(), UInt::BitNot(),
|
|
Big::BitAnd(), Big::BitOr(), Big::BitXor()
|
|
* added: to the parser: bitand(), bitor(), bitxor()
|
|
/band(), bor(), bxor()/
|
|
* changed: the way of parsing operators in the mathematical parser
|
|
(the parser is not too much greedy now)
|
|
|
|
Version 0.8.0 (2007.03.28):
|
|
* added: into the parser: SetFactorialMax()
|
|
* added: DegToDeg(deg, min, sec), DegToRad(deg), DegToRad(deg, min, sec),
|
|
RadToDeg(rad), Ceil(x), Floor(x), Sqrt(x), Sinh(x), Cosh(x),
|
|
Tanh(x) /Tgh(x)/, Coth(x) /Ctgh(x)/
|
|
* changed: class Objects in ttmathobjects.h has been completely rewritten,
|
|
we can change the names of user-defined variables or functions, and the
|
|
names are case-sensitive now
|
|
* added: class History which is used in functions which take a lot of time
|
|
during calculating e.g. Factorial(x)
|
|
* added: Tg(x) a wrapper for Tan(x)
|
|
* changed: CTan(x) is Cot(x) now
|
|
* added: Ctg(x) a wrapper for Cot(x)
|
|
* added: ATg(x) a wrapper for ATan(x)
|
|
* changed: ACTan(x) is ACot(x) now
|
|
* added: ACtg(x) a wrapper for ACot(x)
|
|
* added: UInt::PrintTable() (for debugging etc.)
|
|
* changed: the methods Big::SetPi() Big::SetE() and Big::SetLn2() have
|
|
been rewritten, now they have 128 32bit words (it's about 1232 valid
|
|
decimal digits)
|
|
* fixed: previous values from Big::SetPi() Big::SetE() and
|
|
Big::SetLn2() were not too much accurate (last 2-3 words were wrong)
|
|
* added: Big::SetLn10() (128 32bit words as well)
|
|
* added: macro: TTMATH_BUILTIN_VARIABLES_SIZE which is equal 128u on
|
|
32bit platforms and 64ul on 64bit platforms (128/2=64)
|
|
* added: macros: TTMATH_PLATFORM32 and TTMATH_PLATFORM64
|
|
* changed: a small optimisation in UInt::Mul2Big()
|
|
* added: at the end of ttmath.h: #include "ttmathparser.h"
|
|
this is for convenience for a programmer, he can only use #include
|
|
with ttmath.h even if he uses the parser
|
|
* added: to samples: big.cpp, parser.cpp
|
|
* added/changes/fixed: in copy-constructors and operators= in Int,
|
|
Uint and Big (more info in the commit log)
|
|
* renamed Big::SetDotOne() into Big::Set05()
|
|
* changes: a few small optimisations in Big
|
|
* deleted: the word 'virtual' from destructors: UInt, Int, Big
|
|
(types in this library are not projected to be base-classes for
|
|
another ones derived from them)
|
|
* and more small changes (look at the commit log)
|
|
|
|
Version 0.7.2 (2007.03.09):
|
|
* added: Big::Mod - the remainder from a division
|
|
* added: Big::Sgn - the 'sign' from the value (-1,0,1)
|
|
* added: global functions Mod and Sgn too
|
|
* added: checking whether a user gives a correct value of a variable or function
|
|
(user-defined variables/functions in the mathematical parser)
|
|
* added: into the parser: logical operators: > < >= <= == != && ||
|
|
* added: into the parser: logical functions: and() or() not() if()
|
|
* added: ErrorCode::err_unknown_operator when the parser couldn't read an operator
|
|
|
|
Version 0.7.1 (2007.02.27):
|
|
* fixed the error 'overflow during printing' which was caused
|
|
by Big::FromInt(Int<int_size> value) (the sign has to be set at the end)
|
|
* fixed many small errors
|
|
* added ATan (arctan), ACTan (arc ctan) functions
|
|
|
|
Version 0.7.0 (2007.02.24):
|
|
* finished support for 64bit platforms
|
|
* added ASin (arcsin), ACos (arccos) functions
|
|
|
|
Version 0.6.4 (2007.01.29):
|
|
* fixed the problem with a sign in the mathematical parser /-(1) was 1/
|
|
* added UInt::AddInt and UInt::SubInt
|
|
* changed UInt::AddOne and UInt::SubOne (much faster now)
|
|
* added UInt::SetBitInWord
|
|
* changed UInt::SetBit (much faster now)
|
|
* UInt::AddTwoUints renamed to UInt::AddTwoInts
|
|
* UInt::FindLeadingBit32 renamed to UInt::FindLeadingBitInWord
|
|
* added UInt::SetBitInWord
|
|
* UInt::Mul64 renamed to UInt::MulTwoWords
|
|
* UInt::Div64 renamed to UInt::DivTwoWords
|
|
* and more small changes in UInt type
|
|
* start adding support for Amd64 (not finished yet) (added ttmathuint64.h)
|
|
|
|
Version 0.6.3 (2007.01.22):
|
|
* position of arguments (x and base) in logarithm functions are swapped
|
|
* it's possible to use any multiplication algorithms in the same time
|
|
(macros UINT_MUL_VERSION_'X' have gone)
|
|
* added ExceptionInfo, ReferenceError and RuntimeError classes
|
|
* the mess in macros has been cleaned up
|
|
* added TTMATH_RELEASE macro
|
|
|
|
Version 0.6.2 (2007.01.10):
|
|
* New division algorithm (radix b) where b is 2^32
|