Givaro 4.2.1
Poly1CRT< Field > Class Template Reference

Poly1 CRT. More...

#include <givpoly1crt.h>

Public Types

typedef Field Field_t
 
typedef Poly1Dom< Field, DenseRing_t
 
typedef Field_t::Element Type_t
 
typedef Ring_t::Element Element
 
typedef Element Rep
 
typedef std::vector< Type_tarray_T
 
typedef std::vector< Elementarray_E
 

Public Member Functions

 Poly1CRT ()
 
 ~Poly1CRT ()
 
 Poly1CRT (const Self_t &R)
 
 Poly1CRT (const Field &F, const array_T &primes, const Indeter &X=Indeter())
 
array_TRingToRns (array_T &rns, const Element &a) const
 
ElementRnsToRing (Element &a, const array_T &rns)
 
int size () const
 
const array_TPrimes () const
 
const Type_tith (const size_t i) const
 
const array_EReciprocals () const
 
const Elementreciprocal (const size_t i) const
 
const Field_tgetdomain ()
 
const Ring_tgetpolydom ()
 
std::ostream & write (std::ostream &o) const
 
std::istream & read (std::istream &i, Element &n) const
 
std::ostream & write (std::ostream &o, const Element &n) const
 
std::istream & read (std::istream &i, Type_t &n) const
 
std::ostream & write (std::ostream &o, const Type_t &n) const
 

Protected Member Functions

void ComputeCk ()
 

Protected Attributes

const Indeter _XIndet
 
const Field_t_F
 
const Ring_t _PolRing
 
array_T _primes
 
array_E _ck
 

Detailed Description

template<class Field>
class Givaro::Poly1CRT< Field >

Poly1 CRT.

Examples
examples/Polynomial/PolynomialCRT.C.

Member Typedef Documentation

◆ Field_t

template<class Field>
typedef Field Field_t

◆ Ring_t

template<class Field>
typedef Poly1Dom<Field, Dense> Ring_t

◆ Type_t

template<class Field>
typedef Field_t::Element Type_t

◆ Element

template<class Field>
typedef Ring_t::Element Element

◆ Rep

template<class Field>
typedef Element Rep

◆ array_T

template<class Field>
typedef std::vector<Type_t> array_T

◆ array_E

template<class Field>
typedef std::vector<Element> array_E

Constructor & Destructor Documentation

◆ Poly1CRT() [1/3]

template<class Field>
Poly1CRT ( )

◆ ~Poly1CRT()

template<class Field>
~Poly1CRT ( )

◆ Poly1CRT() [2/3]

template<class Field>
Poly1CRT ( const Self_t & R)

◆ Poly1CRT() [3/3]

template<class Field>
Poly1CRT ( const Field & F,
const array_T & primes,
const Indeter & X = Indeter() )

Member Function Documentation

◆ RingToRns()

template<class Field>
Poly1CRT< Field >::array_T & RingToRns ( array_T & rns,
const Element & a ) const

◆ RnsToRing()

template<class Field>
Poly1CRT< Field >::Element & RnsToRing ( Element & a,
const array_T & rns )

◆ size()

template<class Field>
int size ( ) const
inline

◆ Primes()

template<class Field>
const Poly1CRT< Field >::array_T & Primes ( ) const

◆ ith()

template<class Field>
const Poly1CRT< Field >::Type_t & ith ( const size_t i) const

◆ Reciprocals()

template<class Field>
const Poly1CRT< Field >::array_E & Reciprocals ( ) const

◆ reciprocal()

template<class Field>
const Poly1CRT< Field >::Element & reciprocal ( const size_t i) const

◆ getdomain()

template<class Field>
const Field_t & getdomain ( )
inline

◆ getpolydom()

template<class Field>
const Ring_t & getpolydom ( )
inline

◆ write() [1/3]

template<class Field>
std::ostream & write ( std::ostream & o) const
inline

◆ read() [1/2]

template<class Field>
std::istream & read ( std::istream & i,
Element & n ) const
inline

◆ write() [2/3]

template<class Field>
std::ostream & write ( std::ostream & o,
const Element & n ) const
inline

◆ read() [2/2]

template<class Field>
std::istream & read ( std::istream & i,
Type_t & n ) const
inline

◆ write() [3/3]

template<class Field>
std::ostream & write ( std::ostream & o,
const Type_t & n ) const
inline

◆ ComputeCk()

template<class Field>
void ComputeCk ( )
protected

Field Documentation

◆ _XIndet

template<class Field>
const Indeter _XIndet
protected

◆ _F

template<class Field>
const Field_t& _F
protected

◆ _PolRing

template<class Field>
const Ring_t _PolRing
protected

◆ _primes

template<class Field>
array_T _primes
protected

◆ _ck

template<class Field>
array_E _ck
protected

The documentation for this class was generated from the following files: