
John Maddock wrote:
This does look to me like a good idea, but to remain coherent, all of http://www.boost.org/doc/libs/1_57_0/libs/math/doc/html/gcd_lcm.html should move, which means:
common_factor.hpp common_factor_rt.hpp common_factor_ct.hpp
Plus docs and tests.
One problem I see here is that the compile-time templates derive from
mpl::integral_c, which means a dependency on MPL. I doubt that anyone is
actually using anything besides ::value, but in principle, the base class
can't be removed without potentially breaking code. So, to be on the safe
side, boost/math/common_factor_ct.hpp should probably contain
using boost::integer::static_gcd_type;
template < static_gcd_type Value1, static_gcd_type Value2 >
struct boost::math::static_gcd : public mpl::integral_c