
I'd say they absolutely belong in Boost.Math or Boost.Integer rather than Boost.MPL. Whether something is a compile-time facility or a run-time facility should not determine what library it goes in; I'd wager most compile-time facilities in boost are implemented in terms of MPL. The domain of MPL is compile-time type sequences and algorithms on those sequences; the domain of the code in question seems to me to be more strongly related to Boost.Integer's static_log2 and static_min_max than anything else
My initial suggestion was not to move them to MPL but to make them conformant to MPL Integral Constant concept so they can be freely used in cunjunction with other numeric related meta-function form MPL.
That should happen too - but the suggestion was for traits that accept types rather than values as arguments - what mpl::if_ is to mpl::if_c. John.