Givaro
|
#include <givpoly1factor.h>
Public Types | |
typedef Poly1Dom< Domain, Tag > ::Element | Element |
typedef RandIter | random_generator |
typedef Signed_Trait< typename Domain::Element > ::unsigned_type | Residu_t |
Public Member Functions | |
Poly1FactorDom () | |
Poly1FactorDom (Domain &d, const Indeter &X=Indeter(), const RandIter &g=RandIter()) | |
Poly1FactorDom (const Poly1Dom< Domain, Tag > &P, const RandIter &g=RandIter()) | |
template<template< class, class > class Container, template< class > class Alloc> | |
void | SplitFactor (Container< Rep, Alloc< Rep > > &L, const Rep &G, Degree d, Residu_t MOD) const |
template<template< class, class > class Container, template< class > class Alloc> | |
void | SplitFactor (Container< Rep, Alloc< Rep > > &L, const Rep &G, Degree d) const |
Rep & | SplitFactor (Rep &R, const Rep &G, Degree d, Residu_t MOD) const |
Rep & | SplitFactor (Rep &R, const Rep &G, Degree d) const |
template<template< class, class > class Container, template< class > class Alloc> | |
void | DistinctDegreeFactor (Container< Rep, Alloc< Rep > > &L, const Rep &f, Residu_t MOD) const |
template<template< class, class > class Container, template< class > class Alloc> | |
void | DistinctDegreeFactor (Container< Rep, Alloc< Rep > > &L, const Rep &f) const |
template<template< class, class > class Container, template< class > class Alloc> | |
void | CZfactor (Container< Rep, Alloc< Rep > > &Lf, Container< unsigned long, Alloc< unsigned long > > &Le, const Rep &f, Residu_t MOD) const |
template<template< class, class > class Container, template< class > class Alloc> | |
void | CZfactor (Container< Rep, Alloc< Rep > > &Lf, Container< unsigned long, Alloc< unsigned long > > &Le, const Rep &f) const |
Rep & | factor (Rep &W, const Rep &P, Residu_t MOD) const |
Rep & | factor (Rep &W, const Rep &P) const |
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 |
Rep & | random_prim_root (Rep &P, Rep &R, Degree n) const |
Rep & | give_random_prim_root (Rep &R, const Rep &F) const |
Rep & | give_prim_root (Rep &R, const Rep &F) const |
Protected Types | |
typedef Poly1Dom< Domain, Tag > ::Rep | Rep |
Protected Attributes | |
RandIter | _g |
typedef RandIter random_generator |
typedef Signed_Trait<typename Domain::Element>::unsigned_type Residu_t |
Poly1FactorDom | ( | ) | [inline] |
Poly1FactorDom | ( | Domain & | d, |
const Indeter & | X = Indeter() , |
||
const RandIter & | g = RandIter() |
||
) | [inline] |
Poly1FactorDom | ( | const Poly1Dom< Domain, Tag > & | P, |
const RandIter & | g = RandIter() |
||
) | [inline] |
void SplitFactor | ( | Container< Rep, Alloc< Rep > > & | L, |
const Rep & | G, | ||
Degree | d, | ||
Residu_t | MOD | ||
) | const [inline] |
Poly1FactorDom< Domain, Tag, RandIter >::Rep & SplitFactor | ( | Rep & | R, |
const Rep & | G, | ||
Degree | d, | ||
Residu_t | MOD | ||
) | const [inline] |
void DistinctDegreeFactor | ( | Container< Rep, Alloc< Rep > > & | L, |
const Rep & | f, | ||
Residu_t | MOD | ||
) | const [inline] |
void CZfactor | ( | Container< Rep, Alloc< Rep > > & | Lf, |
Container< unsigned long, Alloc< unsigned long > > & | Le, | ||
const Rep & | f, | ||
Residu_t | MOD | ||
) | const [inline] |
void CZfactor | ( | Container< Rep, Alloc< Rep > > & | Lf, |
Container< unsigned long, Alloc< unsigned long > > & | Le, | ||
const Rep & | f | ||
) | const [inline] |
Poly1FactorDom< Domain, Tag, RandIter >::Rep & factor | ( | Rep & | W, |
const Rep & | P, | ||
Residu_t | MOD | ||
) | const [inline] |
bool is_irreducible | ( | const Rep & | P | ) | const [inline] |
bool is_irreducible2 | ( | const Rep & | P | ) | const [inline] |
Poly1FactorDom< Domain, Tag, RandIter >::Element & random_irreducible | ( | Element & | P, |
Degree | n | ||
) | const [inline] |
random irreducible polynomial
Poly1FactorDom< Domain, Tag, RandIter >::Element & creux_random_irreducible | ( | Element & | P, |
Degree | n | ||
) | const [inline] |
random irreducible polynomial tries to be sparse
Poly1FactorDom< Domain, Tag, RandIter >::Element & ixe_irreducible | ( | Element & | R, |
Degree | n | ||
) | const [inline] |
random irreducible polynomial with X as primitive root
Poly1FactorDom< Domain, Tag, RandIter >::Element & ixe_irreducible2 | ( | Element & | R, |
Degree | n | ||
) | const [inline] |
random irreducible polynomial with X as primitive root
IntegerDom::Element order | ( | const Rep & | P, |
const Rep & | F | ||
) | const [inline] |
Poly1FactorDom< Domain, Tag, RandIter >::Rep & random_prim_root | ( | Rep & | P, |
Rep & | R, | ||
Degree | n | ||
) | const [inline] |
Poly1FactorDom< Domain, Tag, RandIter >::Rep & give_random_prim_root | ( | Rep & | R, |
const Rep & | F | ||
) | const [inline] |
Poly1FactorDom< Domain, Tag, RandIter >::Rep & give_prim_root | ( | Rep & | R, |
const Rep & | F | ||
) | const [inline] |
RandIter _g [mutable, protected] |