template <class T> constexpr bool ispow2(T x) noexcept;
template <class T> constexpr T ceil2(T x) noexcept;
template <class T> constexpr T floor2(T x) noexcept;
template <class T> constexpr T log2p1(T x) noexcept;