<ratio>

Incluye el encabezado estándar <ratio> para definir las constantes y plantillas que se usan para almacenar y manipular números racionales en tiempo de compilación.

Sintaxis

#include <ratio>

Plantilla de ratio

template<std::intmax_t Numerator, std::intmax_t Denominator = 1>
struct ratio // holds the ratio of Numerator to Denominator
{
   static constexpr std::intmax_t num;
   static constexpr std::intmax_t den;
   typedef ratio<num, den> type;
}

La plantilla ratio define las constantes estáticas num y den como num / den == Numerador/Denominador, y num y den no tienen factores comunes. num / den es el valor que se representa mediante la plantilla de clase. Por lo tanto, type designa la creación de instancias de ratio<num, den>.

Especializaciones

<ratio> también define especializaciones de ratio que tienen el siguiente formato.

template <class R1, class R2> struct ratio_specialization

Cada especialización toma dos parámetros de plantilla que también deben ser especializaciones de ratio. El valor de type se determina mediante una operación lógica asociada.

Nombre Valor de type
ratio_add R1 + R2
ratio_divide R1 / R2
ratio_equal R1 == R2
ratio_greater R1 > R2
ratio_greater_equal R1 >= R2
ratio_less R1 < R2
ratio_less_equal R1 <= R2
ratio_multiply R1 * R2
ratio_not_equal !(R1 == R2)
ratio_subtract R1 - R2

typedefs

Para mayor comodidad, el encabezado define los elementos ratio de los prefijos estándar del Sistema Internacional de Unidades:

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;

Consulte también

Referencia de archivos de encabezado