
John,
Question is if there is a way to incorporate such a function into boost::math? As far, as I can tell the results are almost identical.
I'll need to investigate this some more and perhaps incorporate testing dcdflib into my own test suite - however:
* I notice we're actually using the same algorithm internally, I'll need to investigate the dcdflib code in more detail to figure out why it's faster, but I suspect it may be down to what the chosen accuracy is. * The Boost version is known to be robust and tested over a very wide range of inputs, it produces accurate results even when the result is very small or close to 1. * The Boost version is ~twice as fast as the R lib version.
Of course #2 and #3 above may be of little consolation to you :-(
I think it should be possible to add the code while maintaining the interface. But the code is very low level C with plenty of goto's. I cannot really make a statement about the robustness. Only that it's a very old library that's still in use.
I'm going to be offline shortly for at least a couple of weeks (we have builders coming in), but I'll try and get back to you on this then - actually it might help if you file a bug report on the Trac at svn.boost.org so I can't forget :-)
I've added a ticket on your name. So, your really cannot forget.;-) Regards, Christian