[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