-
Notifications
You must be signed in to change notification settings - Fork 0
FAQ
First, to clarify: There are definitely faster, and more capable arbitrary precision maths libraries around :-)
I built this for lots of different reasons:
-
I often build mathematical simulations for problems I want to investigate, and as a programmer I tend to write programs to do this rather than use other modelling frameworks. Some of the simulations are things I share as open source projects, and so I wanted something that was stand-alone and unrestrictive, but some of them aren't open and I didn't want the restrictions that a GPL or LGPL license might imply. I also didn't want to have to include huge frameworks to build simple programs :-)
-
I care a great deal about software performance (and for quite a number of years was a gcc backend developer for 2 embedded ISAs), so I wanted to understand the performance characteristics of arbitrary precision maths. Writing this from scratch has let me do this.
-
I wanted to have the opportunity to write about building a reasonably complex library, and about how I think about performance optimization. In the past I've done both, but was never in a position to publish the details outside of the companies I was working for.
-
Having had (too many) years of writing C code, C++ 14 persuaded me to switch back to C++ for application code, so I wanted a library that took full advantage of C++ capabilities.
In the past I've written a lot of code under many different open source and closed source licenses. In this instance I wanted to make it possible to use what I've written in both open and closed software, and without significant burdens on either. I thought about making this public domain, but I do believe that authors of any work should be credited, so a 3-clause BSD license seemed a good fit.