A bignum library written in the C++ programming language as templates. It provides standard mathematical operations like add, sub, mul, div, pow etc. with the big integer and big floating point numbers.
Fast and simple.
I tried to use this to alleviate numerical stability issues with some matrix computations. However using Big<1,2> instead of double turns fraction-of-a-second computation into multi-hour computation (or more, I stopped the computation after a couple of hours). I also found out that a lot of standard operators are missing, e.g.: Big operator*(double, Big) Big operator*(int, Big) etc... even though operators involving only Big type are implemented, e.g.: Big operator*(Big, Big). Strangely, Abs(), Sqrt() etc do not work on a copy but on the parameter itself, thus instead of Big positiveA=A.Abs(); the following code is required: Big positiveA=A; positiveA.Abs(); Lastly, casting to int doesn't work: int(Big) //compile error //http://www.learncpp.com/cpp-tutorial/910-overloading-typecasts/ Bottom line: For some less computationally demanding scenarios, I guess this class is useful.
Just wanna say thanks for this great project. It helps me a lot with my project here in Sourceforge. <<libNT>> good job and I hope you keep it going. I'm gonna update my project with your new version soon !