I'd like to be able to make certain that a function/functor returns a
double precision floating point value.
Looks like you found your solution, however I'd like to point to
boost::enable_if, which might be a good alternative to do what you want.
Philippe