[SciPy-dev] Bessel functions from Boost

Michael Abshoff michael.abshoff at googlemail.com
Sun Feb 8 13:58:13 EST 2009


Pauli Virtanen wrote:

Hi,

> Sun, 08 Feb 2009 18:25:32 +0100, Matthieu Brucher wrote:
> 
>>> The only problem is that being in Boost, they are written in C++, and I
>>> guess we can't make Scipy to depend on it.
>> The sparse module is already based on C+, so why not more ?
> 
> The problem is not C++ per se, but Boost:
> 
> (i) How much of it we need to bundle with Scipy?
> (ii) Are there portability/build issues?

Boost is a neverending souce of portability/build issues and every 
project I ever touched using boost had specific version requirements, 
i.e PuCUDA wanted either one of two speccfic release while quantlib 
wanted another set, but in between them there wasn't any boost that 
worked for both of them. Putting that code in-tree opens you up to all 
kinds of version mismatches and confusion if boost is installed system 
wide.

I have had to fix or work around issues with recent boost on common 
platforms like OSX, much less seemingly "exotic" things like FreeBSD :), 
boost has its own build system (jam) which isn't exactly used commonly 
anywhere else and quite painful, i.e. boost always used the global 
Python headers for quantlib for example and you need either the latest 
release or some snapshot to work around that bug. Boost code requires 
beefy resources to compile and on and on an on. Please do not touch 
boost code, but if you must either translate C code or look at some 
alternative like mpmath, i.e.

   http://code.google.com/p/mpmath/

Fredrick is quite responsive about bugs and feature requests and we have 
talked to him about replacing some of the functionality provided by 
cephes in Sage via mpmath since they are arbitrary precision and pretty 
fast when optionally using gmp. But it also works in pure mode, i.e. all 
BSD licensed code.

> But yes, using unmodified upstream code could be a relief from the 
> maintenance POV.

Well, I am not so sure about that :)

Cheers,

Michael



More information about the SciPy-Dev mailing list