libstdc++
Rational Arithmetic
Collaboration diagram for Rational Arithmetic:

Classes

struct  std::ratio< _Num, _Den >
 Provides compile-time rational arithmetic. More...
struct  std::ratio_add< _R1, _R2 >
 ratio_add More...
struct  std::ratio_divide< _R1, _R2 >
 ratio_divide More...
struct  std::ratio_equal< _R1, _R2 >
 ratio_equal More...
struct  std::ratio_multiply< _R1, _R2 >
 ratio_multiply More...
struct  std::ratio_not_equal< _R1, _R2 >
 ratio_not_equal More...
struct  std::ratio_subtract< _R1, _R2 >
 ratio_subtract More...

Typedefs

typedef ratio< num, den > std::ratio< _Num, _Den >::type
typedef ratio< __n/__gcd2,
__safe_multiply< _R1::den/__gcd2,
_R2::den/__gcd >::value > 
std::ratio_add< _R1, _R2 >::type
typedef ratio_add< _R1, ratio
<-_R2::num, _R2::den > >::type 
std::ratio_subtract< _R1, _R2 >::type
typedef ratio< __safe_multiply
<(_R1::num/__gcd1),(_R2::num/__gcd2)>
::value, __safe_multiply
<(_R1::den/__gcd2),(_R2::den/__gcd1)>
::value > 
std::ratio_multiply< _R1, _R2 >::type
typedef ratio_multiply< _R1,
ratio< _R2::den, _R2::num >
>::type 
std::ratio_divide< _R1, _R2 >::type

Functions

 std::__safe_add< _Pn, _Qn >::static_assert (__add_overflow_check< _Pn, _Qn >::value!=0,"overflow in addition")
 std::ratio< _Num, _Den >::static_assert (_Den!=0,"denominator cannot be zero")
 std::ratio< _Num, _Den >::static_assert (_Num >=-__INTMAX_MAX__ &&_Den >=-__INTMAX_MAX__,"out of range")
 std::ratio_divide< _R1, _R2 >::static_assert (_R2::num!=0,"division by 0")

Variables

static constexpr intmax_t std::ratio< _Num, _Den >::den
static constexpr intmax_t std::ratio_add< _R1, _R2 >::den
static constexpr intmax_t std::ratio_subtract< _R1, _R2 >::den
static constexpr intmax_t std::ratio_multiply< _R1, _R2 >::den
static constexpr intmax_t std::ratio_divide< _R1, _R2 >::den
static constexpr intmax_t std::ratio< _Num, _Den >::num
static constexpr intmax_t std::ratio_add< _R1, _R2 >::num
static constexpr intmax_t std::ratio_subtract< _R1, _R2 >::num
static constexpr intmax_t std::ratio_multiply< _R1, _R2 >::num
static constexpr intmax_t std::ratio_divide< _R1, _R2 >::num
static const intmax_t std::__safe_multiply< _Pn, _Qn >::value
static const intmax_t std::__safe_add< _Pn, _Qn >::value

Detailed Description

Compile time representation of finite rational numbers.