bsdnt is a BSD licensed bignum library, suitable for use by languages which need to provide bignum support and for other projects requiring relatively fast bignums. The primary goal of the project is to have clean, comprehensible, well-documented code, whilst retaining reasonable performance. It is not a goal to insanely optimise where that would make the code less readable and maintainable. The project will be developed in numerous stages: i) A C only phase, implementing nothing but basecase algorithms, which will serve to map out the interface. This code will eventually be used as test code and fallback C code for architectures without assembly support. ii) Addition of algorithms to make the library efficient up to a few hundred limbs and inline assembly code for x86 and x86_64. iii) Addition of asymptotically fast algorithms for huge operands. iv) Addition of assembly code for other platforms. At least the first phase of the project will be completed as a github social coding project, with a blog every few days which interested parties can follow along with their own github fork in the language of their choice. It's expected that step 1 will take a few weeks. Step 2 will take 6 months to a year. ---- To build bsdnt and run the test code $ cd bsdnt $ make $ ./t-nn ---- See the LICENSE file for legal info and warranty information. Enjoy!!