Tomasz Sowa
72052420dd
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) added: UInt::FindLowestBit(uint & table_id, uint & index) /temporary version - asm version is missing / git-svn-id: svn://ttmath.org/publicrep/ttmath/trunk@256 e52654a7-88a9-db11-a3e9-0013d4bc506e |
||
---|---|---|
constgen | ||
samples | ||
tests | ||
ttmath | ||
CHANGELOG | ||
COPYRIGHT | ||
README | ||
doxygen.cfg |
README
A bignum library for C++ TTMath is a small library which allows one to perform arithmetic operations with big unsigned integer, big signed integer and big floating point numbers. It provides standard mathematical operations like adding, subtracting, multiplying, dividing. With the library also goes a mathematical parser to help you solving mathematical expressions. TTMath is developed under the BSD licence which means that it is free for both personal and commercial use. The main goal of the library is to allow one to use big values in the same way as the standard types like int or float. It does not need to be compiled first because the whole library is written as the C++ templates. This means only C++ developers can use this library and one thing they have to do is to use 'include' directive of the preprocessor. How big the values can be is set at compile time. Author: Tomasz Sowa <t.sowa@ttmath.org> WWW: http://www.ttmath.org Contributors: Christian Kaiser <chk@online.de>