maomao90's Library
A C++20 library for competitive programming.
Loading...
Searching...
No Matches
maomao90::dynamic_modint< id > Struct Template Reference

#include <modint.hpp>

Inheritance diagram for maomao90::dynamic_modint< id >:
maomao90::internal::modint::modint_base

Public Member Functions

constexpr dynamic_modint ()
 
template<internal::concepts::broadly_signed_integral T>
constexpr dynamic_modint (T a)
 
template<internal::concepts::broadly_unsigned_integral T>
constexpr dynamic_modint (T a)
 
constexpr unsigned int val () const
 
constexpr dynamic_modint operator+ () const
 
constexpr dynamic_modint operator- () const
 
constexpr dynamic_modintoperator++ ()
 
constexpr dynamic_modintoperator-- ()
 
constexpr dynamic_modint operator++ (int)
 
constexpr dynamic_modint operator-- (int)
 
constexpr dynamic_modintoperator+= (const dynamic_modint &o)
 
constexpr dynamic_modintoperator-= (const dynamic_modint &o)
 
constexpr dynamic_modintoperator*= (const dynamic_modint &o)
 
constexpr dynamic_modintoperator/= (const dynamic_modint &o)
 
constexpr dynamic_modint pow (long long p) const
 
constexpr dynamic_modint inv () const
 
constexpr bool operator== (const dynamic_modint &o) const
 
constexpr bool operator!= (const dynamic_modint &o) const
 

Static Public Member Functions

static void set_mod (int mod)
 
static constexpr int imod ()
 
static constexpr unsigned int umod ()
 
static constexpr dynamic_modint raw (int a)
 

Friends

constexpr dynamic_modint operator+ (const dynamic_modint &l, const dynamic_modint &r)
 
constexpr dynamic_modint operator- (const dynamic_modint &l, const dynamic_modint &r)
 
constexpr dynamic_modint operator* (const dynamic_modint &l, const dynamic_modint &r)
 
constexpr dynamic_modint operator/ (const dynamic_modint &l, const dynamic_modint &r)
 
constexpr istream & operator>> (istream &is, dynamic_modint &o)
 
constexpr ostream & operator<< (ostream &os, const dynamic_modint &o)
 

Constructor & Destructor Documentation

◆ dynamic_modint() [1/3]

template<int id = -1>
maomao90::dynamic_modint< id >::dynamic_modint ( )
inlineconstexpr

◆ dynamic_modint() [2/3]

template<int id = -1>
template<internal::concepts::broadly_signed_integral T>
maomao90::dynamic_modint< id >::dynamic_modint ( T a)
inlineconstexpr

◆ dynamic_modint() [3/3]

template<int id = -1>
template<internal::concepts::broadly_unsigned_integral T>
maomao90::dynamic_modint< id >::dynamic_modint ( T a)
inlineconstexpr

Member Function Documentation

◆ set_mod()

template<int id = -1>
static void maomao90::dynamic_modint< id >::set_mod ( int mod)
inlinestatic

◆ imod()

template<int id = -1>
static constexpr int maomao90::dynamic_modint< id >::imod ( )
inlinestaticconstexpr

◆ umod()

template<int id = -1>
static constexpr unsigned int maomao90::dynamic_modint< id >::umod ( )
inlinestaticconstexpr

◆ raw()

template<int id = -1>
static constexpr dynamic_modint maomao90::dynamic_modint< id >::raw ( int a)
inlinestaticconstexpr

◆ val()

template<int id = -1>
unsigned int maomao90::dynamic_modint< id >::val ( ) const
inlineconstexpr

◆ operator+()

template<int id = -1>
dynamic_modint maomao90::dynamic_modint< id >::operator+ ( ) const
inlineconstexpr

◆ operator-()

template<int id = -1>
dynamic_modint maomao90::dynamic_modint< id >::operator- ( ) const
inlineconstexpr

◆ operator++() [1/2]

template<int id = -1>
dynamic_modint & maomao90::dynamic_modint< id >::operator++ ( )
inlineconstexpr

◆ operator--() [1/2]

template<int id = -1>
dynamic_modint & maomao90::dynamic_modint< id >::operator-- ( )
inlineconstexpr

◆ operator++() [2/2]

template<int id = -1>
dynamic_modint maomao90::dynamic_modint< id >::operator++ ( int )
inlineconstexpr

◆ operator--() [2/2]

template<int id = -1>
dynamic_modint maomao90::dynamic_modint< id >::operator-- ( int )
inlineconstexpr

◆ operator+=()

template<int id = -1>
dynamic_modint & maomao90::dynamic_modint< id >::operator+= ( const dynamic_modint< id > & o)
inlineconstexpr

◆ operator-=()

template<int id = -1>
dynamic_modint & maomao90::dynamic_modint< id >::operator-= ( const dynamic_modint< id > & o)
inlineconstexpr

◆ operator*=()

template<int id = -1>
dynamic_modint & maomao90::dynamic_modint< id >::operator*= ( const dynamic_modint< id > & o)
inlineconstexpr

◆ operator/=()

template<int id = -1>
dynamic_modint & maomao90::dynamic_modint< id >::operator/= ( const dynamic_modint< id > & o)
inlineconstexpr

◆ pow()

template<int id = -1>
dynamic_modint maomao90::dynamic_modint< id >::pow ( long long p) const
inlineconstexpr

◆ inv()

template<int id = -1>
dynamic_modint maomao90::dynamic_modint< id >::inv ( ) const
inlineconstexpr

◆ operator==()

template<int id = -1>
bool maomao90::dynamic_modint< id >::operator== ( const dynamic_modint< id > & o) const
inlineconstexpr

◆ operator!=()

template<int id = -1>
bool maomao90::dynamic_modint< id >::operator!= ( const dynamic_modint< id > & o) const
inlineconstexpr

Friends And Related Symbol Documentation

◆ operator+

template<int id = -1>
dynamic_modint operator+ ( const dynamic_modint< id > & l,
const dynamic_modint< id > & r )
friend

◆ operator-

template<int id = -1>
dynamic_modint operator- ( const dynamic_modint< id > & l,
const dynamic_modint< id > & r )
friend

◆ operator*

template<int id = -1>
dynamic_modint operator* ( const dynamic_modint< id > & l,
const dynamic_modint< id > & r )
friend

◆ operator/

template<int id = -1>
dynamic_modint operator/ ( const dynamic_modint< id > & l,
const dynamic_modint< id > & r )
friend

◆ operator>>

template<int id = -1>
istream & operator>> ( istream & is,
dynamic_modint< id > & o )
friend

◆ operator<<

template<int id = -1>
ostream & operator<< ( ostream & os,
const dynamic_modint< id > & o )
friend

The documentation for this struct was generated from the following file: