Givaro
Public Types | Public Member Functions | Static Public Member Functions | Data Fields | Protected Types | Protected Member Functions | Protected Attributes
GFqKronecker< TT, Ints > Struct Template Reference

GFqKronecker. More...

#include <gfqkronecker.h>

+ Inheritance diagram for GFqKronecker< TT, Ints >:
+ Collaboration diagram for GFqKronecker< TT, Ints >:

Public Types

typedef GFqKronecker< TT, Ints > Self_t
 
typedef Rep Element
 
typedef ElementElement_ptr
 
typedef const ElementConstElement_ptr
 
typedef UTT Residu_t
 
typedef RepArray
 
typedef const RepconstArray
 
typedef ModularRandIter< Father_t, RepRandIter
 

Public Member Functions

 GFqKronecker ()
 
 GFqKronecker (const UTT P, const UTT e)
 
Ints getMaxn () const
 
UTT getShift () const
 
UTT getBase () const
 
Ints setShift (const Ints &i)
 
UTT setMaxn (const Ints &n)
 
virtual ~GFqKronecker ()
 
virtual Ints & convert (Ints &r, const Rep a) const
 
virtual Repinit (Rep &a, const Ints r) const
 
UTT zech2padic (UTT x) const
 
UTT padic2zech (UTT x) const
 
UTT residu () const
 
UTT characteristic () const
 
Integercharacteristic (Integer &p) const
 
uint64_t & characteristic (uint64_t &p) 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
 
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 &, const float) const
 
Repinit (Rep &, const double) 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 > > &)
 
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
 
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
 
float & convert (float &, const Rep) const
 
double & convert (double &, const Rep) const
 
uint32_t & convert (uint32_t &, const Rep) const
 
Integerconvert (Integer &, 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 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 >
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
 
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 std::vector< UTT >::size_type UT
 

Protected Member Functions

std::ostream & polywrite (std::ostream &out, const Element &a, const Indeter In="B") const
 
void buildsmalltables ()
 

Protected Attributes

UTT _SHIFTS
 
Ints _sBASE
 
Ints _sMASK
 
Ints _sMAXN
 
UTT _pceil
 
UTT _pMASK
 
UTT _degree
 
Ints _epmunsq
 
std::vector< UTT_log2bin
 
std::vector< UTT_bin2log
 
Element _Xk
 
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 Ints>
struct Givaro::GFqKronecker< TT, Ints >

GFqKronecker.

Examples:
examples/FiniteField/kronecker.C.

Member Typedef Documentation

typedef Signed_Trait<TT>::unsigned_type UTT
protected
typedef TT Rep
protected
typedef GFqDom<TT> Father_t
protected
typedef GFqKronecker<TT,Ints> Self_t
typedef Rep Element
typedef Element* Element_ptr
typedef const Element* ConstElement_ptr
typedef UTT Residu_t
typedef Rep* Array
typedef const Rep* constArray
typedef std::vector<UTT>::size_type UT
protectedinherited

Constructor & Destructor Documentation

GFqKronecker ( )
inline
GFqKronecker ( const UTT  P,
const UTT  e 
)
inline
virtual ~GFqKronecker ( )
inlinevirtual

Member Function Documentation

Ints getMaxn ( ) const
inline
UTT getShift ( ) const
inline
UTT getBase ( ) const
inline
Ints setShift ( const Ints &  i)
inline
UTT setMaxn ( const Ints &  n)
inline
virtual Ints& convert ( Ints &  r,
const Rep  a 
) const
inlinevirtual
virtual Rep& init ( Rep a,
const Ints  r 
) const
inlinevirtual
std::ostream& polywrite ( std::ostream &  out,
const Element a,
const Indeter  In = "B" 
) const
inlineprotected
void buildsmalltables ( )
inlineprotected
UTT zech2padic ( UTT  x) const
inlineinherited
UTT padic2zech ( UTT  x) const
inlineinherited
GFqDom< TT >::Residu_t residu ( ) const
inlineinherited
GFqDom< TT >::Residu_t characteristic ( ) const
inlineinherited
Integer& characteristic ( Integer p) const
inlineinherited
uint64_t& characteristic ( uint64_t &  p) 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 & 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
GFqDom< TT >::Rep & init ( Rep r,
const float  Residu 
) const
inlineinherited
GFqDom< TT >::Rep & init ( Rep r,
const double  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 std::string &  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
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
float & convert ( float &  r,
const Rep  a 
) const
inlineinherited
double & convert ( double &  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
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& random ( RandIter g,
Rep r 
) const
inherited
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
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

UTT _SHIFTS
protected
Ints _sBASE
protected
Ints _sMASK
protected
Ints _sMAXN
protected
UTT _pceil
protected
UTT _pMASK
protected
UTT _degree
protected
Ints _epmunsq
protected
std::vector<UTT> _log2bin
protected
std::vector<UTT> _bin2log
protected
Element _Xk
protected
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 struct was generated from the following file: