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

GFq Ext (other) More...

#include <gfqext.h>

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

Public Types

typedef GFqExt< TT > Self_t
 
typedef Rep Element
 
typedef UTT Residu_t
 
typedef RepArray
 
typedef const RepconstArray
 
typedef ElementElement_ptr
 
typedef const ElementConstElement_ptr
 
typedef GIV_randIter< GFqDom< TT >, RepRandIter
 

Public Member Functions

 GFqExt ()
 
 GFqExt (const UTT P, const UTT e)
 
 GFqExt (const GFqDom< TT > &F)
 
 ~GFqExt ()
 
virtual Repinit (Rep &pad, const double d) const
 
UTT bits () const
 
UTT base () const
 
UTT mask () const
 
UTT maxdot () const
 
UTTcharacteristic (UTT &a) const
 
UTT characteristic () const
 
Integercharacteristic (Integer &p) const
 
uint64_t & characteristic (uint64_t &p) const
 
Repinit (Rep &r, const unsigned long l) const
 
virtual Repinit (Rep &pad, const float d) const
 
Repinit (Rep &) const
 
Repinit (Rep &, const int32_t) const
 
Repinit (Rep &, const uint32_t) const
 
Repinit (Rep &, const int64_t) const
 
Repinit (Rep &, const uint64_t) const
 
Repinit (Rep &, const Integer) const
 
Repinit (Rep &a, std::istream &s) const
 
template<typename val_t , template< class, class > class Vector, template< class > class Alloc>
Repinit (Rep &, const Vector< val_t, Alloc< val_t > > &)
 
virtual double & convert (double &d, const Rep a) const
 
virtual float & convert (float &d, const Rep a) const
 
std::ostream & convert (std::ostream &s, const Rep a) const
 
TT convert (const Rep) const
 
int64_t & convert (int64_t &, const Rep) const
 
uint64_t & convert (uint64_t &, const Rep) const
 
int32_t & convert (int32_t &, const Rep) const
 
uint32_t & convert (uint32_t &, const Rep) const
 
Integerconvert (Integer &, const Rep) const
 
template<class RandIter >
Reprandom (RandIter &g, Rep &r) const
 
template<class RandIter >
Reprandom (RandIter &g, Rep &r, int64_t s) const
 
template<class RandIter >
Reprandom (RandIter &g, Rep &r, const Rep &b) const
 
template<typename randIter >
GFqDom< TT >::Reprandom (randIter &g, Rep &a) const
 
template<typename randIter >
GFqDom< TT >::Reprandom (randIter &g, Rep &r, int64_t s) const
 
template<typename randIter >
GFqDom< TT >::Reprandom (randIter &g, Rep &r, const Rep &b) const
 
UTT zech2padic (UTT x) const
 
UTT padic2zech (UTT x) const
 
UTT residu () const
 
UTT cardinality () const
 
template<typename T >
T & cardinality (T &p) const
 
UTT size () const
 
UTT exponent () const
 
Repgenerator (Rep &) const
 
UTT generator () const
 
UTT irreducible () const
 
Rep sage_generator () const
 
Rep indeterminate () const
 
Repindeterminate (Rep &) const
 
Repassign (Rep &, const Integer) const
 
Repassign (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 std::string &) const
 
std::ostream & write (std::ostream &s, const Rep a) 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 isMOne (const Rep) const
 
bool isunit (const Rep) const
 
size_t length (const Rep) const
 
Repmul (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
 
Repdiv (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
 
Repadd (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
 
Repsub (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
 
Repneg (Rep &r, const Rep a) const
 
void neg (const size_t sz, Array r, constArray a) const
 
Repinv (Rep &r, const Rep a) const
 
void inv (const size_t sz, Array r, constArray a) const
 
Repmulin (Rep &r, const Rep a) const
 
Repdivin (Rep &r, const Rep a) const
 
Repaddin (Rep &r, const Rep a) const
 
Repsubin (Rep &r, const Rep a) const
 
Repnegin (Rep &r) const
 
Repinvin (Rep &r) const
 
Repaxpy (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
 
Repaxpyin (Rep &r, const Rep a, const Rep b) const
 
void axpyin (const size_t sz, Array r, Rep a, constArray x) const
 
Repaxmy (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
 
Repmaxpy (Rep &r, const Rep a, const Rep b, const Rep c) const
 
Repaxmyin (Rep &r, const Rep a, const Rep b) const
 
Repmaxpyin (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
 
Repdotprod (Rep &r, const size_t sz, constArray a, constArray b) const
 
template<class RandIter >
Repnonzerorandom (RandIter &g, Rep &r) const
 
template<class RandIter >
Repnonzerorandom (RandIter &g, Rep &r, int64_t s) const
 
template<class RandIter >
Repnonzerorandom (RandIter &g, Rep &r, const Rep &b) const
 
template<typename randIter >
GFqDom< TT >::Repnonzerorandom (randIter &g, Rep &a) const
 
template<typename randIter >
GFqDom< TT >::Repnonzerorandom (randIter &g, Rep &r, int64_t s) const
 
template<typename randIter >
GFqDom< TT >::Repnonzerorandom (randIter &g, Rep &r, const Rep &b) const
 

Static Public Member Functions

static Residu_t maxCardinality ()
 
static Residu_t minCardinality ()
 
static void Init ()
 
static void End ()
 

Data Fields

Rep zero
 
Rep one
 
Rep mOne
 

Protected Types

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

Protected Member Functions

void builddoubletables ()
 

Protected Attributes

double _fMODOUT
 
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
 
std::vector< UTT_log2pol
 
std::vector< UTT_pol2log
 
std::vector< TT > _plus1
 
double _dcharacteristic
 

Detailed Description

template<class TT>
class Givaro::GFqExt< TT >

GFq Ext (other)

Examples:
examples/FiniteField/ff_arith.C.

Member Typedef Documentation

typedef Signed_Trait<TT>::unsigned_type UTT
protected
typedef TT Rep
protected
typedef GFqDom<TT> Father_t
protected
typedef GFqExtFast<TT> DirectFather_t
protected
typedef GFqExt<TT> Self_t
typedef Rep Element
typedef UTT Residu_t
typedef Rep* Array
typedef const Rep* constArray
typedef Element* Element_ptr
inherited
typedef const Element* ConstElement_ptr
inherited
typedef std::vector<UTT>::size_type UT
protectedinherited
typedef GIV_randIter< GFqDom<TT>, Rep> RandIter
inherited

Constructor & Destructor Documentation

GFqExt ( )
inline
GFqExt ( const UTT  P,
const UTT  e 
)
inline
GFqExt ( const GFqDom< TT > &  F)
inline
~GFqExt ( )
inline

Member Function Documentation

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

Reimplemented from GFqExtFast< TT >.

UTT bits ( ) const
inlineinherited
UTT base ( ) const
inlineinherited
UTT mask ( ) const
inlineinherited
UTT maxdot ( ) const
inlineinherited
UTT& characteristic ( UTT a) const
inlineinherited
UTT characteristic ( ) const
inlineinherited
Integer& characteristic ( Integer p) const
inlineinherited
uint64_t& characteristic ( uint64_t &  p) const
inlineinherited
Rep& init ( Rep r,
const unsigned long  l 
) const
inlineinherited
virtual Rep& init ( Rep pad,
const float  d 
) const
inlinevirtualinherited
GFqDom< TT >::Rep & init ( Rep r) const
inlineinherited
GFqDom< TT >::Rep & init ( Rep r,
const int32_t  Residu 
) const
inlineinherited
GFqDom< TT >::Rep & init ( Rep r,
const uint32_t  Residu 
) const
inlineinherited
GFqDom< TT >::Rep & init ( Rep r,
const int64_t  Residu 
) const
inlineinherited
GFqDom< TT >::Rep & init ( Rep r,
const uint64_t  Residu 
) const
inlineinherited
GFqDom< TT >::Rep & init ( Rep r,
const Integer  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
virtual double& convert ( double &  d,
const Rep  a 
) const
inlinevirtualinherited
virtual float& convert ( float &  d,
const Rep  a 
) const
inlinevirtualinherited
std::ostream& convert ( std::ostream &  s,
const Rep  a 
) const
inlineinherited
TT convert ( const Rep  a) const
inlineinherited
int64_t & convert ( int64_t &  r,
const Rep  a 
) const
inlineinherited
uint64_t & convert ( uint64_t &  r,
const Rep  a 
) const
inlineinherited
int32_t & convert ( int32_t &  r,
const Rep  a 
) const
inlineinherited
uint32_t & convert ( uint32_t &  r,
const Rep  a 
) const
inlineinherited
Integer & convert ( Integer r,
const Rep  a 
) const
inlineinherited
Rep& random ( RandIter g,
Rep r 
) const
inlineinherited
Rep& random ( RandIter g,
Rep r,
int64_t  s 
) const
inherited
Rep& random ( RandIter g,
Rep r,
const Rep b 
) const
inherited
GFqDom<TT>::Rep& random ( randIter &  g,
Rep a 
) const
inlineinherited
GFqDom<TT>::Rep& random ( randIter &  g,
Rep r,
int64_t  s 
) const
inlineinherited
GFqDom<TT>::Rep& random ( randIter &  g,
Rep r,
const Rep b 
) const
inlineinherited
void builddoubletables ( )
inlineprotectedinherited
UTT zech2padic ( UTT  x) const
inlineinherited
UTT padic2zech ( UTT  x) const
inlineinherited
GFqDom< TT >::Residu_t residu ( ) const
inlineinherited
static Residu_t maxCardinality ( )
inlinestaticinherited
static Residu_t minCardinality ( )
inlinestaticinherited
GFqDom< TT >::Residu_t cardinality ( ) const
inlineinherited
T& cardinality ( T &  p) 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 & 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 std::string &  s 
) const
inlineinherited
std::ostream & write ( std::ostream &  s,
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 isMOne ( 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
Rep& nonzerorandom ( RandIter g,
Rep r 
) const
inherited
Rep& nonzerorandom ( RandIter g,
Rep r,
int64_t  s 
) const
inherited
Rep& nonzerorandom ( RandIter g,
Rep r,
const Rep b 
) const
inherited
GFqDom<TT>::Rep& nonzerorandom ( randIter &  g,
Rep a 
) const
inlineinherited
GFqDom<TT>::Rep& nonzerorandom ( randIter &  g,
Rep r,
int64_t  s 
) const
inlineinherited
GFqDom<TT>::Rep& nonzerorandom ( randIter &  g,
Rep r,
const Rep b 
) const
inlineinherited
void Init ( )
inlinestaticinherited
void End ( )
inlinestaticinherited

Field Documentation

double _fMODOUT
protected
UTT _BITS
protectedinherited
UTT _BASE
protectedinherited
UTT _MASK
protectedinherited
UTT _maxn
protectedinherited
UTT _degree
protectedinherited
UTT _pceil
protectedinherited
UTT _MODOUT
protectedinherited
std::vector<double> _log2dbl
protectedinherited
std::vector<UTT> _high2log
protectedinherited
std::vector<UTT> _low2log
protectedinherited
Rep zero
inherited
Rep one
inherited
Rep mOne
inherited
UTT _characteristic
protectedinherited
UTT _exponent
protectedinherited
UTT _irred
protectedinherited
UTT _q
protectedinherited
UTT _qm1
protectedinherited
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: