algo — C++23 日本語リファレンス GitHub

modint_common

クラス · modint (static_modint / dynamic_modint)

template <class Derived>
struct modint_common : modint_base;

概要

static_modint と dynamic_modint が共有する公開演算

Derived は umod(), mul(), is_prime_mod() を提供する。

計算量

メンバ関数

名前 説明 計算量
val 保持している標準剰余を返す $O(1)$
pow n乗を返す $O(\log n)$
inv 乗法逆元を返す 法を $m$ として $O(\log m)$

演算子

名前 説明 計算量
operator++ (1) 1を加算する
(2) 1を加算する前の値を返す
$O(1)$
operator-- (1) 1を減算する
(2) 1を減算する前の値を返す
$O(1)$
operator+= rhsを加算する $O(1)$
operator-= rhsを減算する $O(1)$
operator*= rhsを乗算する $O(1)$
operator/= rhsで除算する 素数法では法を $m$ として $O(\log m)$、動的法では $O(\log m)$
operator+ (1) 自身の値を返す
(2) 和を返す
$O(1)$
operator- (1) 加法逆元を返す
(2) 差を返す
$O(1)$
operator* 積を返す $O(1)$
operator/ 商を返す 法を $m$ として $O(\log m)$
operator== 等しいか返す $O(1)$
operator!= 異なるか返す $O(1)$
operator>> 整数を入力して法で正規化する $O(1)$
operator<< 標準剰余を出力する $O(1)$

メンバの詳細

operator++

// (1)
constexpr mint &operator++();

// (2)
constexpr mint operator++(int);

(1) 1を加算する

(2) 1を加算する前の値を返す

operator–

// (1)
constexpr mint &operator--();

// (2)
constexpr mint operator--(int);

(1) 1を減算する

(2) 1を減算する前の値を返す

operator+

// (1)
constexpr mint operator+() const;

// (2)
friend constexpr mint operator+(const mint &lhs, const mint &rhs);

(1) 自身の値を返す

(2) 和を返す

operator-

// (1)
constexpr mint operator-() const;

// (2)
friend constexpr mint operator-(const mint &lhs, const mint &rhs);

(1) 加法逆元を返す

(2) 差を返す

関連項目