ttcalc/CHANGELOG

243 lines
13 KiB
Plaintext

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
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)
* 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
* added: Pad window - a multiline edit window
* added: Checking for update dialog box
also the program can check automatically for an update at startup
* added: there are some new buttons on the standard tab
- (...) - the whole expression is surrounded by brackets (ctrl+0 short cut)
- 1/(...)
- ;
- % - a new percentage operator
- floor/ceil/min/max/sqrt/root/gamma
* added: some new options on display tab:
- grouping
- input decimal point
- parameters separated by
* changed: precision:
Medium - 512 bits mantissa, 64 bits exponent
Big - 1024 bits mantissa, 128 bits exponent
Changes from TTMath 0.9.0 relating to TTCalc:
* added: operator percentage
e.g. 1000-50% = 1000-(1000*0,5) = 500
* added: function frac(x) - returns a value without the integer part
(only fraction remains)
* changed: algorithms in sqrt(x) and root(x ; n)
they were not too much accurate for some integers
e.g. Root(16;4) returned a value very closed to 2 but not exactly 2
* changed: added specializations to Big::ToString() when the base is equal 4, 8 or 16
the previous version was not accurate on some last digits (after the comma operator)
consider this binary value (32 bit mantissa):
base 2: 1.1111 1111 1111 1111 1111 1111 1110 101
previous ToString() gave:
base 4: 1.33333333333332
base 8: 1.777777777
base 16: 1.FFFFFF
now we have:
base 4: 1.3333333333333222
base 8: 1.77777777724
base 16: 1.FFFFFFEA
Version 0.8.7 prerelease (2009.09.16):
* added: new language: Swedish
translation made by: Lars 'Bafvert' Gafvert <lars.gafvert at gmail dot com>
* changed: version of the TTMath library: 0.9.0 prerelease now
Changes from TTMath 0.9.0 prerelease relating to TTCalc:
* added: gamma() function
* changed: factorial() function is very fast now
Version 0.8.6 (2009.06.30):
* added: new language: Russian
translation made by: Vladimir Gladilovich <vdgladilovich at gmail dot com>
Version 0.8.5 (2009.06.18):
* added: new language: Chinese
translation made by: Juis <zsyfly at gmail dot com>
* changed: version of the TTMath library: 0.8.5 now
Changes from TTMath 0.8.5 relating to TTCalc:
* fixed: Big::Mod(x) didn't correctly return a carry
and the result was sometimes very big (even greater than x)
* changed: factorial() function is much faster now
Version 0.8.4 (2009.05.08):
* added: new language: Danish
translation made by: Rune Bisgaard Vammen <runebisgaard at gmail dot com>
Version 0.8.3 (2009.04.06):
* fixed: calculating the size of the main window
now it looks good on MS Vista and when a user changes size of some
widgets such as a border, font size, etc.
* changed: variables and functions are case-sensitive now, e.g.
'x' is not the same as 'X'
* changed: precision:
small - the same as previous
medium - 288 bits for the mantissa, 64 bits for the exponent
big - 864 bits for the mantissa, 128 bits for the exponent
previous were:
medium - 192 bits for the mantissa, 64 bits for the exponent
big - 288 bits for the mantissa, 96 bits for the exponent
* changed: new version of TTMath bignum library: 0.8.3
* added: when a user presses CTRL+C then the result will be
copied into the clipboard (if the current control which
has a focus is not an edit control, or if it is an edit
but has no selection)
* added: when a user presses CTRL+V then the text from the clipboard
will be copied into the edit control
(the focus can be anywhere but it cannot be on another edit control)
* added: 'decimal point' option on the display tab
* added: variables and functions can have underline characters
in their names
* added: 'remove trailing zeroes' option on 'display' tab
* added: new language: Spanish
translation made by Alejandro S. Valdezate
alesanval at gmail dot com
* added: on display tab: we can select 'deg' 'rad' or 'grad' for calculating
in such functions: sin,cos,tan,cot,asin,acos,atan,acot
* added: when the program exits new variables and functions are read from
the configuration file and then the file is saved
(if you have inserted some variables or functions in a different
instance of TTCalc those variables or functions were previously
skipped)
* removed: 'cut off last non valid digits' on 'rounding' option
on 'display' tab
Changes from TTMath 0.8.3 relating to TTCalc:
* fixed: Big::Add incorrectly rounded 'this' when both exponents were equal
it caused that sometimes when adding a zero the result has changed
this had impact among other things on FromString() method
"0,8" had different binary representation from "0,80"
* fixed: Big::Pow(const Big<exp, man> & pow)
it's using PowInt() only when pow.exponent is in range (-man*TTMATH_BITS_PER_UINT; 0]
previously the powering 'hung' on an input like this: "(1+ 1e-10000) ^ 10e100000000"
(there was 10e100000000 iterations in PowInt())
* fixed: in function DegToRad(const ValueType & x, ErrorCode * err = 0) it is better
to make division first and then mutliplication -- the result is more
accurate especially when x is: 90,180,270 or 360
* fixed: the parser didn't correctly treat operators for changing the base
(radix) -- operators '#' and '&', e.g.:
'#sin(1)' was equal '0' -- there was a zero from '#' and then
it was multiplied by 'sin(1)'
the parser didn't check whether Big::FromString() has actually
read a proper value -- the method Big::FromString() didn't have
something to report such a situation
* fixed: Big::FromString() when the base is 10, the method reads the scientific
part only if such a part it correctly supplied, e.g:
'1234e10', '1234e+10', '1234e-5'
previous '1234e' was treated as: '1234e0' (now parsing stops on 'e' and
the 'e' can be parsed by other parsers, e.g. the mathematical
parser -- now in the parser would be: '1234e' = '1234 * e' = '3354,3597...' )
* changed: in the parser: the form with operators '#' and '&' is as follows:
[-|+][#|&]numeric_value
previous was: [-|+][#|&][-|+]numeric_value
* changed: the parser is allowed to recognize values which
begin with a dot, e.g '.5' is treated as '0.5'
* added: functions to the parser: gradtorad(grad), radtograd(rad), degtograd(deg),
degtograd(d,m,s), gradtodeg(grad)
* added: a short form of multiplication
(without the '*' character) e.g. '5y'
(it's used only if the second parameter is a variable
or function)
Version 0.8.2 portable (2007.07.01):
* added: the portable version of the program TTCalc
it uses *.ini config file from the same folder where
is the executable file, and it's much smaller in size
(in the portable version there's only one kind
of precision and the program is packed with UPX -
the Ultimate Packer for eXecutables)
there are no other differences between version 0.8.1 and this one
Version 0.8.1 (2007.04.17):
* changed: on win9x the configuration file is in a folder like:
"c:\windows\data application\ttcalc\" now
* changed: the program uses the TTMath 0.8.1 now
* added: from TTMath 0.8.1:
root(x, index), bitand(x,y), bitor(x,y), bitxor(x,y)
/band(x,y), bor(x,y), bxor(x,y)/
asinh(x), acosh(x), atanh(x), acoth(x) /atgh(x), actgh(x)/
* changed: from TTMath 0.8.1: calculations are much faster now
especially the factorial() function
* changed: from TTMath 0.8.1: the way of parsing operators
Version 0.8.0 (2007.04.02):
* added: the del key deletes a variable or a function now
(if the focus is on the list)
* added: a user can change the names of variables or functions now
* changed: the program uses TTMath 0.8.0 now
* added: functions: from TTMath 0.8.0:
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)/
* added: help
* changed: from TTMath 0.8.0:
renamed: CTan() into Cot() or Ctg()
renamed: ACTan() into ACot() or ACtg()
Factorial() has a history log now (it can remember last
10 calculated values)
* fixed: the vertical size of the main window when a user uses a different
size of the window caption (especially under the Windows XP Luna)
* fixed: on Windows 9x: the program hung when a user clicks on a control
on the first tab
* fixed: when a user started navigating from the keyboard the program showed
a wrong variable or a funtion in the edit dialog
Version 0.7.3 (2007.03.08):
* added: the program shows some kind of errors itself
* added: checking whether an user has inserted a correct value of a variable
or a function
* fixed: navigation from the keyboard
* changed: the esc key selects the entire input text now (in the input edit)
* added: a test when the program is being starded which checks if the
coordinates of the main window actually pointing at the valid area (for
example when someone took his configuration file into a new computer and
the new computer has a smaller screen)
Version 0.7.2 (2007.02.28):
* added: buttons Sgn and Mod
* changed: the button 'err' is active when there's actually an error now
* added: buttons: ASin, ACos, ATan, ACTan
* fixed: the program didn't save the current language into the configuration file
* fixed: the second thread didn't read the main window correctly and it caused
small problems when an user was typing into the first edit control
Version 0.7.1 (2007.02.08):
* added: button 'err' (error) on the first tab
* changed: the input edit can have 2048 characters now
* added: remembering the vertical size into the config file
* fixed: a problem with the 'tab' key
* added: a message 'Calculating...' when an user clicks on the 'err' button
during calculating something