Givaro 4.2.1
Extension< BFT > Class Template Reference

Extension. More...

#include <extension.h>

Public Types

typedef Extension< BFT > Self_t
 
typedef BFT BaseField_t
 
typedef BFT::Element BFElement
 
typedef BFT::Residu_t 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
 
Residu_t residu () 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

◆ Self_t

template<class BFT = GFqDom<int64_t>>
typedef Extension<BFT> Self_t

◆ BaseField_t

template<class BFT = GFqDom<int64_t>>
typedef BFT BaseField_t

◆ BFElement

template<class BFT = GFqDom<int64_t>>
typedef BFT::Element BFElement

◆ Residu_t

template<class BFT = GFqDom<int64_t>>
typedef BFT::Residu_t Residu_t

◆ Pol_t

template<class BFT = GFqDom<int64_t>>
typedef Poly1FactorDom< BFT, Dense > Pol_t

◆ PolElement

template<class BFT = GFqDom<int64_t>>
typedef Pol_t::Element PolElement

◆ Element

template<class BFT = GFqDom<int64_t>>
typedef PolElement Element

◆ Element_ptr

template<class BFT = GFqDom<int64_t>>
typedef Element* Element_ptr

◆ ConstElement_ptr

template<class BFT = GFqDom<int64_t>>
typedef const Element* ConstElement_ptr

◆ RandIter

template<class BFT = GFqDom<int64_t>>
typedef GIV_ExtensionrandIter< Self_t, Integer > RandIter

Constructor & Destructor Documentation

◆ Extension() [1/5]

template<class BFT = GFqDom<int64_t>>
Extension ( )
inline

◆ Extension() [2/5]

template<class BFT = GFqDom<int64_t>>
Extension ( const Residu_t p,
const Residu_t e = 1,
const Indeter Y = "Y" )
inline

◆ Extension() [3/5]

template<class BFT = GFqDom<int64_t>>
Extension ( const BaseField_t & bF,
const Residu_t ex = 1,
const Indeter Y = "Y" )
inline

◆ Extension() [4/5]

template<class BFT = GFqDom<int64_t>>
Extension ( const Pol_t & polydomain,
const PolElement & Irred )
inline

◆ Extension() [5/5]

template<class BFT = GFqDom<int64_t>>
Extension ( const Self_t & eF)
inline

Member Function Documentation

◆ extension_type()

template<class BFT = GFqDom<int64_t>>
bool extension_type ( ) const
inline

◆ operator=()

template<class BFT = GFqDom<int64_t>>
Self_t & operator= ( const Self_t & eF)
inline

◆ init() [1/3]

template<class BFT = GFqDom<int64_t>>
PolElement & init ( PolElement & e) const
inline

◆ init() [2/3]

template<class BFT = GFqDom<int64_t>>
template<class XXX>
PolElement & init ( PolElement & e,
const XXX & i ) const
inline

◆ assign() [1/2]

template<class BFT = GFqDom<int64_t>>
PolElement & assign ( PolElement & e,
const BFElement & a ) const
inline

◆ assign() [2/2]

template<class BFT = GFqDom<int64_t>>
PolElement & assign ( PolElement & e,
const PolElement & a ) const
inline

◆ convert() [1/2]

template<class BFT = GFqDom<int64_t>>
Integer & convert ( Integer & i,
const PolElement & e ) const
inline

◆ init() [3/3]

template<class BFT = GFqDom<int64_t>>
PolElement & init ( PolElement & e,
const Integer & i ) const
inline

◆ convert() [2/2]

template<class BFT = GFqDom<int64_t>>
template<class XXX>
XXX & convert ( XXX & i,
const PolElement & e ) const
inline

◆ add()

template<class BFT = GFqDom<int64_t>>
PolElement & add ( PolElement & r,
const PolElement & a,
const PolElement & b ) const
inline

◆ sub()

template<class BFT = GFqDom<int64_t>>
PolElement & sub ( PolElement & r,
const PolElement & a,
const PolElement & b ) const
inline

◆ neg()

template<class BFT = GFqDom<int64_t>>
PolElement & neg ( PolElement & r,
const PolElement & a ) const
inline

◆ mul()

template<class BFT = GFqDom<int64_t>>
PolElement & mul ( PolElement & r,
const PolElement & a,
const PolElement & b ) const
inline

◆ inv()

template<class BFT = GFqDom<int64_t>>
PolElement & inv ( PolElement & r,
const PolElement & a ) const
inline

◆ div()

template<class BFT = GFqDom<int64_t>>
PolElement & div ( PolElement & r,
const PolElement & a,
const PolElement & b ) const
inline

◆ axpy()

template<class BFT = GFqDom<int64_t>>
PolElement & axpy ( PolElement & r,
const PolElement & a,
const PolElement & b,
const PolElement & c ) const
inline

◆ maxpy()

template<class BFT = GFqDom<int64_t>>
PolElement & maxpy ( PolElement & r,
const PolElement a,
const PolElement b,
const PolElement c ) const
inline

◆ maxpyin()

template<class BFT = GFqDom<int64_t>>
PolElement & maxpyin ( PolElement & r,
const PolElement a,
const PolElement b ) const
inline

◆ axmy()

template<class BFT = GFqDom<int64_t>>
PolElement & axmy ( PolElement & r,
const PolElement a,
const PolElement b,
const PolElement c ) const
inline

◆ axmyin()

template<class BFT = GFqDom<int64_t>>
PolElement & axmyin ( PolElement & r,
const PolElement a,
const PolElement b ) const
inline

◆ addin()

template<class BFT = GFqDom<int64_t>>
PolElement & addin ( PolElement & r,
const PolElement & b ) const
inline

◆ subin()

template<class BFT = GFqDom<int64_t>>
PolElement & subin ( PolElement & r,
const PolElement & b ) const
inline

◆ negin()

template<class BFT = GFqDom<int64_t>>
PolElement & negin ( PolElement & r) const
inline

◆ mulin()

template<class BFT = GFqDom<int64_t>>
PolElement & mulin ( PolElement & r,
const PolElement & b ) const
inline

◆ invin()

template<class BFT = GFqDom<int64_t>>
PolElement & invin ( PolElement & r) const
inline

◆ divin()

template<class BFT = GFqDom<int64_t>>
PolElement & divin ( PolElement & r,
const PolElement & b ) const
inline

◆ axpyin()

template<class BFT = GFqDom<int64_t>>
PolElement & axpyin ( PolElement & r,
const PolElement & b,
const PolElement & c ) const
inline

◆ areEqual()

template<class BFT = GFqDom<int64_t>>
bool areEqual ( const PolElement & b,
const PolElement & c ) const
inline

◆ isZero()

template<class BFT = GFqDom<int64_t>>
bool isZero ( const PolElement & b) const
inline

◆ isOne()

template<class BFT = GFqDom<int64_t>>
bool isOne ( const PolElement & b) const
inline

◆ isUnit()

template<class BFT = GFqDom<int64_t>>
bool isUnit ( const PolElement & b) const
inline

◆ isMOne()

template<class BFT = GFqDom<int64_t>>
bool isMOne ( const PolElement & b) const
inline

◆ random() [1/3]

template<class BFT = GFqDom<int64_t>>
template<class RandIter>
Element & random ( RandIter & g,
Element & r ) const
inline

◆ random() [2/3]

template<class BFT = GFqDom<int64_t>>
template<class RandIter>
Element & random ( RandIter & g,
Element & r,
int64_t s ) const
inline

◆ random() [3/3]

template<class BFT = GFqDom<int64_t>>
template<class RandIter>
Element & random ( RandIter & g,
Element & r,
const Element & b ) const
inline

◆ nonzerorandom() [1/3]

template<class BFT = GFqDom<int64_t>>
template<class RandIter>
Element & nonzerorandom ( RandIter & g,
Element & r ) const
inline

◆ nonzerorandom() [2/3]

template<class BFT = GFqDom<int64_t>>
template<class RandIter>
Element & nonzerorandom ( RandIter & g,
Element & r,
int64_t s ) const
inline

◆ nonzerorandom() [3/3]

template<class BFT = GFqDom<int64_t>>
template<class RandIter>
Element & nonzerorandom ( RandIter & g,
Element & r,
const Element & b ) const
inline

◆ residu()

template<class BFT = GFqDom<int64_t>>
Residu_t residu ( ) const
inline

◆ cardinality() [1/2]

template<class BFT = GFqDom<int64_t>>
Integer & cardinality ( Integer & c) const
inline

◆ cardinality() [2/2]

template<class BFT = GFqDom<int64_t>>
Residu_t cardinality ( ) const
inline

◆ characteristic() [1/3]

template<class BFT = GFqDom<int64_t>>
Integer & characteristic ( Integer & c) const
inline

◆ characteristic() [2/3]

template<class BFT = GFqDom<int64_t>>
Residu_t characteristic ( ) const
inline

◆ characteristic() [3/3]

template<class BFT = GFqDom<int64_t>>
int64_t & characteristic ( int64_t & c) const
inline

◆ exponent()

template<class BFT = GFqDom<int64_t>>
Residu_t exponent ( ) const
inline

◆ order()

template<class BFT = GFqDom<int64_t>>
Residu_t order ( ) const
inline

◆ irreducible() [1/2]

template<class BFT = GFqDom<int64_t>>
PolElement & irreducible ( PolElement & P) const
inline

◆ irreducible() [2/2]

template<class BFT = GFqDom<int64_t>>
const PolElement & irreducible ( ) const
inline

◆ base_field()

template<class BFT = GFqDom<int64_t>>
const BaseField_t & base_field ( ) const
inline

◆ polynomial_domain()

template<class BFT = GFqDom<int64_t>>
const Pol_t & polynomial_domain ( ) const
inline

◆ write() [1/2]

template<class BFT = GFqDom<int64_t>>
std::ostream & write ( std::ostream & o) const
inline

◆ read() [1/2]

template<class BFT = GFqDom<int64_t>>
std::istream & read ( std::istream & s,
PolElement & a ) const
inline

◆ write() [2/2]

template<class BFT = GFqDom<int64_t>>
std::ostream & write ( std::ostream & o,
const PolElement & R ) const
inline

◆ read() [2/2]

template<class BFT = GFqDom<int64_t>>
std::istream & read ( std::istream & o) const
inline

Field Documentation

◆ _bF

template<class BFT = GFqDom<int64_t>>
BaseField_t _bF
protected

◆ _pD

template<class BFT = GFqDom<int64_t>>
Pol_t _pD
protected

◆ _irred

template<class BFT = GFqDom<int64_t>>
PolElement _irred
protected

◆ _characteristic

template<class BFT = GFqDom<int64_t>>
Residu_t _characteristic
protected

◆ _extension_order

template<class BFT = GFqDom<int64_t>>
Residu_t _extension_order
protected

◆ _exponent

template<class BFT = GFqDom<int64_t>>
Residu_t _exponent
protected

◆ _cardinality

template<class BFT = GFqDom<int64_t>>
Integer _cardinality
protected

◆ zero

template<class BFT = GFqDom<int64_t>>
Element zero

◆ one

template<class BFT = GFqDom<int64_t>>
Element one

◆ mOne

template<class BFT = GFqDom<int64_t>>
Element mOne

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