bb2583649efe25f914d8c45324b279c71ed18c2f
bool Big::IsNan() - returns true if the NaN flag is set void Big::SetNan() - sets the NaN flag The NaN flag is set by default after creating an object: Big<1, 2> a; // NaN is set (it means the object has not a valid number) std::cout << a; // cout gives "NaN" a = 123; // now NaN is not set std::cout << a; // cout gives "123" The NaN is set if there was a carry during calculations a.Mul(very_big_value); // a will have a NaN set The NaN is set if an argument is NaN too b.SetNan(); a.Add(b); // a will have NaN because b has NaN too If you try to do something on a NaN object, the result is a NaN too a.SetNan(); a.Add(2); // a is still a NaN The NaN is set if you use incorrect arguments a.Ln(-10); // a will have the NaN flag The only way to clear the NaN flag is to assign a correct value or other correct object supposing 'a' has NaN flag, to remove the flag you can either: a = 10; a.FromInt(30); a.SetOne(); a.FromBig(other_object_without_nan); etc. changed: renamed macro CONSTANTSGENERATOR to TTMATH_CONSTANTSGENERATOR git-svn-id: svn://ttmath.org/publicrep/ttmath/trunk@152 e52654a7-88a9-db11-a3e9-0013d4bc506e
TTMath - 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 etc. With the library also goes a mathematical parser which helps you solving input formulas read directly from a user. TTMath is developed under the BSD licence which means that it is free for both personal and commercial use. The library has some technical limitations: * there are only two platforms that are supported: x86 and x86_64, * you can use this library only with the C++ programming language. The main goal of the library is to allow one to use big values in the same way as the standard types like int, float, etc. 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 directly in the source code by the programmer. Author: Tomasz Sowa <t.sowa@ttmath.org> Project pages: http://www.ttmath.org http://sourceforge.net/projects/ttmath
Description
TTMath is a small library which allows one to perform arithmetic operations with big unsigned integer, big signed integer and big floating point numbers.
Languages
C++
96.2%
Assembly
1.9%
Makefile
1.2%
Shell
0.6%