TTMath is a small library which allows one to perform arithmetic operations with big unsigned integer, big signed integer and big floating point numbers.
Go to file
Tomasz Sowa dcdb1db9ec fixed: a crash in Big::Add() (buffer overflow)
there was an offset calculated from Int type by using Abs() method and a carry was not checked
       (if there is a carry we should not make addition -- the argument is too small)
       this had no impact on calculated values because there was a crash (bus error) immediately

       following program could crash (64bit):
       typedef ttmath::Big<1, 8> MyBig;
       ttmath::Parser<MyBig> parser;
       parser.Parse("2^(2^63) + 1");


fixed: similar problems were in methods Big::BitAnd() Big::BitOr() and Big::BitXor() (bitwise operations)
       and they could return incorrect values



git-svn-id: svn://ttmath.org/publicrep/ttmath/trunk@1189 e52654a7-88a9-db11-a3e9-0013d4bc506e
2019-04-11 16:14:04 +00:00
constgen - changed info in headers in source files: (new) BSD licence -> 3-Clause BSD Licence 2017-03-12 14:51:21 +00:00
res updated: CHANGELOG, COPYRIGHT, doxygen.cfg 2017-02-07 14:24:58 +00:00
samples - changed info in headers in source files: (new) BSD licence -> 3-Clause BSD Licence 2017-03-12 14:51:21 +00:00
tests - changed info in headers in source files: (new) BSD licence -> 3-Clause BSD Licence 2017-03-12 14:51:21 +00:00
ttmath fixed: a crash in Big::Add() (buffer overflow) 2019-04-11 16:14:04 +00:00
CHANGELOG updated: CHANGELOG, COPYRIGHT, doxygen.cfg 2017-02-07 14:24:58 +00:00
CMakeLists.txt added: CMakeLists.txt files for building samples by using cmake system 2014-11-28 15:59:08 +00:00
COPYRIGHT updated: CHANGELOG, COPYRIGHT, doxygen.cfg 2017-02-07 14:24:58 +00:00
README updated: CHANGELOG and README 2009-10-25 16:42:41 +00:00
doxygen.cfg changed: commentaries to be more doxygen friendly 2017-03-12 17:13:37 +00:00
makerelease.sh added: makerelease.sh script to generate the source package tarball 2017-03-12 15:18:16 +00:00

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>