maomao90's Library
A C++20 library for competitive programming.
Loading...
Searching...
No Matches
maomao90::internal::poly::fft Namespace Reference

Functions

template<typename T>
requires is_floating_point_v<T>
void fft (vector< complex< T > > &a)
 
template<typename T>
requires is_arithmetic_v<T>
vector< T > convolution (const vector< T > &ta, const vector< T > &tb)
 
template<concepts::broadly_integral T>
vector< T > convolution_sqrt (const vector< T > &a, const vector< T > &b)
 
template<ModInt mint>
vector< mint > convolution_arb_mod (const vector< mint > &a, const vector< mint > &b)
 
template<typename T>
requires is_floating_point_v<T>
vector< complex< T > > convolution_complex (const vector< complex< T > > &a, const vector< complex< T > > &b)
 

Function Documentation

◆ fft()

template<typename T>
requires is_floating_point_v<T>
void maomao90::internal::poly::fft::fft ( vector< complex< T > > & a)
inline

◆ convolution()

template<typename T>
requires is_arithmetic_v<T>
vector< T > maomao90::internal::poly::fft::convolution ( const vector< T > & ta,
const vector< T > & tb )
inline

◆ convolution_sqrt()

template<concepts::broadly_integral T>
vector< T > maomao90::internal::poly::fft::convolution_sqrt ( const vector< T > & a,
const vector< T > & b )
inline

◆ convolution_arb_mod()

template<ModInt mint>
vector< mint > maomao90::internal::poly::fft::convolution_arb_mod ( const vector< mint > & a,
const vector< mint > & b )

◆ convolution_complex()

template<typename T>
requires is_floating_point_v<T>
vector< complex< T > > maomao90::internal::poly::fft::convolution_complex ( const vector< complex< T > > & a,
const vector< complex< T > > & b )