linbox
PolynomialLocalX< Field > Class Template Reference

#include <polynomial-local-x.h>

Data Structures

struct  Element
 

Public Types

typedef Field::Element Polynomial
 
typedef Field::CoeffField CoeffField
 
typedef Field::Coeff Coeff
 
typedef Field::Element_ptr Element_ptr
 
typedef Field::ConstElement_ptr ConstElement_ptr
 

Public Member Functions

 PolynomialLocalX (const Field &F, size_t exponent)
 
 PolynomialLocalX (const PolynomialLocalX &P)
 
 PolynomialLocalX (const PolynomialLocalX &P, size_t exponent)
 
void setExponent (size_t exponent)
 
size_t getExponent () const
 
const CoeffFieldgetCoeffField () const
 
size_t firstNonZeroCoeff (const Element &a) const
 
Elementnormalize (Element &a, const Polynomial &b) const
 
Elementnormalize (Element &a, const Element &b) const
 
Polynomialdenormalize (Polynomial &a, const Element &b) const
 
Elementassign (Element &a, const Element &b) const
 
Elementinit (Element &p) const
 
Elementinit (Element &p, const std::vector< integer > &v) const
 
Elementinit (Element &a, const Polynomial &b) const
 
integerconvert (integer &a, const Element &b) const
 
std::ostream & write (std::ostream &os) const
 
std::ostream & write (std::ostream &os, const Element &p) const
 
std::ostream & writeNormalized (std::ostream &os, const Element &p) const
 
bool isZero (const Element &a) const
 
bool isOne (const Element &a) const
 
bool isMOne (const Element &a) const
 
bool areEqual (const Element &a, const Element &b) const
 
bool isUnit (const Element &a) const
 
size_t deg (const Element &p) const
 
CoeffgetCoeff (Coeff &c, const Element &a, size_t e) const
 
CoeffleadCoeff (Coeff &c, const Element &a) const
 
Elementmonic (Element &m, const Element &a) const
 
bool isDivisor (const Element &a, const Element &b) const
 returns true if b divides a evenly
 
ElementleftShift (Element &b, const Element &a, size_t e) const
 
ElementrightShift (Element &b, const Element &a, size_t e) const
 
ElementrightShiftIn (Element &b, size_t e) const
 
Elementdiv (Element &q, const Element &a, const Element &b) const
 
Elementdivin (Element &a, const Element &b) const
 
Elementmul (Element &c, const Element &a, const Element &b) const
 
Elementmulin (Element &a, const Element &b) const
 
Elementpow (Element &r, const Element &a, size_t e)
 
Elementadd (Element &c, const Element &a, const Element &b) const
 
Elementaddin (Element &a, const Element &b) const
 
Elementneg (Element &a, const Element &b) const
 
Elementnegin (Element &a) const
 
Elementaxpy (Element &r, const Element &a, const Element &x, const Element &y) const
 
Elementaxpyin (Element &r, const Element &a, const Element &x) const
 
Elementinv (Element &r, const Element &a)
 

Data Fields

const Field _F
 
const Element zero
 
const Element one
 
const Element mOne
 
const Element X
 
size_t exp
 

Member Typedef Documentation

◆ Polynomial

template<class Field>
typedef Field::Element Polynomial

◆ CoeffField

template<class Field>
typedef Field::CoeffField CoeffField

◆ Coeff

template<class Field>
typedef Field::Coeff Coeff

◆ Element_ptr

template<class Field>
typedef Field::Element_ptr Element_ptr

◆ ConstElement_ptr

template<class Field>
typedef Field::ConstElement_ptr ConstElement_ptr

Constructor & Destructor Documentation

◆ PolynomialLocalX() [1/3]

template<class Field>
PolynomialLocalX ( const Field & F,
size_t exponent )
inline

◆ PolynomialLocalX() [2/3]

template<class Field>
PolynomialLocalX ( const PolynomialLocalX< Field > & P)
inline

◆ PolynomialLocalX() [3/3]

template<class Field>
PolynomialLocalX ( const PolynomialLocalX< Field > & P,
size_t exponent )
inline

Member Function Documentation

◆ setExponent()

template<class Field>
void setExponent ( size_t exponent)
inline

◆ getExponent()

template<class Field>
size_t getExponent ( ) const
inline

◆ getCoeffField()

template<class Field>
const CoeffField & getCoeffField ( ) const
inline

◆ firstNonZeroCoeff()

template<class Field>
size_t firstNonZeroCoeff ( const Element & a) const
inline

◆ normalize() [1/2]

template<class Field>
Element & normalize ( Element & a,
const Polynomial & b ) const
inline

◆ normalize() [2/2]

template<class Field>
Element & normalize ( Element & a,
const Element & b ) const
inline

◆ denormalize()

template<class Field>
Polynomial & denormalize ( Polynomial & a,
const Element & b ) const
inline

◆ assign()

template<class Field>
Element & assign ( Element & a,
const Element & b ) const
inline

◆ init() [1/3]

template<class Field>
Element & init ( Element & p) const
inline

◆ init() [2/3]

template<class Field>
Element & init ( Element & p,
const std::vector< integer > & v ) const
inline

◆ init() [3/3]

template<class Field>
Element & init ( Element & a,
const Polynomial & b ) const
inline

◆ convert()

template<class Field>
integer & convert ( integer & a,
const Element & b ) const
inline

◆ write() [1/2]

template<class Field>
std::ostream & write ( std::ostream & os) const
inline

◆ write() [2/2]

template<class Field>
std::ostream & write ( std::ostream & os,
const Element & p ) const
inline

◆ writeNormalized()

template<class Field>
std::ostream & writeNormalized ( std::ostream & os,
const Element & p ) const
inline

◆ isZero()

template<class Field>
bool isZero ( const Element & a) const
inline

◆ isOne()

template<class Field>
bool isOne ( const Element & a) const
inline

◆ isMOne()

template<class Field>
bool isMOne ( const Element & a) const
inline

◆ areEqual()

template<class Field>
bool areEqual ( const Element & a,
const Element & b ) const
inline

◆ isUnit()

template<class Field>
bool isUnit ( const Element & a) const
inline

◆ deg()

template<class Field>
size_t deg ( const Element & p) const
inline

◆ getCoeff()

template<class Field>
Coeff & getCoeff ( Coeff & c,
const Element & a,
size_t e ) const
inline

◆ leadCoeff()

template<class Field>
Coeff & leadCoeff ( Coeff & c,
const Element & a ) const
inline

◆ monic()

template<class Field>
Element & monic ( Element & m,
const Element & a ) const
inline

◆ isDivisor()

template<class Field>
bool isDivisor ( const Element & a,
const Element & b ) const
inline

returns true if b divides a evenly

◆ leftShift()

template<class Field>
Element & leftShift ( Element & b,
const Element & a,
size_t e ) const
inline

◆ rightShift()

template<class Field>
Element & rightShift ( Element & b,
const Element & a,
size_t e ) const
inline

◆ rightShiftIn()

template<class Field>
Element & rightShiftIn ( Element & b,
size_t e ) const
inline

◆ div()

template<class Field>
Element & div ( Element & q,
const Element & a,
const Element & b ) const
inline

◆ divin()

template<class Field>
Element & divin ( Element & a,
const Element & b ) const
inline

◆ mul()

template<class Field>
Element & mul ( Element & c,
const Element & a,
const Element & b ) const
inline

◆ mulin()

template<class Field>
Element & mulin ( Element & a,
const Element & b ) const
inline

◆ pow()

template<class Field>
Element & pow ( Element & r,
const Element & a,
size_t e )
inline

◆ add()

template<class Field>
Element & add ( Element & c,
const Element & a,
const Element & b ) const
inline

◆ addin()

template<class Field>
Element & addin ( Element & a,
const Element & b ) const
inline

◆ neg()

template<class Field>
Element & neg ( Element & a,
const Element & b ) const
inline

◆ negin()

template<class Field>
Element & negin ( Element & a) const
inline

◆ axpy()

template<class Field>
Element & axpy ( Element & r,
const Element & a,
const Element & x,
const Element & y ) const
inline

◆ axpyin()

template<class Field>
Element & axpyin ( Element & r,
const Element & a,
const Element & x ) const
inline

◆ inv()

template<class Field>
Element & inv ( Element & r,
const Element & a )
inline

Field Documentation

◆ _F

template<class Field>
const Field _F

◆ zero

template<class Field>
const Element zero

◆ one

template<class Field>
const Element one

◆ mOne

template<class Field>
const Element mOne

◆ X

template<class Field>
const Element X

◆ exp

template<class Field>
size_t exp

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