< cpp‎ | numeric‎ | ratio

C++
 Language Standard library headers Concepts Utilities library Strings library Containers library Algorithms library Iterators library Numerics library Input/output library Localizations library Regular expressions library (C++11) Atomic operations library (C++11) Thread support library (C++11) Filesystem library (C++17) Technical Specifications

Numerics library
 Common mathematical functions Special mathematical functions Floating-point environment (C++11) Complex numbers Numeric arrays Pseudo-random number generation Compile-time rational arithmetic (C++11) Numeric algorithms gcd(C++17) lcm(C++17) Generic numeric operations iota(C++11) accumulate inner_product adjacent_difference partial_sum

Compile time rational arithmetic
 ratio(C++11) Arithmetic ratio_add(C++11) ratio_subtract(C++11) ratio_multiply(C++11) ratio_divide(C++11) Comparison ratio_equal(C++11) ratio_not_equal(C++11) ratio_less(C++11) ratio_less_equal(C++11) ratio_greater(C++11) ratio_greater_equal(C++11)

 Defined in header `` template< class R1, class R2 > using ratio_add = /* see below */;

The alias template `std::ratio_add` denotes the result of adding two exact rational fractions represented by the std::ratio specializations `R1` and `R2`.

The result is a std::ratio specialization std::ratio<U, V>, such that given Num == R1::num * R2::den + R2::num * R1::den and Denom == R1::den * R2::den (computed without arithmetic overflow), `U` is std::ratio<Num, Denom>::num and `V` is std::ratio<Num, Denom>::den.