Givaro
Public Types | Public Member Functions | Data Fields | Protected Attributes
Extension< BFT > Class Template Reference

Extension. More...

#include <givextension.h>

+ Collaboration diagram for Extension< BFT >:

Public Types

typedef Extension< BFT > Self_t
typedef BFT BaseField_t
typedef BFT::Element BFElement
typedef Signed_Trait
< BFElement >::unsigned_type 
Residu_t
typedef Poly1FactorDom< BFT,
Dense > 
Pol_t
typedef Pol_t::Element PolElement
typedef PolElement Element

Public Member Functions

bool extension_type () const
 Extension ()
 Extension (const Residu_t p, const Residu_t e=1, const Indeter Y="Y")
 Extension (const BaseField_t &bF, const Residu_t ex=1, const Indeter Y="Y")
 Extension (const Pol_t &polydomain, const PolElement &Irred)
 Extension (const Self_t &eF)
Self_t & operator= (const Self_t &eF)
PolElement & init (PolElement &e) const
template<class XXX >
PolElement & init (PolElement &e, const XXX &i) const
PolElement & assign (PolElement &e, const BFElement &a) const
PolElement & assign (PolElement &e, const PolElement &a) const
template<class XXX >
XXX & convert (XXX &i, const PolElement &e) const
PolElement & add (PolElement &r, const PolElement &a, const PolElement &b) const
PolElement & sub (PolElement &r, const PolElement &a, const PolElement &b) const
PolElement & neg (PolElement &r, const PolElement &a) const
PolElement & mul (PolElement &r, const PolElement &a, const PolElement &b) const
PolElement & inv (PolElement &r, const PolElement &a) const
PolElement & div (PolElement &r, const PolElement &a, const PolElement &b) const
PolElement & axpy (PolElement &r, const PolElement &a, const PolElement &b, const PolElement &c) const
PolElement & maxpy (PolElement &r, const PolElement a, const PolElement b, const PolElement c) const
PolElement & maxpyin (PolElement &r, const PolElement a, const PolElement b) const
PolElement & axmy (PolElement &r, const PolElement a, const PolElement b, const PolElement c) const
PolElement & axmyin (PolElement &r, const PolElement a, const PolElement b) const
PolElement & addin (PolElement &r, const PolElement &b) const
PolElement & subin (PolElement &r, const PolElement &b) const
PolElement & negin (PolElement &r) const
PolElement & mulin (PolElement &r, const PolElement &b) const
PolElement & invin (PolElement &r) const
PolElement & divin (PolElement &r, const PolElement &b) const
PolElement & axpyin (PolElement &r, const PolElement &b, const PolElement &c) const
bool areEqual (const PolElement &b, const PolElement &c) const
bool isZero (const PolElement &b) const
bool isOne (const PolElement &b) const
template<class RandIter >
Element & random (RandIter &g, Element &r) const
template<class RandIter >
Element & random (RandIter &g, Element &r, long s) const
template<class RandIter >
Element & random (RandIter &g, Element &r, const Element &b) const
template<class RandIter >
Element & nonzerorandom (RandIter &g, Element &r) const
template<class RandIter >
Element & nonzerorandom (RandIter &g, Element &r, long s) const
template<class RandIter >
Element & nonzerorandom (RandIter &g, Element &r, const Element &b) const
Integer & cardinality (Integer &c) const
Residu_t cardinality () const
Integer & characteristic (Integer &c) const
Residu_t characteristic () const
unsigned long & characteristic (unsigned long &c) const
Residu_t exponent () const
Residu_t order () const
PolElement & irreducible (PolElement &P) const
const PolElement & irreducible () const
const BaseField_t & base_field () const
const Pol_t & polynomial_domain () const
std::ostream & write (std::ostream &o) const
std::istream & read (std::istream &s, PolElement &a) const
std::ostream & write (std::ostream &o, const PolElement &R) const
std::istream & read (std::istream &o) const

Data Fields

Element zero
Element one
Element mOne

Protected Attributes

BaseField_t _bF
Pol_t _pD
PolElement _irred
Residu_t _characteristic
Residu_t _extension_order
Residu_t _exponent
Integer _cardinality

Detailed Description

template<class BFT = GFqDom<long>>
class Givaro::Extension< BFT >

Extension.

Examples:
examples/FiniteField/Test_Extension.C, and examples/Polynomial/PolynomialCRT.C.

Member Typedef Documentation

typedef Extension<BFT> Self_t
typedef BFT BaseField_t
typedef BFT::Element BFElement
typedef Signed_Trait<BFElement>::unsigned_type Residu_t
typedef Poly1FactorDom< BFT, Dense > Pol_t

Constructor & Destructor Documentation

Extension ( )
inline
Extension ( const Residu_t  p,
const Residu_t  e = 1,
const Indeter  Y = "Y" 
)
inline
Extension ( const BaseField_t &  bF,
const Residu_t  ex = 1,
const Indeter  Y = "Y" 
)
inline
Extension ( const Pol_t &  polydomain,
const PolElement &  Irred 
)
inline
Extension ( const Self_t &  eF)
inline

Member Function Documentation

bool extension_type ( ) const
inline
Self_t& operator= ( const Self_t &  eF)
inline
PolElement& init ( PolElement &  e) const
inline
PolElement& init ( PolElement &  e,
const XXX &  i 
) const
inline
PolElement& assign ( PolElement &  e,
const BFElement &  a 
) const
inline
PolElement& assign ( PolElement &  e,
const PolElement &  a 
) const
inline
XXX& convert ( XXX &  i,
const PolElement &  e 
) const
inline
PolElement& add ( PolElement &  r,
const PolElement &  a,
const PolElement &  b 
) const
inline
PolElement& sub ( PolElement &  r,
const PolElement &  a,
const PolElement &  b 
) const
inline
PolElement& neg ( PolElement &  r,
const PolElement &  a 
) const
inline
PolElement& mul ( PolElement &  r,
const PolElement &  a,
const PolElement &  b 
) const
inline
PolElement& inv ( PolElement &  r,
const PolElement &  a 
) const
inline
PolElement& div ( PolElement &  r,
const PolElement &  a,
const PolElement &  b 
) const
inline
PolElement& axpy ( PolElement &  r,
const PolElement &  a,
const PolElement &  b,
const PolElement &  c 
) const
inline
PolElement& maxpy ( PolElement &  r,
const PolElement  a,
const PolElement  b,
const PolElement  c 
) const
inline
PolElement& maxpyin ( PolElement &  r,
const PolElement  a,
const PolElement  b 
) const
inline
PolElement& axmy ( PolElement &  r,
const PolElement  a,
const PolElement  b,
const PolElement  c 
) const
inline
PolElement& axmyin ( PolElement &  r,
const PolElement  a,
const PolElement  b 
) const
inline
PolElement& addin ( PolElement &  r,
const PolElement &  b 
) const
inline
PolElement& subin ( PolElement &  r,
const PolElement &  b 
) const
inline
PolElement& negin ( PolElement &  r) const
inline
PolElement& mulin ( PolElement &  r,
const PolElement &  b 
) const
inline
PolElement& invin ( PolElement &  r) const
inline
PolElement& divin ( PolElement &  r,
const PolElement &  b 
) const
inline
PolElement& axpyin ( PolElement &  r,
const PolElement &  b,
const PolElement &  c 
) const
inline
bool areEqual ( const PolElement &  b,
const PolElement &  c 
) const
inline
bool isZero ( const PolElement &  b) const
inline
bool isOne ( const PolElement &  b) const
inline
Element& random ( RandIter &  g,
Element &  r 
) const
inline
Element& random ( RandIter &  g,
Element &  r,
long  s 
) const
inline
Element& random ( RandIter &  g,
Element &  r,
const Element &  b 
) const
inline
Element& nonzerorandom ( RandIter &  g,
Element &  r 
) const
inline
Element& nonzerorandom ( RandIter &  g,
Element &  r,
long  s 
) const
inline
Element& nonzerorandom ( RandIter &  g,
Element &  r,
const Element &  b 
) const
inline
Integer& cardinality ( Integer &  c) const
inline
Residu_t cardinality ( ) const
inline
Integer& characteristic ( Integer &  c) const
inline
Residu_t characteristic ( ) const
inline
unsigned long& characteristic ( unsigned long &  c) const
inline
Residu_t exponent ( ) const
inline
Residu_t order ( ) const
inline
PolElement& irreducible ( PolElement &  P) const
inline
const PolElement& irreducible ( ) const
inline
const BaseField_t& base_field ( ) const
inline
const Pol_t& polynomial_domain ( ) const
inline
std::ostream& write ( std::ostream &  o) const
inline
std::istream& read ( std::istream &  s,
PolElement &  a 
) const
inline
std::ostream& write ( std::ostream &  o,
const PolElement &  R 
) const
inline
std::istream& read ( std::istream &  o) const
inline

Field Documentation

BaseField_t _bF
protected
Pol_t _pD
protected
PolElement _irred
protected
Residu_t _characteristic
protected
Residu_t _extension_order
protected
Residu_t _exponent
protected
Integer _cardinality
protected
Element zero
Element one
Element mOne

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