diff --git a/CHANGELOG b/CHANGELOG index d24bd50..c534c16 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -1,30 +1,22 @@ -Version 0.9.1 prerelease (2009.01.05): +Version 0.9.1 (2009.02.07): * fixed: the pad window didn't take into account following options (from display tab): grouping, input commas and parameter separators - * updated: chinese translation + * updated: Chinese translation - Changes from TTMath 0.9.1 prerelease relating to TTCalc: + Changes from TTMath 0.9.1 relating to TTCalc: * fixed: the parser didn't use characters for changing the base (# and &) those characters were skipped (this bug was introduced in 0.9.0) - * added: to Big::ToString() - additional rounding when conv.base_round is used - if the value is not an integer we calculate how many valid digits there are - after the comma operator (in conv.base radix) and then we skipped the rest - digits, after skipping the base-rounding is made - this helps to print values which have some last clear bits in the mantissa - consider this 32 bit value: - (binary)0.00011100001010001111010111000000000 - which has mantissa equal: (binary)11100001010001111010111000000000 (32 bits) - previous the ToString() method gave: (decimal)0.10999999[...] - now we have: (decimal)0.11 - * added: Parser::SetSmallToZero(bool zero) (default true) - if true then the parser changes small values into zero - small value means: - - if the mantissa of the value consists only of one, two or three set bits - - and these bits are next to each other - - and the exponent is smaller than about 2 times the number of bits from the mantissa - this helps to correctly calculate expressions such as: "0.80-3*0.34+0.22" - now the parser gives zero (previous there was a value very closed to zero) + * fixed: added in the parser: operator's associativity + operator ^ (powering) is right-associative: + sample: 2^3^4 is equal 2^(3^4) and it is: 2.41e+24 + previously was: 2^3^4 = (2^3)^4 = 4096 + * changed: in Big::ToString() the base rounding is made only if the result value + would not be an integer, e.g. if the value is 1.999999999999 then + the base rounding will not be done - because as the result would be 2 + * added: IEEE 754 half-to-even rounding (bankers' rounding) to the following + floating point algorithms: Big::Add, Big::Sub, Big::Mul, Big::Div + Version 0.9.0 (2009.11.25): * fixed: when 'C' button was pressed, the cursor was not placed in the edit window diff --git a/COPYRIGHT b/COPYRIGHT index 7bc877f..f03126c 100644 --- a/COPYRIGHT +++ b/COPYRIGHT @@ -1,4 +1,4 @@ -Copyright (c) 2006-2009, Tomasz Sowa +Copyright (c) 2006-2010, Tomasz Sowa All rights reserved. Redistribution and use in source and binary forms, with or without diff --git a/help/arithmetic_functions.html b/help/arithmetic_functions.html index c83b52b..4813959 100644 --- a/help/arithmetic_functions.html +++ b/help/arithmetic_functions.html @@ -91,6 +91,7 @@