|
Boost : |
Subject: Re: [boost] [math distributions] where to check for validity of distribution variables?
From: Thijs van den Berg (thijs_at_[hidden])
Date: 2008-11-23 16:39:43
Paul A. Bristow wrote:
> Often you just want to return a NaN, infinity or a 'best guess'.
>
> So John devised the rather complicated - but very useful - policies.
>
> Most important they are needed to provide the C++ Standard library C-style
> error behaviour.
>
Hi Paul, John,
I'm trying get a better feel on your wanted error checking/validation
behavior in the dist lib.
If I get the objective, then I'll know better what type of code to write.
I we have the following code that constructs a faulty distribution and
uses that in follow-up steps,
what would be wanted behavior regarding error handling?
1: normal N(0,0); // a normal distribution with invalid std
2: double y = pdf(N, 0.3);
3: double k = kurtosis(N);
Case 1: strict, formal
1:throw an error "invalid std"
2:throw an error "invalid dist passed to pdf"
3:throw an error "invalid dist passed to kurtosis"
Case 2: minimalistic
1:throw an error "invalid std"
2:*no* checking of disk, divide by zero error
3: return "0", all valid normal distribution have a kurtosis of 0. We
don't even have to
look at the distribution details
Case 3: error tolerant, but preventing numerical errors
1:throw an error "invalid std"
2:throw an error "invalid dist passed to pdf"
3: return "0", all valid normal distribution have a kurtosis of 0. We
don't even have to
Cheers,
thijs
-- SITMO Quantitative Financial Consultancy - Software Development M.A. (Thijs) van den Berg Tel.+31 (0)6 2411 0061 Fax.+31 (0)15 285 1984 thijs_at_[hidden] <mailto:thijs_at_[hidden]> - www.sitmo.com <http://www.sitmo.com>
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk