Boost logo

Boost :

Subject: Re: [boost] Bignum Library Interest?
From: Paul A. Bristow (pbristow_at_[hidden])
Date: 2010-03-26 09:22:43

> -----Original Message-----
> From: boost-bounces_at_[hidden] [mailto:boost-bounces_at_[hidden]] On Behalf Of Seth Bunce
> Sent: Friday, March 26, 2010 7:45 AM
> To: boost_at_[hidden]
> Subject: [boost] Bignum Library Interest?
> I was thinking about making a bignum library for boost and wanted to
> gauge interest. I've read through the boost mailing list archives on
> this topic.
> I've seen mp_math in the vault by Kevin Sopp (AKA baraclese). I'm not
> sure if he's still working on it (he hasn't updated it in a while). What
> I want to do is similar.

You should liaise with him?
> I made a bignum frontend with libtommath backend. This is a rough
> version of what I want to do. I thought I'd see if anyone was interested
> before I put more effort in to it.
> Note: This only compiles on Linux. I've read the boost library
> submission process guidelines and I will make this library conform to
> them if I continue to work on it.
> Note: "include/mpa/mpa.hpp" is the most interesting part. Look at
> "lib_src/libmpa/mpa.cpp" for the libtommath backend stuff.

Looks promising, but many believe that it is important to be able to switch to use GMP
- if performance demands and license allows.
> I think the project should have these specifications.
> Boost Library Name: MPA (Multi-Precision Arithmetic)
> Namespace: boost::mpa::
> Guidelines:
> 1. Use PIMPL (to make different backends easier in the distant future).

But see Barend Gehrels outline of a 'nuemric_adaptor' to make the switching work.

> 2. DO NOT focus on backend work. Focus on making the frontend nice. Use
> libtommath backend (boost compatible license, portable, well tested, not
> as fast as GMP).
> 3. DO NOT focus on performance. Library won't get off the ground if it
> is required to be as fast as GMP from the start.
> 4. DO NOT implement floating point. Similar reason to #3.
> -----------------------------------
> Are any of the guidelines bad?

These look OK to me.

But would add

 - must be portable to multiplatform

- must be Boost tests.

- must be Boost licence throughout (you might simply get your 'other' author to agree to this?)


Paul A. Bristow
Prizet Farmhouse
Kendal, UK   LA8 8AB
+44 1539 561830, mobile +44 7714330204

Boost list run by bdawes at, gregod at, cpdaniel at, john at