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
 
Integerconvert (Integer &i, const PolElement &e) const
 
PolElementinit (PolElement &e, const Integer &i) 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 isUnit (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.

Member Typedef Documentation

◆ Self_t

typedef Extension<BFT> Self_t

◆ BaseField_t

typedef BFT BaseField_t

◆ BFElement

◆ Residu_t

typedef Signed_Trait<BFElement>::unsigned_type Residu_t

◆ Pol_t

typedef Poly1FactorDom< BFT, Dense > Pol_t

◆ PolElement

◆ Element

◆ Element_ptr

typedef Element* Element_ptr

◆ ConstElement_ptr

typedef const Element* ConstElement_ptr

◆ RandIter

Constructor & Destructor Documentation

◆ Extension() [1/5]

Extension ( )
inline

◆ Extension() [2/5]

Extension ( const Residu_t  p,
const Residu_t  e = 1,
const Indeter  Y = "Y" 
)
inline

◆ Extension() [3/5]

Extension ( const BaseField_t bF,
const Residu_t  ex = 1,
const Indeter  Y = "Y" 
)
inline

◆ Extension() [4/5]

Extension ( const Pol_t polydomain,
const PolElement Irred 
)
inline

◆ Extension() [5/5]

Extension ( const Self_t eF)
inline

Member Function Documentation

◆ extension_type()

bool extension_type ( ) const
inline

◆ operator=()

Self_t& operator= ( const Self_t eF)
inline

◆ init() [1/3]

PolElement& init ( PolElement e) const
inline

◆ init() [2/3]

PolElement& init ( PolElement e,
const XXX &  i 
) const
inline

◆ assign() [1/2]

PolElement& assign ( PolElement e,
const BFElement a 
) const
inline

◆ assign() [2/2]

PolElement& assign ( PolElement e,
const PolElement a 
) const
inline

◆ convert() [1/2]

Integer& convert ( Integer i,
const PolElement e 
) const
inline

◆ init() [3/3]

PolElement& init ( PolElement e,
const Integer i 
) const
inline

◆ convert() [2/2]

XXX& convert ( XXX &  i,
const PolElement e 
) const
inline

◆ add()

PolElement& add ( PolElement r,
const PolElement a,
const PolElement b 
) const
inline

◆ sub()

PolElement& sub ( PolElement r,
const PolElement a,
const PolElement b 
) const
inline

◆ neg()

PolElement& neg ( PolElement r,
const PolElement a 
) const
inline

◆ mul()

PolElement& mul ( PolElement r,
const PolElement a,
const PolElement b 
) const
inline

◆ inv()

PolElement& inv ( PolElement r,
const PolElement a 
) const
inline

◆ div()

PolElement& div ( PolElement r,
const PolElement a,
const PolElement b 
) const
inline

◆ axpy()

PolElement& axpy ( PolElement r,
const PolElement a,
const PolElement b,
const PolElement c 
) const
inline

◆ maxpy()

PolElement& maxpy ( PolElement r,
const PolElement  a,
const PolElement  b,
const PolElement  c 
) const
inline

◆ maxpyin()

PolElement& maxpyin ( PolElement r,
const PolElement  a,
const PolElement  b 
) const
inline

◆ axmy()

PolElement& axmy ( PolElement r,
const PolElement  a,
const PolElement  b,
const PolElement  c 
) const
inline

◆ axmyin()

PolElement& axmyin ( PolElement r,
const PolElement  a,
const PolElement  b 
) const
inline

◆ addin()

PolElement& addin ( PolElement r,
const PolElement b 
) const
inline

◆ subin()

PolElement& subin ( PolElement r,
const PolElement b 
) const
inline

◆ negin()

PolElement& negin ( PolElement r) const
inline

◆ mulin()

PolElement& mulin ( PolElement r,
const PolElement b 
) const
inline

◆ invin()

PolElement& invin ( PolElement r) const
inline

◆ divin()

PolElement& divin ( PolElement r,
const PolElement b 
) const
inline

◆ axpyin()

PolElement& axpyin ( PolElement r,
const PolElement b,
const PolElement c 
) const
inline

◆ areEqual()

bool areEqual ( const PolElement b,
const PolElement c 
) const
inline

◆ isZero()

bool isZero ( const PolElement b) const
inline

◆ isOne()

bool isOne ( const PolElement b) const
inline

◆ isUnit()

bool isUnit ( const PolElement b) const
inline

◆ isMOne()

bool isMOne ( const PolElement b) const
inline

◆ random() [1/3]

Element& random ( RandIter g,
Element r 
) const
inline

◆ random() [2/3]

Element& random ( RandIter g,
Element r,
int64_t  s 
) const
inline

◆ random() [3/3]

Element& random ( RandIter g,
Element r,
const Element b 
) const
inline

◆ nonzerorandom() [1/3]

Element& nonzerorandom ( RandIter g,
Element r 
) const
inline

◆ nonzerorandom() [2/3]

Element& nonzerorandom ( RandIter g,
Element r,
int64_t  s 
) const
inline

◆ nonzerorandom() [3/3]

Element& nonzerorandom ( RandIter g,
Element r,
const Element b 
) const
inline

◆ cardinality() [1/2]

Integer& cardinality ( Integer c) const
inline

◆ cardinality() [2/2]

Residu_t cardinality ( ) const
inline

◆ characteristic() [1/3]

Integer& characteristic ( Integer c) const
inline

◆ characteristic() [2/3]

Residu_t characteristic ( ) const
inline

◆ characteristic() [3/3]

int64_t& characteristic ( int64_t &  c) const
inline

◆ exponent()

Residu_t exponent ( ) const
inline

◆ order()

Residu_t order ( ) const
inline

◆ irreducible() [1/2]

PolElement& irreducible ( PolElement P) const
inline

◆ irreducible() [2/2]

const PolElement& irreducible ( ) const
inline

◆ base_field()

const BaseField_t& base_field ( ) const
inline

◆ polynomial_domain()

const Pol_t& polynomial_domain ( ) const
inline

◆ write() [1/2]

std::ostream& write ( std::ostream &  o) const
inline

◆ read() [1/2]

std::istream& read ( std::istream &  s,
PolElement a 
) const
inline

◆ write() [2/2]

std::ostream& write ( std::ostream &  o,
const PolElement R 
) const
inline

◆ read() [2/2]

std::istream& read ( std::istream &  o) const
inline

Field Documentation

◆ _bF

BaseField_t _bF
protected

◆ _pD

Pol_t _pD
protected

◆ _irred

PolElement _irred
protected

◆ _characteristic

Residu_t _characteristic
protected

◆ _extension_order

Residu_t _extension_order
protected

◆ _exponent

Residu_t _exponent
protected

◆ _cardinality

Integer _cardinality
protected

◆ zero

Element zero

◆ one

Element one

◆ mOne

Element mOne

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