#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 | 
        
      
 
 
      
        
          | #define Modulus   modulus<C, typename Crter::modulus_variant> |