Givaro
Public Types | Public Member Functions | Static Public Member Functions | Data Fields | Protected Types | Protected Member Functions | Protected Attributes
GFqExtFast< TT > Class Template Reference

GFq Ext. More...

#include <givgfqext.h>

+ Inheritance diagram for GFqExtFast< TT >:
+ Collaboration diagram for GFqExtFast< TT >:

Public Types

typedef GFqExtFast< TT > Self_t
typedef Rep Element
typedef UTT Residu_t
typedef Rep * Array
typedef const Rep * constArray
typedef GIV_randIter
< GFqExtFast< TT >, Rep > 
RandIter
typedef GIV_randIter< GFqDom
< TT >, Rep > 
randIter

Public Member Functions

 GFqExtFast ()
 GFqExtFast (const UTT P, const UTT e)
template<typename Vector >
 GFqExtFast (const UTT P, const UTT e, const Vector &modPoly)
virtual ~GFqExtFast ()
Self_t operator= (const Self_t &F)
 GFqExtFast (const GFqDom< TT > &F)
UTT bits () const
UTT base () const
UTT mask () const
UTT maxdot () const
UTT & characteristic (UTT &a) const
UTT characteristic () const
Rep & init (Rep &r, const unsigned long l) const
virtual double & convert (double &d, const Rep a) const
virtual float & convert (float &d, const Rep a) const
virtual Rep & init (Rep &pad, const double d) const
virtual Rep & init (Rep &pad, const float d) const
template<class RandIter >
Rep & random (RandIter &g, Rep &r) const
UTT residu () const
Integer & characteristic (Integer &p) const
unsigned long & characteristic (unsigned long &p) const
UTT cardinality () const
UTT size () const
UTT exponent () const
Rep & generator (Rep &) const
UTT generator () const
UTT irreducible () const
Rep sage_generator () const
Rep indeterminate () const
Rep & indeterminate (Rep &) const
Rep & init (Rep &) const
Rep & init (Rep &, const int) const
Rep & init (Rep &, const unsigned int) const
Rep & init (Rep &, const long) const
Rep & init (Rep &, const Integer) const
Rep & init (Rep &, const long long) const
Rep & init (Rep &, const unsigned long long) const
Rep & init (Rep &a, std::istream &s) const
template<typename val_t , template< class, class > class Vector, template< class > class Alloc>
Rep & init (Rep &, const Vector< val_t, Alloc< val_t > > &)
Rep & assign (Rep &, const Integer) const
Rep & assign (Rep &, const Rep) const
void assign (const size_t sz, Array r, constArray a) const
std::istream & read (std::istream &s)
std::istream & read (std::istream &s, Rep &a) const
std::ostream & write (std::ostream &s) const
std::ostream & write (std::ostream &s, const Rep a) const
std::ostream & convert (std::ostream &s, const Rep a) const
TT convert (const Rep) const
long & convert (long &, const Rep) const
unsigned long & convert (unsigned long &, const Rep) const
int & convert (int &, const Rep) const
unsigned int & convert (unsigned int &, const Rep) const
Integer & convert (Integer &, const Rep) const
long long & convert (long long &, const Rep) const
unsigned long long & convert (unsigned long long &, const Rep) const
int operator== (const GFqDom< TT > &a) const
int operator!= (const GFqDom< TT > &a) const
bool areEqual (const Rep &, const Rep &) const
bool areNEqual (const Rep, const Rep) const
bool isZero (const Rep) const
bool isnzero (const Rep) const
bool isOne (const Rep) const
bool isunit (const Rep) const
size_t length (const Rep) const
Rep & mul (Rep &r, const Rep a, const Rep b) const
void mul (const size_t sz, Array r, constArray a, constArray b) const
void mul (const size_t sz, Array r, constArray a, Rep b) const
Rep & div (Rep &r, const Rep a, const Rep b) const
void div (const size_t sz, Array r, constArray a, constArray b) const
void div (const size_t sz, Array r, constArray a, Rep b) const
Rep & add (Rep &r, const Rep a, const Rep b) const
void add (const size_t sz, Array r, constArray a, constArray b) const
void add (const size_t sz, Array r, constArray a, Rep b) const
Rep & sub (Rep &r, const Rep a, const Rep b) const
void sub (const size_t sz, Array r, constArray a, constArray b) const
void sub (const size_t sz, Array r, constArray a, Rep b) const
Rep & neg (Rep &r, const Rep a) const
void neg (const size_t sz, Array r, constArray a) const
Rep & inv (Rep &r, const Rep a) const
void inv (const size_t sz, Array r, constArray a) const
Rep & mulin (Rep &r, const Rep a) const
Rep & divin (Rep &r, const Rep a) const
Rep & addin (Rep &r, const Rep a) const
Rep & subin (Rep &r, const Rep a) const
Rep & negin (Rep &r) const
Rep & invin (Rep &r) const
Rep & axpy (Rep &r, const Rep a, const Rep b, const Rep c) const
void axpy (const size_t sz, Array r, Rep a, constArray x, constArray y) const
void axpy (const size_t sz, Array r, Rep a, constArray x, Rep c) const
Rep & axpyin (Rep &r, const Rep a, const Rep b) const
void axpyin (const size_t sz, Array r, Rep a, constArray x) const
Rep & axmy (Rep &r, const Rep a, const Rep b, const Rep c) const
void axmy (const size_t sz, Array r, Rep a, constArray x, constArray y) const
void axmy (const size_t sz, Array r, Rep a, constArray x, Rep c) const
Rep & maxpy (Rep &r, const Rep a, const Rep b, const Rep c) const
Rep & axmyin (Rep &r, const Rep a, const Rep b) const
Rep & maxpyin (Rep &r, const Rep a, const Rep b) const
void maxpyin (const size_t sz, Array r, Rep a, constArray x) const
void reduceadd (Rep &r, const size_t sz, constArray a) const
void reducemul (Rep &r, const size_t sz, constArray a) const
Rep & dotprod (Rep &r, const size_t sz, constArray a, constArray b) const
template<class RandIter >
Rep & random (RandIter &g, Rep &r) const
template<class RandIter >
Rep & random (RandIter &g, Rep &r, long s) const
template<class RandIter >
Rep & random (RandIter &g, Rep &r, const Rep &b) const
template<class RandIter >
Rep & nonzerorandom (RandIter &g, Rep &r) const
template<class RandIter >
Rep & nonzerorandom (RandIter &g, Rep &r, long s) const
template<class RandIter >
Rep & nonzerorandom (RandIter &g, Rep &r, const Rep &b) const

Static Public Member Functions

static void Init ()
static void End ()

Data Fields

const bool balanced
Rep zero
Rep one
Rep mOne

Protected Types

typedef Signed_Trait< TT >
::unsigned_type 
UTT
typedef TT Rep
typedef GFqDom< TT > Father_t
typedef std::vector< UTT >
::size_type 
UT

Protected Member Functions

void builddoubletables ()
UTT zech2padic (UTT x)
UTT padic2zech (UTT x)

Protected Attributes

UTT _BITS
UTT _BASE
UTT _MASK
UTT _maxn
UTT _degree
UTT _pceil
UTT _MODOUT
std::vector< double > _log2dbl
std::vector< UTT > _high2log
std::vector< UTT > _low2log
UTT _characteristic
UTT _exponent
UTT _irred
UTT _q
UTT _qm1
UTT _qm1o2
std::vector< UTT > _log2pol
std::vector< UTT > _pol2log
std::vector< TT > _plus1
double _dcharacteristic

Detailed Description

template<class TT>
class Givaro::GFqExtFast< TT >

GFq Ext.


Member Typedef Documentation

typedef Signed_Trait<TT>::unsigned_type UTT
protected

Reimplemented from GFqDom< TT >.

Reimplemented in GFqExt< TT >.

typedef TT Rep
protected

Reimplemented from GFqDom< TT >.

Reimplemented in GFqExt< TT >.

typedef GFqDom<TT> Father_t
protected

Reimplemented in GFqExt< TT >.

typedef GFqExtFast<TT> Self_t

Reimplemented from GFqDom< TT >.

Reimplemented in GFqExt< TT >.

typedef Rep Element

Reimplemented from GFqDom< TT >.

Reimplemented in GFqExt< TT >.

typedef UTT Residu_t

Reimplemented from GFqDom< TT >.

Reimplemented in GFqExt< TT >.

typedef Rep* Array

Reimplemented from GFqDom< TT >.

Reimplemented in GFqExt< TT >.

typedef const Rep* constArray

Reimplemented from GFqDom< TT >.

Reimplemented in GFqExt< TT >.

Reimplemented in GFqExt< TT >.

typedef std::vector<UTT>::size_type UT
protectedinherited
typedef GIV_randIter< GFqDom<TT> , Rep> randIter
inherited

Constructor & Destructor Documentation

GFqExtFast ( )
inline
GFqExtFast ( const UTT  P,
const UTT  e 
)
inline
GFqExtFast ( const UTT  P,
const UTT  e,
const Vector &  modPoly 
)
inline
virtual ~GFqExtFast ( )
inlinevirtual
GFqExtFast ( const GFqDom< TT > &  F)
inline

Member Function Documentation

Self_t operator= ( const Self_t &  F)
inline
UTT bits ( ) const
inline
UTT base ( ) const
inline
UTT mask ( ) const
inline
UTT maxdot ( ) const
inline
UTT& characteristic ( UTT &  a) const
inline
UTT characteristic ( ) const
inline

Reimplemented from GFqDom< TT >.

Rep& init ( Rep &  r,
const unsigned long  l 
) const
inline

Reimplemented from GFqDom< TT >.

virtual double& convert ( double &  d,
const Rep  a 
) const
inlinevirtual

Reimplemented from GFqDom< TT >.

virtual float& convert ( float &  d,
const Rep  a 
) const
inlinevirtual

Reimplemented from GFqDom< TT >.

virtual Rep& init ( Rep &  pad,
const double  d 
) const
inlinevirtual

Reimplemented from GFqDom< TT >.

Reimplemented in GFqExt< TT >.

virtual Rep& init ( Rep &  pad,
const float  d 
) const
inlinevirtual

Reimplemented from GFqDom< TT >.

Rep& random ( RandIter &  g,
Rep &  r 
) const
inline
void builddoubletables ( )
inlineprotected
UTT zech2padic ( UTT  x)
inlineprotectedinherited
UTT padic2zech ( UTT  x)
inlineprotectedinherited
GFqDom< TT >::Residu_t residu ( ) const
inlineinherited
Integer& characteristic ( Integer &  p) const
inlineinherited
unsigned long& characteristic ( unsigned long &  p) const
inlineinherited
GFqDom< TT >::Residu_t cardinality ( ) const
inlineinherited
GFqDom< TT >::Residu_t size ( ) const
inlineinherited
GFqDom< TT >::Residu_t exponent ( ) const
inlineinherited
GFqDom< TT >::Rep & generator ( Rep &  g) const
inlineinherited
GFqDom< TT >::Residu_t generator ( ) const
inlineinherited
GFqDom< TT >::Residu_t irreducible ( ) const
inlineinherited
GFqDom< TT >::Rep sage_generator ( ) const
inlineinherited
GFqDom< TT >::Rep indeterminate ( ) const
inlineinherited
GFqDom< TT >::Rep & indeterminate ( Rep &  X) const
inlineinherited
GFqDom< TT >::Rep & init ( Rep &  r) const
inlineinherited
GFqDom< TT >::Rep & init ( Rep &  r,
const int  Residu 
) const
inlineinherited
GFqDom< TT >::Rep & init ( Rep &  r,
const unsigned int  Residu 
) const
inlineinherited
GFqDom< TT >::Rep & init ( Rep &  r,
const long  Residu 
) const
inlineinherited
GFqDom< TT >::Rep & init ( Rep &  r,
const Integer  Residu 
) const
inlineinherited
GFqDom< TT >::Rep & init ( Rep &  r,
const long long  Residu 
) const
inlineinherited
GFqDom< TT >::Rep & init ( Rep &  r,
const unsigned long long  Residu 
) const
inlineinherited
Rep& init ( Rep &  a,
std::istream &  s 
) const
inlineinherited
GFqDom< TT >::Rep & init ( Rep &  r,
const Vector< val_t, Alloc< val_t > > &  P 
)
inlineinherited
GFqDom< TT >::Rep & assign ( Rep &  r,
const Integer  a 
) const
inlineinherited
GFqDom< TT >::Rep & assign ( Rep &  r,
const Rep  a 
) const
inlineinherited
void assign ( const size_t  sz,
Array  r,
constArray  a 
) const
inlineinherited
std::istream & read ( std::istream &  s)
inlineinherited
std::istream & read ( std::istream &  s,
Rep &  a 
) const
inlineinherited
std::ostream & write ( std::ostream &  s) const
inlineinherited
std::ostream & write ( std::ostream &  s,
const Rep  a 
) const
inlineinherited
std::ostream& convert ( std::ostream &  s,
const Rep  a 
) const
inlineinherited
TT convert ( const Rep  a) const
inlineinherited
long & convert ( long &  r,
const Rep  a 
) const
inlineinherited
unsigned long & convert ( unsigned long &  r,
const Rep  a 
) const
inlineinherited
int & convert ( int &  r,
const Rep  a 
) const
inlineinherited
unsigned int & convert ( unsigned int &  r,
const Rep  a 
) const
inlineinherited
Integer & convert ( Integer &  r,
const Rep  a 
) const
inlineinherited
long long & convert ( long long &  r,
const Rep  a 
) const
inlineinherited
unsigned long long & convert ( unsigned long long &  r,
const Rep  a 
) const
inlineinherited
int operator== ( const GFqDom< TT > &  a) const
inlineinherited
int operator!= ( const GFqDom< TT > &  a) const
inlineinherited
bool areEqual ( const Rep &  a,
const Rep &  b 
) const
inlineinherited
bool areNEqual ( const Rep  a,
const Rep  b 
) const
inlineinherited
bool isZero ( const Rep  a) const
inlineinherited
bool isnzero ( const Rep  a) const
inlineinherited
bool isOne ( const Rep  a) const
inlineinherited
bool isunit ( const Rep  a) const
inlineinherited
size_t length ( const Rep  ) const
inlineinherited
GFqDom< TT >::Rep & mul ( Rep &  r,
const Rep  a,
const Rep  b 
) const
inlineinherited
void mul ( const size_t  sz,
Array  r,
constArray  a,
constArray  b 
) const
inlineinherited
void mul ( const size_t  sz,
Array  r,
constArray  a,
Rep  b 
) const
inlineinherited
GFqDom< TT >::Rep & div ( Rep &  r,
const Rep  a,
const Rep  b 
) const
inlineinherited
void div ( const size_t  sz,
Array  r,
constArray  a,
constArray  b 
) const
inlineinherited
void div ( const size_t  sz,
Array  r,
constArray  a,
Rep  b 
) const
inlineinherited
GFqDom< TT >::Rep & add ( Rep &  r,
const Rep  a,
const Rep  b 
) const
inlineinherited
void add ( const size_t  sz,
Array  r,
constArray  a,
constArray  b 
) const
inlineinherited
void add ( const size_t  sz,
Array  r,
constArray  a,
Rep  b 
) const
inlineinherited
GFqDom< TT >::Rep & sub ( Rep &  r,
const Rep  a,
const Rep  b 
) const
inlineinherited
void sub ( const size_t  sz,
Array  r,
constArray  a,
constArray  b 
) const
inlineinherited
void sub ( const size_t  sz,
Array  r,
constArray  a,
Rep  b 
) const
inlineinherited
GFqDom< TT >::Rep & neg ( Rep &  r,
const Rep  a 
) const
inlineinherited
void neg ( const size_t  sz,
Array  r,
constArray  a 
) const
inlineinherited
GFqDom< TT >::Rep & inv ( Rep &  r,
const Rep  a 
) const
inlineinherited
void inv ( const size_t  sz,
Array  r,
constArray  a 
) const
inlineinherited
GFqDom< TT >::Rep & mulin ( Rep &  r,
const Rep  a 
) const
inlineinherited
GFqDom< TT >::Rep & divin ( Rep &  r,
const Rep  a 
) const
inlineinherited
GFqDom< TT >::Rep & addin ( Rep &  r,
const Rep  a 
) const
inlineinherited
GFqDom< TT >::Rep & subin ( Rep &  r,
const Rep  a 
) const
inlineinherited
GFqDom< TT >::Rep & negin ( Rep &  r) const
inlineinherited
GFqDom< TT >::Rep & invin ( Rep &  r) const
inlineinherited
GFqDom< TT >::Rep & axpy ( Rep &  r,
const Rep  a,
const Rep  b,
const Rep  c 
) const
inlineinherited
void axpy ( const size_t  sz,
Array  r,
Rep  a,
constArray  x,
constArray  y 
) const
inlineinherited
void axpy ( const size_t  sz,
Array  r,
Rep  a,
constArray  x,
Rep  c 
) const
inlineinherited
GFqDom< TT >::Rep & axpyin ( Rep &  r,
const Rep  a,
const Rep  b 
) const
inlineinherited
void axpyin ( const size_t  sz,
Array  r,
Rep  a,
constArray  x 
) const
inlineinherited
GFqDom< TT >::Rep & axmy ( Rep &  r,
const Rep  a,
const Rep  b,
const Rep  c 
) const
inlineinherited
void axmy ( const size_t  sz,
Array  r,
Rep  a,
constArray  x,
constArray  y 
) const
inlineinherited
void axmy ( const size_t  sz,
Array  r,
Rep  a,
constArray  x,
Rep  c 
) const
inlineinherited
GFqDom< TT >::Rep & maxpy ( Rep &  r,
const Rep  a,
const Rep  b,
const Rep  c 
) const
inlineinherited
GFqDom< TT >::Rep & axmyin ( Rep &  r,
const Rep  a,
const Rep  b 
) const
inlineinherited
GFqDom< TT >::Rep & maxpyin ( Rep &  r,
const Rep  a,
const Rep  b 
) const
inlineinherited
void maxpyin ( const size_t  sz,
Array  r,
Rep  a,
constArray  x 
) const
inlineinherited
void reduceadd ( Rep &  r,
const size_t  sz,
constArray  a 
) const
inherited
void reducemul ( Rep &  r,
const size_t  sz,
constArray  a 
) const
inherited
GFqDom< TT >::Rep & dotprod ( Rep &  r,
const size_t  sz,
constArray  a,
constArray  b 
) const
inlineinherited
GFqDom< TT >::Rep & random ( RandIter &  g,
Rep &  r 
) const
inlineinherited
GFqDom< TT >::Rep & random ( RandIter &  g,
Rep &  r,
long  s 
) const
inlineinherited
GFqDom< TT >::Rep & random ( RandIter &  g,
Rep &  r,
const Rep &  b 
) const
inlineinherited
GFqDom< TT >::Rep & nonzerorandom ( RandIter &  g,
Rep &  r 
) const
inlineinherited
GFqDom< TT >::Rep & nonzerorandom ( RandIter &  g,
Rep &  r,
long  s 
) const
inlineinherited
GFqDom< TT >::Rep & nonzerorandom ( RandIter &  g,
Rep &  r,
const Rep &  b 
) const
inlineinherited
void Init ( )
inlinestaticinherited
void End ( )
inlinestaticinherited

Field Documentation

UTT _BITS
protected
UTT _BASE
protected
UTT _MASK
protected
UTT _maxn
protected
UTT _degree
protected
UTT _pceil
protected
UTT _MODOUT
protected
std::vector<double> _log2dbl
protected
std::vector<UTT> _high2log
protected
std::vector<UTT> _low2log
protected
const bool balanced
Rep zero
inherited
Rep one
inherited
UTT _characteristic
protectedinherited
UTT _exponent
protectedinherited
UTT _irred
protectedinherited
UTT _q
protectedinherited
UTT _qm1
protectedinherited
UTT _qm1o2
protectedinherited
Rep mOne
inherited
std::vector<UTT> _log2pol
protectedinherited
std::vector<UTT> _pol2log
protectedinherited
std::vector<TT> _plus1
protectedinherited
double _dcharacteristic
protectedinherited

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