D.6. Заголовок <ratio>
В заголовке <ratio> объявлены средства для поддержки арифметических операций с рациональными числами на этапе компиляции.
Содержимое заголовка
namespace std {
template<intmax_t N, intmax_t D=1>
class ratio;
// арифметические операции с рациональными числами
template <class R1, class R2>
using ratio_add = см. описание;
template <class R1, class R2>
using ratio_subtract = см. описание;
template <class R1, class R2>
using ratio_multiply = см. описание;
template <class Rl, class R2>
using ratio_divide = см. описание;
// сравнение рациональных чисел
template <class R1, class R2>
struct ratio_equal;
template <class R1, class R2>
struct ratio_not_equal;
template <class R1, class R2>
struct ratio_less;
template <class R1, class R2>
struct ratio_less_equal;
template <class R1, class R2>
struct ratio_greater;
template <class R1, class R2>
struct ratio_greater_equal;
typedef ratio<1, 1000000000000000000> atto;
typedef ratio<1, 1000000000000000> femto;
typedef ratio<1, 1000000000000> pico;
typedef ratio<1, 1000000000> nano;
typedef ratio<1, 1000000> micro;
typedef ratio<1, 1000> milli;
typedef ratio<1, 100> centi;
typedef ratio<1, 10> deci;
typedef ratio<10, 1> deca;
typedef ratio<100, 1> hecto;
typedef ratio<1000, 1> kilo;
typedef ratio<1000000, 1> mega;
typedef ratio<1000000000, 1> giga;
typedef ratio<1000000000000, 1> tera;
typedef ratio<1000000000000000, 1> peta;
typedef ratio<1000000000000000000, 1> exa;