Boost logo

Boost :

From: Matt Austern (austern_at_[hidden])
Date: 2004-11-08 15:16:58

On Mon, 8 Nov 2004 19:16:49 -0000, Paul A Bristow
<pbristow_at_[hidden]> wrote:
> | -----Original Message-----
> | From: boost-bounces_at_[hidden]
> | [mailto:boost-bounces_at_[hidden]] On Behalf Of Matt Austern
> | Sent: 05 November 2004 18:22
> | To: boost_at_[hidden]
> | Subject: Re: [boost] Math functions - requirements 'spec'
> |
> | On Thu, 4 Nov 2004 13:35:50 -0000, Paul A Bristow
> | <pbristow_at_[hidden]> wrote:
> | > Following the view of C and C++ Working groups at Redmond
> | > that a working implementation of my proposal for math functions
> | > was a necessary condition for consideration for a TR-2 standard,
> |
> | I wasn't there for the discussion at the C standardization committee
> | meeting, but I was there for the discussion in the C++ library working
> | group. My interpretation of the discussion wasn't that a working
> | implementation was necessary, but that the working group was skeptical
> | about this proposal, period.
> |
> | Yes, the main reason for skepticism was that the implemention
> | effort/user benefit ratio was perceived to be too large. So yes, an
> | implementation might be one of the things that would help to change
> | some people's minds. But if that's the goal you're setting yourself
> | for an implementation, then it dictates the kind of work you'll need
> | to do: you'll need to show that it's possible to produce a high
> | quality implementation (let's say: maximum error of at most a few ulps
> | for the entire range of every function) without heroic effort. I know
> | that may seem like a tall order, but if your goal is to change the
> | committees' minds then you need to understand the reasons people
> | thought what they did.
> I'm sorry - and completely baffled - that you are so negative about this
> proposal.
> Are you saying that statistics is not something that normal people do?

To some extent it's important to be careful with the use of the word
"you". For the most part I'm not reporting my own views. Mostly I'm
reporting what happened at the Redmond C++ meeting, because I think
it's important to understand what the discussion was like. (I don't
know what, if anything, happened at the Redmond C committee meeting.)
Your earlier message suggested that you thought the tone of that
discussion was "we want there to be an implementation before we accept
this proposal", but I think a more accurate characterization would be
"in light of experience implementing the TR1 special functions, we
think that doing a good job on a proposal for still more special
functions would be extremely hard and we're not convinced that it's a
good cost/benefit tradeoff."

You don't have to try to change people's minds about the potential
benefits of standardizing these functions, of course, but if changing
people's minds is your goal then you need to understand what the
participants in this discussion really did say. (And when I say
"people", by the way, that's not a euphemism for "me". On this
particular subject, I listened more than I talked.)

Some possible alternatives that might change people's minds:
 - Show that doing a good job, i.e. implementing these functions with
the same sort of accuracy as a high-quality implementation achieves
for sqrt or cos or lgamma or cyl_bessel_j, is easier than people
 - Convince people that, in the case of these particular functions
you're proposing, they should lower their standards for what a good
job is.
 - Convince people that these functions are more important than they
thought, so that even if folks think this is an extremely difficult
implementation task they'll still think that the cost/benefit ratio is
worth it.

If you're going for point 3 then you might want to consider broadening
your scope instead of narrowing it. One point that some people made
at the Redmond meeting is that most people who want to do statistics
use a statistical package, i.e. something that operates on data sets,
rather than just using bare transcendental functions and writing all
the data set manipulation themselves. It's possible that people would
see a different cost/benefit tradeoff in a statistical package than in
a collection of more special functions.


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