nil::crypto3::math::detail Namespace Reference
Functions | |
template<typename FieldType , typename Range > | |
void | basic_parallel_radix2_fft (Range &a, const typename FieldType::value_type &omega) |
template<typename FieldType , typename Range > | |
void | basic_parallel_radix2_fft_inner (Range &a, const typename FieldType::value_type &omega, const std::size_t log_cpus) |
template<typename FieldType > | |
std::vector< typename FieldType::value_type > | basic_radix2_evaluate_all_lagrange_polynomials (const std::size_t m, const typename FieldType::value_type &t) |
template<typename FieldType , typename Range > | |
void | basic_serial_radix2_fft (Range &a, const typename FieldType::value_type &omega) |
std::size_t | bitreverse (std::size_t n, const std::size_t l) |
template<typename FieldType > | |
FieldType::value_type | coset_shift () |
template<typename FieldType > | |
bool | is_arithmetic_sequence_domain (std::size_t m) |
template<typename FieldType > | |
bool | is_basic_radix2_domain (std::size_t m) |
template<typename FieldType > | |
bool | is_extended_radix2_domain (std::size_t m) |
template<typename FieldType > | |
bool | is_geometric_sequence_domain (std::size_t m) |
template<typename FieldType > | |
bool | is_step_radix2_domain (std::size_t m) |
constexpr std::size_t | power_of_two (std::size_t n) |
Function Documentation
◆ basic_parallel_radix2_fft()
template<typename FieldType , typename Range >
void nil::crypto3::math::detail::basic_parallel_radix2_fft | ( | Range & | a, |
const typename FieldType::value_type & | omega | ||
) |
◆ basic_parallel_radix2_fft_inner()
template<typename FieldType , typename Range >
void nil::crypto3::math::detail::basic_parallel_radix2_fft_inner | ( | Range & | a, |
const typename FieldType::value_type & | omega, | ||
const std::size_t | log_cpus | ||
) |
◆ basic_radix2_evaluate_all_lagrange_polynomials()
template<typename FieldType >
std::vector<typename FieldType::value_type> nil::crypto3::math::detail::basic_radix2_evaluate_all_lagrange_polynomials | ( | const std::size_t | m, |
const typename FieldType::value_type & | t | ||
) |
Compute the m Lagrange coefficients, relative to the set S={omega^{0},...,omega^{m-1}}, at the field element t.
◆ basic_serial_radix2_fft()
template<typename FieldType , typename Range >
void nil::crypto3::math::detail::basic_serial_radix2_fft | ( | Range & | a, |
const typename FieldType::value_type & | omega | ||
) |
◆ bitreverse()
std::size_t nil::crypto3::math::detail::bitreverse | ( | std::size_t | n, |
const std::size_t | l | ||
) |
◆ coset_shift()
template<typename FieldType >
FieldType::value_type nil::crypto3::math::detail::coset_shift | ( | ) |
◆ is_arithmetic_sequence_domain()
template<typename FieldType >
bool nil::crypto3::math::detail::is_arithmetic_sequence_domain | ( | std::size_t | m | ) |
◆ is_basic_radix2_domain()
template<typename FieldType >
bool nil::crypto3::math::detail::is_basic_radix2_domain | ( | std::size_t | m | ) |
◆ is_extended_radix2_domain()
template<typename FieldType >
bool nil::crypto3::math::detail::is_extended_radix2_domain | ( | std::size_t | m | ) |
◆ is_geometric_sequence_domain()
template<typename FieldType >
bool nil::crypto3::math::detail::is_geometric_sequence_domain | ( | std::size_t | m | ) |
◆ is_step_radix2_domain()
template<typename FieldType >
bool nil::crypto3::math::detail::is_step_radix2_domain | ( | std::size_t | m | ) |
◆ power_of_two()
|
constexpr |