From: Michael Marcin (mmarcin_at_[hidden])
Date: 2007-06-28 23:57:40


Hello,

I haven't looked much at the math toolkit yet but I was interested in
how it handled errors so I peeked at common_error_handling.hpp

I see it explicitly qualifies each all to isfinite with
(boost::math::isfinite)( value ).

I assume this is to prevent macro expansion however this means that if a
UDT is passed in the user is required to add their isfinite to the
boost::math namespace instead of having it be reachable through ADL.

Is this intentional? I think the following would work if it's not.

using boost::math::isfinite;
isfinite BOOST_PREVENT_MACRO_SUBSTITUTION( value );

I'm not sure if UDT support for this library has been considered in its
design but I'm working to provide a fixed-point math library that I hope
can be used as a real type just like float and double. I would like to
be able to keep as much as possible in the library's namespace.

Thanks,

Michael Marcin