Givaro
Public Types | Public Member Functions | Protected Types | Protected Attributes
CyclotomicTable< Domain, Tag > Class Template Reference

CyclotomicTable. More...

#include <givpoly1tabcycl.h>

+ Inheritance diagram for CyclotomicTable< Domain, Tag >:
+ Collaboration diagram for CyclotomicTable< Domain, Tag >:

Public Types

typedef GivRandom random_generator
 
typedef Domain::Residu_t Residu_t
 
typedef Signed_Trait< typename Domain::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 More...
 
Element & creux_random_irreducible (Element &P, Degree n) const
 random irreducible polynomial tries to be sparse More...
 
Element & ixe_irreducible (Element &R, Degree n) const
 random irreducible polynomial with X as primitive root More...
 
Element & ixe_irreducible2 (Element &R, Degree n) const
 random irreducible polynomial with X as primitive root More...
 
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 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<typename Domain::Element>::signed_type Element_t
inherited

◆ Type_t

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

Constructor & Destructor Documentation

◆ CyclotomicTable()

CyclotomicTable ( Domain _d,
const long  expo,
const Indeter X = Indeter() 
)
inline

Member Function Documentation

◆ getcyclo()

Element& getcyclo ( Element &  res) const
inline

◆ set_random_irreducible()

void set_random_irreducible ( const Domain _d,
const long  expo 
)
inline

◆ table_0()

void table_0 ( const typename Domain::Residu_t  mod,
const long  expo 
)
inline

◆ table_50()

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

Field Documentation

◆ _g

GivRandom _g
mutableprotectedinherited

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