24 namespace Accumulators {
33 template <
class Rep,
class Period>
34 auto sqrt( std::chrono::duration<Rep, Period> d ) {
35 return std::chrono::duration<Rep, Period>(
static_cast<Rep
>( std::round(
std::sqrt( d.count() ) ) ) );
39 template <
class Rep1,
class Rep2,
class Period>
40 auto operator*(
const std::chrono::duration<Rep1, Period>& lhs,
const std::chrono::duration<Rep2, Period>& rhs ) {
41 return std::chrono::duration<std::common_type_t<Rep1, Rep2>, Period>( lhs.count() * rhs.count() );