include/algebramix/crt_naive.hpp File Reference
#include <basix/vector.hpp>
#include <numerix/modulus.hpp>
Go to the source code of this file.
Classes
- struct coprime_moduli_sequence_naive
- struct coprime_moduli_helper< M >
- struct coprime_moduli_sequence< M, V >
- struct moduli_helper< C, M, W >
- struct std_crt_naive< C >
- struct crt_naive
- struct crt_naive_variant_helper< C >
- struct crt_project
- struct implementation< crt_project, V, crt_naive >
- struct crt_signed< V >
- struct implementation< F, V, crt_signed< W > >
- struct implementation< crt_project, V, crt_signed< W > >
- struct crt_transform
- struct implementation< crt_transform, V, crt_naive >
- struct crt_naive_transformer< C, S, V >
Namespaces
Defines
- #define Coprime_moduli_variant(M) coprime_moduli_helper<M>::sequence
- #define Crt_naive_variant(C) crt_naive_variant_helper<C>::CV
- #define C typename Crter::base
- #define I typename Crter::modulus_base
- #define M
- #define Modulus modulus<C, typename Crter::modulus_variant>
Functions
- template<typename M , typename V > vector< M > range (coprime_moduli_sequence< M, V > &seq, nat beg, nat end)
- template<typename C , typename M , typename V > nat N (const crt_naive_transformer< C, M, V > &crter)
- template<typename Crter > modulus< typename Crter::base,
typename
Crter::modulus_variant > moduli_product (Crter &crter)
- template<typename Crter > Crter::base comodulus (const Crter &crter, nat i)
- template<typename Crter > void direct_crt (typename Crter::modulus_base *dest, const typename Crter::base &s, Crter &crter)
- template<typename Crter , typename W > void direct_crt (vector< typename Crter::modulus_base, W > &dest, const typename Crter::base &s, Crter &crter)
- template<typename Crter > vector< typename
Crter::modulus_base > direct_crt (const typename Crter::base &s, Crter &crter)
- template<typename Crter > void combine_crt (typename Crter::base &d, const typename Crter::modulus_base *src, Crter &crter)
- template<typename Crter , typename W > void combine_crt (typename Crter::base &d, const vector< typename Crter::modulus_base, W > &src, Crter &crter)
- template<typename Crter , typename W > Crter::base combine_crt (const vector< typename Crter::modulus_base, W > &src, Crter &crter)
- template<typename Crter > void inverse_crt (typename Crter::base &d, const typename Crter::modulus_base *src, Crter &crter)
- template<typename Crter , typename W > void inverse_crt (typename Crter::base &d, const vector< typename Crter::modulus_base, W > &src, Crter &crter)
- template<typename Crter , typename W > Crter::base inverse_crt (const vector< typename Crter::modulus_base, W > &src, Crter &crter)
Define Documentation
#define C typename Crter::base |
#define Coprime_moduli_variant |
( |
M |
|
) |
coprime_moduli_helper<M>::sequence |
#define Crt_naive_variant |
( |
C |
|
) |
crt_naive_variant_helper<C>::CV |
#define I typename Crter::modulus_base |
Value:modulus<typename Crter::modulus_base,\
typename Crter::modulus_base_variant>
Definition at line 309 of file crt_naive.hpp.
#define Modulus modulus<C, typename Crter::modulus_variant> |
Definition at line 311 of file crt_naive.hpp.
Referenced by implementation< polynomial_multiply, V, polynomial_schonhage_inc< W, Th, Th_rec > >::mul(), implementation< matrix_multiply, V, matrix_crt< W > >::mul(), mul_series_rep< M, V >::mul_series_rep(), truncate_mul_series_rep< M, V >::next(), mul_series_rep< M, V >::next(), and mmx::primitive_root_max_int().