Skip to content

Latest commit

 

History

History
59 lines (45 loc) · 1.57 KB

ratio.md

File metadata and controls

59 lines (45 loc) · 1.57 KB

ratio

  • ratio[meta header]
  • std[meta namespace]
  • class template[meta id-type]
  • cpp11[meta cpp]
namespace std {
  template <intmax_t N, intmax_t D = 1>
  class ratio {
  public:
    using type = ratio<num, den>;
    static constexpr intmax_t num;
    static constexpr intmax_t den;
  };
}
  • intmax_t[link /reference/cstdint/intmax_t.md]

概要

ratioは、コンパイル時に有理数を表現するためのクラスである。メンバ定数として、num(分子:numerator)とden(分母:denominator)を持つ。

numdenの値は、gcd(最大公約数:the greatest common divisor)を使用して、以下のようにNDを約分して割り当てる:

要件

denの値が0でもなく、intmax_tの最小値でもないこと。

#include <ratio>

int main()
{
  using r = std::ratio<3, 12>;

  static_assert(r::num == 1, "num is 1");
  static_assert(r::den == 4, "den is 4");
}
  • std::ratio[color ff0000]

出力

バージョン

言語

  • C++11

処理系