Code Monkey home page Code Monkey logo

bsdnt's Introduction

BSDNT version 1.0
=================

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.

Features
========

* Support for Linux, BSD, MinGW32, Cygwin, Cygwin64
* Inline assembly optimisation for 64 bit Intel and AMD x86_64 processors
* Low level multiprecision natural numbers interface (nn.h)
* High level multiprecision integer interface (zz.h)
* Very extensive test code
* SHA1 implementation
* KISS / SuperKISS / Mersenne_twister pseudorandom number generators

Requirements
============

Currently we require bash, gnu make and gcc 4 or later or clang.

Installation
============

To build bsdnt and run the test code

$ cd bsdnt
$ ./configure
$ make check

Documentation
=============

The user will most likely use the interfaces in nn.h and zz.h.

All of the functions are documented in those two files.

Future improvements
===================

* Unroll assembly loops
* Assembly support for more processors
* Multiprecision rational number interface
* Multiprecision floating point interface
* Simplify and merge the BSD licensed fft found here:
  https://github.com/wbhart/flint2/tree/trunk/fft
* Asymptotically fast algorithms for GCD, get_str, set_str, division (??)
* Square root and n-th root code
* Support OSX (probably just need to name library .dylib) 
* Support Sparc 32/64 (??)

Contributors
============

William Hart, Brian Gladman, Antony Vennard, Gonzalo Tornaria.
----

See the LICENSE file for legal info and warranty information.

Contributions are welcome. There is a Google group here:

https://groups.google.com/forum/#!forum/bsdnt-devel

Enjoy!!

William Hart - 1-1-2014

bsdnt's People

Contributors

wbhart avatar briangladman avatar zhemao avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.