Pull request Compare This branch is 164 commits behind wbhart:master.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.
arch
rand
test
.gitignore
CHANGES
LICENSE
Makefile.unix
README
bsdnt.sln
bsdnt.vcxproj
bsdnt.vcxproj.filters
config_win32.h
config_x64.h
configure
helper.c
helper.h
nn.h
nn_linear.c
nn_quadratic.c
sha1.c
sha1.h
suggestions.txt
test.c
test.h
unixbuild.map

README

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
$ ./configure
$ make check

----

See the LICENSE file for legal info and warranty information.

Enjoy!!