Givaro 4.2.1
CyclotomicTable< Domain, Tag > Class Template Reference

CyclotomicTable. More...

#include <givpoly1tabcycl.h>

+ Inheritance diagram for CyclotomicTable< Domain, Tag >:

Public Types

typedef GivRandom random_generator
 
typedef Domain::Residu_t Residu_t
 
typedef Signed_Trait< typenameDomain::Element >::signed_type Element_t
 
typedef Poly1Dom< Domain, Tag >::Type_t Type_t
 

Public Member Functions

 CyclotomicTable (Domain &_d, const long expo, const Indeter &X=Indeter())
 
Element & getcyclo (Element &res) const
 
void set_random_irreducible (const Domain &_d, const long expo)
 
void table_0 (const typename Domain::Residu_t mod, const long expo)
 
void table_50 (const typename Domain::Residu_t mod, const long expo)
 
void SplitFactor (Container< Rep, Alloc< Rep > > &L, const Rep &G, Degree d, Residu_t MOD) const
 
void SplitFactor (Container< Rep, Alloc< Rep > > &L, const Rep &G, Degree d) const
 
RepSplitFactor (Rep &R, const Rep &G, Degree d, Residu_t MOD) const
 
RepSplitFactor (Rep &R, const Rep &G, Degree d) const
 
void DistinctDegreeFactor (Container< Rep, Alloc< Rep > > &L, const Rep &f, Residu_t MOD) const
 
void DistinctDegreeFactor (Container< Rep, Alloc< Rep > > &L, const Rep &f) const
 
void CZfactor (Container< Rep, Alloc< Rep > > &Lf, Container< uint64_t, Alloc< uint64_t > > &Le, const Rep &f, Residu_t MOD) const
 
void CZfactor (Container< Rep, Alloc< Rep > > &Lf, Container< uint64_t, Alloc< uint64_t > > &Le, const Rep &f) const
 
Repfactor (Rep &W, const Rep &P, Residu_t MOD) const
 
Repfactor (Rep &W, const Rep &P) const
 
PolyCont & factor (PolyCont &factors, std::vector< uint64_t > &exp, const Rep &P)
 
bool is_irreducible (const Rep &P, Residu_t MOD) const
 
bool is_irreducible (const Rep &P) const
 
bool is_irreducible2 (const Rep &P, Residu_t MOD) const
 
bool is_irreducible2 (const Rep &P) const
 
Element & random_irreducible (Element &P, Degree n) const
 random irreducible polynomial
 
Element & creux_random_irreducible (Element &P, Degree n) const
 random irreducible polynomial tries to be sparse
 
Element & ixe_irreducible (Element &R, Degree n) const
 random irreducible polynomial with X as primitive root
 
Element & ixe_irreducible2 (Element &R, Degree n) const
 random irreducible polynomial with X as primitive root
 
IntegerDom::Element order (const Rep &P, const Rep &F) const
 
bool is_prim_root (const Rep &P, const Rep &F) const
 
Reprandom_prim_root (Rep &P, Rep &R, Degree n) const
 
Repgive_random_prim_root (Rep &R, const Rep &F) const
 
Repgive_prim_root (Rep &R, const Rep &F) const
 

Protected Types

typedef Poly1Dom< Domain, Tag >::Rep Rep
 

Protected Member Functions

bool find_irred_binomial (Element &R, Degree n, Residue MOD) const
 
bool find_irred_binomial (Element &R, Degree n, bool MOD) const
 
bool find_irred_binomial (Element &R, Degree n, Residue MOD, Element IXE) const
 
bool find_irred_binomial (Element &R, Degree n, bool MOD, Element IXE) const
 
bool find_irred_binomial2 (Element &R, Degree n, Residue MOD, Element IXE) const
 
bool find_irred_binomial2 (Element &R, Degree n, bool MOD, Element IXE) const
 
bool find_irred_trinomial (Element &R, Degree n, Residue MOD) const
 
bool find_irred_trinomial (Element &R, Degree n, bool MOD) const
 
bool find_irred_trinomial (Element &R, Degree n, Residue MOD, Element IXE) const
 
bool find_irred_trinomial (Element &R, Degree n, bool MOD, Element IXE) const
 
bool find_irred_trinomial2 (Element &R, Degree n, Residue MOD, Element IXE) const
 
bool find_irred_trinomial2 (Element &R, Degree n, bool MOD, Element IXE) const
 
bool find_irred_randomial (Element &R, Degree n, Residue MOD) const
 
bool find_irred_randomial (Element &R, Degree n, bool MOD) const
 
bool find_irred_randomial (Element &R, Degree n, Residue MOD, Element IXE) const
 
bool find_irred_randomial (Element &R, Degree n, bool MOD, Element IXE) const
 
bool find_irred_randomial2 (Element &R, Degree n, Residue MOD, Element IXE) const
 
bool find_irred_randomial2 (Element &R, Degree n, bool MOD, Element IXE) const
 

Protected Attributes

GivRandom _g
 

Detailed Description

template<class Domain, class Tag>
class Givaro::CyclotomicTable< Domain, Tag >

CyclotomicTable.

Member Typedef Documentation

◆ Rep

typedef Poly1Dom<Domain,Tag>::Rep Rep
protectedinherited

◆ random_generator

typedef GivRandom random_generator
inherited

◆ Residu_t

typedef Domain::Residu_t Residu_t
inherited

◆ Element_t

typedef Signed_Trait<typenameDomain::Element>::signed_type Element_t
inherited

◆ Type_t

typedef Poly1Dom<Domain,Tag>::Type_t Type_t
inherited

Constructor & Destructor Documentation

◆ CyclotomicTable()

template<class Domain, class Tag>
CyclotomicTable ( Domain & _d,
const long expo,
const Indeter & X = Indeter() )
inline

Member Function Documentation

◆ getcyclo()

template<class Domain, class Tag>
Element & getcyclo ( Element & res) const
inline

◆ set_random_irreducible()

template<class Domain, class Tag>
void set_random_irreducible ( const Domain & _d,
const long expo )
inline

◆ table_0()

template<class Domain, class Tag>
void table_0 ( const typename Domain::Residu_t mod,
const long expo )
inline

◆ table_50()

template<class Domain, class Tag>
void table_50 ( const typename Domain::Residu_t mod,
const long expo )
inline

◆ SplitFactor() [1/4]

void SplitFactor ( Container< Rep, Alloc< Rep > > & L,
const Rep & G,
Degree d,
Residu_t MOD ) const
inlineinherited

◆ SplitFactor() [2/4]

void SplitFactor ( Container< Rep, Alloc< Rep > > & L,
const Rep & G,
Degree d ) const
inlineinherited

◆ SplitFactor() [3/4]

Poly1FactorDom< Domain, Tag, GivRandom >::Rep & SplitFactor ( Rep & R,
const Rep & G,
Degree d,
Residu_t MOD ) const
inlineinherited

◆ SplitFactor() [4/4]

Rep & SplitFactor ( Rep & R,
const Rep & G,
Degree d ) const
inlineinherited

◆ DistinctDegreeFactor() [1/2]

void DistinctDegreeFactor ( Container< Rep, Alloc< Rep > > & L,
const Rep & f,
Residu_t MOD ) const
inlineinherited

◆ DistinctDegreeFactor() [2/2]

void DistinctDegreeFactor ( Container< Rep, Alloc< Rep > > & L,
const Rep & f ) const
inlineinherited

◆ CZfactor() [1/2]

void CZfactor ( Container< Rep, Alloc< Rep > > & Lf,
Container< uint64_t, Alloc< uint64_t > > & Le,
const Rep & f,
Residu_t MOD ) const
inlineinherited

◆ CZfactor() [2/2]

void CZfactor ( Container< Rep, Alloc< Rep > > & Lf,
Container< uint64_t, Alloc< uint64_t > > & Le,
const Rep & f ) const
inlineinherited

◆ factor() [1/3]

Poly1FactorDom< Domain, Tag, GivRandom >::Rep & factor ( Rep & W,
const Rep & P,
Residu_t MOD ) const
inlineinherited

◆ factor() [2/3]

Rep & factor ( Rep & W,
const Rep & P ) const
inlineinherited

◆ factor() [3/3]

PolyCont & factor ( PolyCont & factors,
std::vector< uint64_t > & exp,
const Rep & P )
inlineinherited

◆ is_irreducible() [1/2]

bool is_irreducible ( const Rep & P,
Residu_t MOD ) const
inlineinherited

◆ is_irreducible() [2/2]

bool is_irreducible ( const Rep & P) const
inlineinherited

◆ is_irreducible2() [1/2]

bool is_irreducible2 ( const Rep & P,
Residu_t MOD ) const
inlineinherited

◆ is_irreducible2() [2/2]

bool is_irreducible2 ( const Rep & P) const
inlineinherited

◆ random_irreducible()

Poly1FactorDom< Domain, Tag, GivRandom >::Element & random_irreducible ( Element & P,
Degree n ) const
inlineinherited

random irreducible polynomial

◆ creux_random_irreducible()

Poly1FactorDom< Domain, Tag, GivRandom >::Element & creux_random_irreducible ( Element & P,
Degree n ) const
inlineinherited

random irreducible polynomial tries to be sparse

◆ ixe_irreducible()

Poly1FactorDom< Domain, Tag, GivRandom >::Element & ixe_irreducible ( Element & R,
Degree n ) const
inlineinherited

random irreducible polynomial with X as primitive root

◆ ixe_irreducible2()

Poly1FactorDom< Domain, Tag, GivRandom >::Element & ixe_irreducible2 ( Element & R,
Degree n ) const
inlineinherited

random irreducible polynomial with X as primitive root

◆ order()

IntegerDom::Element order ( const Rep & P,
const Rep & F ) const
inlineinherited

◆ is_prim_root()

bool is_prim_root ( const Rep & P,
const Rep & F ) const
inherited

◆ random_prim_root()

Poly1FactorDom< Domain, Tag, GivRandom >::Rep & random_prim_root ( Rep & P,
Rep & R,
Degree n ) const
inlineinherited

◆ give_random_prim_root()

Poly1FactorDom< Domain, Tag, GivRandom >::Rep & give_random_prim_root ( Rep & R,
const Rep & F ) const
inlineinherited

◆ give_prim_root()

Poly1FactorDom< Domain, Tag, GivRandom >::Rep & give_prim_root ( Rep & R,
const Rep & F ) const
inlineinherited

◆ find_irred_binomial() [1/4]

bool find_irred_binomial ( Element & R,
Degree n,
Residue MOD ) const
inlineprotectedinherited

◆ find_irred_binomial() [2/4]

bool find_irred_binomial ( Element & R,
Degree n,
bool MOD ) const
inlineprotectedinherited

◆ find_irred_binomial() [3/4]

bool find_irred_binomial ( Element & R,
Degree n,
Residue MOD,
Element IXE ) const
inlineprotectedinherited

◆ find_irred_binomial() [4/4]

bool find_irred_binomial ( Element & R,
Degree n,
bool MOD,
Element IXE ) const
inlineprotectedinherited

◆ find_irred_binomial2() [1/2]

bool find_irred_binomial2 ( Element & R,
Degree n,
Residue MOD,
Element IXE ) const
inlineprotectedinherited

◆ find_irred_binomial2() [2/2]

bool find_irred_binomial2 ( Element & R,
Degree n,
bool MOD,
Element IXE ) const
inlineprotectedinherited

◆ find_irred_trinomial() [1/4]

bool find_irred_trinomial ( Element & R,
Degree n,
Residue MOD ) const
inlineprotectedinherited

◆ find_irred_trinomial() [2/4]

bool find_irred_trinomial ( Element & R,
Degree n,
bool MOD ) const
inlineprotectedinherited

◆ find_irred_trinomial() [3/4]

bool find_irred_trinomial ( Element & R,
Degree n,
Residue MOD,
Element IXE ) const
inlineprotectedinherited

◆ find_irred_trinomial() [4/4]

bool find_irred_trinomial ( Element & R,
Degree n,
bool MOD,
Element IXE ) const
inlineprotectedinherited

◆ find_irred_trinomial2() [1/2]

bool find_irred_trinomial2 ( Element & R,
Degree n,
Residue MOD,
Element IXE ) const
inlineprotectedinherited

◆ find_irred_trinomial2() [2/2]

bool find_irred_trinomial2 ( Element & R,
Degree n,
bool MOD,
Element IXE ) const
inlineprotectedinherited

◆ find_irred_randomial() [1/4]

bool find_irred_randomial ( Element & R,
Degree n,
Residue MOD ) const
inlineprotectedinherited

◆ find_irred_randomial() [2/4]

bool find_irred_randomial ( Element & R,
Degree n,
bool MOD ) const
inlineprotectedinherited

◆ find_irred_randomial() [3/4]

bool find_irred_randomial ( Element & R,
Degree n,
Residue MOD,
Element IXE ) const
inlineprotectedinherited

◆ find_irred_randomial() [4/4]

bool find_irred_randomial ( Element & R,
Degree n,
bool MOD,
Element IXE ) const
inlineprotectedinherited

◆ find_irred_randomial2() [1/2]

bool find_irred_randomial2 ( Element & R,
Degree n,
Residue MOD,
Element IXE ) const
inlineprotectedinherited

◆ find_irred_randomial2() [2/2]

bool find_irred_randomial2 ( Element & R,
Degree n,
bool MOD,
Element IXE ) const
inlineprotectedinherited

Field Documentation

◆ _g

GivRandom _g
mutableprotectedinherited

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