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;