Boost logo

Boost :

From: Paul A. Bristow (boost_at_[hidden])
Date: 2001-09-09 15:48:33

> -----Original Message-----
> From: krlynch_at_[hidden] [mailto:krlynch_at_[hidden]]On Behalf Of
> Kevin Lynch
> Sent: Wednesday, September 05, 2001 6:38 PM

previous message by Kevin Lynch:
> > Date: Tue, 04 Sep 2001 10:45:37 -0000
> > From: boost_at_[hidden]
> > Subject: Math Functions

> > 1 My instinct is to only produce a double version(64 bit reals),
> > rather than template versions.
> I think you are missing the forest for the trees ...

I fear creating a forest for the users to get lost in!

If you look at how the vast majority of people will use these
functions, double is what is needed.

Bear in mind that the 'state-of-the-art' algorithms for the incomplete beta,
for example, by Didinato and Morris struggle to give 14 decimal digits,
so a long double accuracy is going to be some way off, and
such a specialised beast that only a very few people will be interested.

The published code for this is some 7000 lines of (nasty) code,
but is part of the bottomless pit of FORTRAN working subroutines.
Cleaner code in C++ would be shorter, but still a seriously major task.
Testing it is even more serious because there don't seem to be any published
high accuracy reference values covering a wide range of possible values.

I would also point out that the main area of application is to statistics,
and that is applied to real data whose instrinsic accuracy is not enough
to make long double at all useful. Float would suffice for most,
but the work in producing two versions for float and double is
massive and in my view not worth it compared to 'floating' the double.
(Most users don't want to have to worry about templates if at all possible).

So I am as yet unconvinced at the importance of the the 'interface'
beyond defining things as, for example,

double function(double);

The algorithms are the hard bit, I believe.


Dr Paul A Bristow, hetp Chromatography
Prizet Farmhouse
Kendal, Cumbria
+44 1539 561830
Mobile +44 7714 33 02 04

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