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

Extension. More...

#include <extension.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, DensePol_t
 
typedef Pol_t::Element PolElement
 
typedef PolElement Element
 
typedef ElementElement_ptr
 
typedef const ElementConstElement_ptr
 
typedef GIV_ExtensionrandIter< Self_t, IntegerRandIter
 

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_toperator= (const Self_t &eF)
 
PolElementinit (PolElement &e) const
 
template<class XXX >
PolElementinit (PolElement &e, const XXX &i) const
 
PolElementassign (PolElement &e, const BFElement &a) const
 
PolElementassign (PolElement &e, const PolElement &a) const
 
template<class XXX >
XXX & convert (XXX &i, const PolElement &e) const
 
PolElementadd (PolElement &r, const PolElement &a, const PolElement &b) const
 
PolElementsub (PolElement &r, const PolElement &a, const PolElement &b) const
 
PolElementneg (PolElement &r, const PolElement &a) const
 
PolElementmul (PolElement &r, const PolElement &a, const PolElement &b) const
 
PolElementinv (PolElement &r, const PolElement &a) const
 
PolElementdiv (PolElement &r, const PolElement &a, const PolElement &b) const
 
PolElementaxpy (PolElement &r, const PolElement &a, const PolElement &b, const PolElement &c) const
 
PolElementmaxpy (PolElement &r, const PolElement a, const PolElement b, const PolElement c) const
 
PolElementmaxpyin (PolElement &r, const PolElement a, const PolElement b) const
 
PolElementaxmy (PolElement &r, const PolElement a, const PolElement b, const PolElement c) const
 
PolElementaxmyin (PolElement &r, const PolElement a, const PolElement b) const
 
PolElementaddin (PolElement &r, const PolElement &b) const
 
PolElementsubin (PolElement &r, const PolElement &b) const
 
PolElementnegin (PolElement &r) const
 
PolElementmulin (PolElement &r, const PolElement &b) const
 
PolElementinvin (PolElement &r) const
 
PolElementdivin (PolElement &r, const PolElement &b) const
 
PolElementaxpyin (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
 
bool isMOne (const PolElement &b) const
 
template<class RandIter >
Elementrandom (RandIter &g, Element &r) const
 
template<class RandIter >
Elementrandom (RandIter &g, Element &r, int64_t s) const
 
template<class RandIter >
Elementrandom (RandIter &g, Element &r, const Element &b) const
 
template<class RandIter >
Elementnonzerorandom (RandIter &g, Element &r) const
 
template<class RandIter >
Elementnonzerorandom (RandIter &g, Element &r, int64_t s) const
 
template<class RandIter >
Elementnonzerorandom (RandIter &g, Element &r, const Element &b) const
 
Integercardinality (Integer &c) const
 
Residu_t cardinality () const
 
Integercharacteristic (Integer &c) const
 
Residu_t characteristic () const
 
int64_t & characteristic (int64_t &c) const
 
Residu_t exponent () const
 
Residu_t order () const
 
PolElementirreducible (PolElement &P) const
 
const PolElementirreducible () const
 
const BaseField_tbase_field () const
 
const Pol_tpolynomial_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<int64_t>>
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
typedef Element* Element_ptr
typedef const Element* ConstElement_ptr

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
bool isMOne ( const PolElement b) const
inline
Element& random ( RandIter g,
Element r 
) const
inline
Element& random ( RandIter g,
Element r,
int64_t  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,
int64_t  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
int64_t& characteristic ( int64_t &  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: