Givaro 4.2.1
FermatDom Class Referenceabstract

Fermat numbers. More...

#include <givintprime.h>

+ Inheritance diagram for FermatDom:

Public Types

using Self_t = ZRing<Integer>
 
using Parent_t = UnparametricZRing<Integer>
 
typedef Integer Rep
 
typedef Rep Element
 
typedef RandomIntegerIterator< false, false > RandIter
 
typedef GeneralRingNonZeroRandIter< Self_t > NonZeroRandIter
 
using Residu_t
 
using Residu_t
 
using Element_ptr
 
using Element_ptr
 
using ConstElement_ptr
 
using ConstElement_ptr
 
enum  
 
typedef const Element ConstElement
 

Public Member Functions

 FermatDom ()
 
Repfermat (Rep &, const size_t) const
 
bool pepin (const size_t) const
 
int operator== (const Self_t &) const
 
bool operator== (const Self_t &F) const
 
int operator!= (const Self_t &) const
 
bool operator!= (const Self_t &F) const
 
template<class XXX>
XXX & convert (XXX &x, const Rep &a) const
 
T & convert (T &x, const Element &y) const
 
Repmul (Rep &r, const Rep &a, const Rep &b) const
 
Repmulin (Rep &r, const Rep &b) const
 
Repdiv (Rep &r, const Rep &a, const Rep &b) const
 
Repdivin (Rep &r, const Rep &b) const
 
Repmod (Rep &r, const Rep &a, const Rep &b) const
 
Repmodin (Rep &r, const Rep &b) const
 
Repadd (Rep &r, const Rep &a, const Rep &b) const
 
Repaddin (Rep &r, const Rep &b) const
 
Repsub (Rep &r, const Rep &a, const Rep &b) const
 
Repsubin (Rep &r, const Rep &b) const
 
Repdivmod (Rep &q, Rep &r, const Rep &a, const Rep &b) const
 
Repdivexact (Rep &q, const Rep &a, const Rep &b) const
 
Repaxpy (Rep &r, const Rep &a, const Rep &b, const Rep &c) const
 
Repmaxpy (Rep &r, const Rep &a, const Rep &b, const Rep &c) const
 
Repmaxpyin (Rep &r, const Rep &a, const Rep &b) const
 
Repaxmy (Rep &r, const Rep &a, const Rep &b, const Rep &c) const
 
Repaxpyin (Rep &r, const Rep &a, const Rep &b) const
 
Repaxmyin (Rep &r, const Rep &a, const Rep &b) const
 
Repneg (Rep &r, const Rep &a) const
 
Repnegin (Rep &r) const
 
Elementquo (Element &q, const Element &a, const Element &b) const
 
Elementrem (Element &r, const Element &a, const Element &b) const
 
Elementquoin (Element &a, const Element &b) const
 
Elementremin (Element &a, const Element &b) const
 
void quoRem (Element &q, Element &r, const Element &a, const Element &b) const
 
Elementlogtwo (Element &z, const Element &x) const
 
Repgcd (Rep &g, Rep &u, Rep &v, const Rep &a, const Rep &b) const
 
Repgcd (Rep &g, const Rep &a, const Rep &b) const
 
Repgcdin (Rep &g, const Rep &a) const
 
Replcm (Rep &l, const Rep &a, const Rep &b) const
 
Replcmin (Rep &l, const Rep &a) const
 
Elementdxgcd (Element &g, Element &s, Element &t, Element &u, Element &v, const Element &a, const Element &b) const
 
Repinv (Rep &u, const Rep &a) const
 
Repinv (Rep &u, const Rep &a, const Rep &b) const
 
Repinvin (Rep &u) const
 
Repinvin (Rep &u, const Rep &b) const
 
Repinvmod (Rep &u, const Rep &a, const Rep &b) const
 
Repinvmodin (Rep &u, const Rep &b) const
 
bool ratrecon (Rep &num, Rep &den, const Rep &f, const Rep &m, const Rep &numbound, bool forcereduce=true, bool recurs=true) const
 
bool RationalReconstruction (Rep &, Rep &, const Rep &, const Rep &) const
 
bool RationalReconstruction (Rep &, Rep &, const Rep &, const Rep &, const Rep &, bool=true, bool=true) const
 
bool RationalReconstruction (Rep &, Rep &, const Rep &, const Rep &, const Rep &, const Rep &) const
 
Reppow (Rep &r, const Rep &n, const int64_t l) const
 
Reppow (Rep &r, const Rep &n, const uint64_t l) const
 
Reppow (Rep &r, const Rep &n, const int32_t l) const
 
Reppow (Rep &r, const Rep &n, const uint32_t l) const
 
Repsqrt (Rep &s, const Rep &n) const
 
Repsqrt (Rep &s, Rep &r, const Rep &n) const
 
int64_t logp (const Rep &a, const Rep &p) const
 
Reppowmod (Rep &r, const Rep &n, const int64_t e, const Rep &m) const
 
Reppowmod (Rep &r, const Rep &n, const Rep &e, const Rep &m) const
 
uint64_t length (const Rep &a) const
 
int sign (const Rep &a) const
 
bool isZero (const Rep &a) const
 
virtual bool isZero (const Element &a) const =0
 
bool isOne (const Rep &a) const
 
virtual bool isOne (const Element &a) const =0
 
bool isMOne (const Rep &a) const
 
virtual bool isMOne (const Element &a) const =0
 
bool isUnit (const Rep &x) const
 isUnit
 
virtual bool isUnit (const Element &a) const =0
 
bool isDivisor (const Element &a, const Element &b) const
 isDivisor (a, b) Test if b | a.
 
Elementabs (Element &x, const Element &a) const
 
Element abs (const Element &a) const
 
int32_t compare (const Rep &a, const Rep &b) const
 
bool areEqual (const Rep &a, const Rep &b) const
 
bool areNEqual (const Rep &a, const Rep &b) const
 
bool areAssociates (const Element &x, const Element &y) const
 
bool isgeq (const Rep &a, const Rep &b) const
 
bool isgeq (const int64_t b, const Rep &a) const
 
bool isgeq (const Rep &a, const int64_t b) const
 
bool isleq (const Rep &a, const Rep &b) const
 
bool isleq (const int64_t b, const Rep &a) const
 
bool isleq (const Rep &a, const int64_t b) const
 
bool isgt (const Rep &a, const Rep &b) const
 
bool isgt (const int64_t b, const Rep &a) const
 
bool isgt (const Rep &a, const int64_t b) const
 
bool islt (const Rep &a, const Rep &b) const
 
bool islt (const int64_t b, const Rep &a) const
 
bool islt (const Rep &a, const int64_t b) const
 
template<class MyRandIter>
Reprandom (MyRandIter &, Rep &r, long s=1) const
 
template<class MyRandIter>
Reprandom (MyRandIter &, Rep &r, const Rep &b) const
 
Elementrandom (const Random &g, Element &r) const
 
template<class MyRandIter>
Repnonzerorandom (MyRandIter &, Rep &r, long s=1) const
 
template<class MyRandIter>
Repnonzerorandom (MyRandIter &, Rep &r, const Rep &b) const
 
Elementnonzerorandom (Random &g, Element &a) const
 
std::istream & read (std::istream &i)
 
std::istream & read (std::istream &is, Element &a) const
 
std::ostream & write (std::ostream &o) const
 
std::ostream & write (std::ostream &os, const Element &a) const
 
Residu_t residu () const
 
Residu_t residu () const
 
Residu_t size () const
 
Residu_t size () const
 
Residu_t cardinality () const
 
T & cardinality (T &c) const
 
Residu_t cardinality () const
 
T & cardinality (T &c) const
 
Residu_t characteristic () const
 
T & characteristic (T &c) const
 
Residu_t characteristic () const
 
T & characteristic (T &c) const
 
Elementinit (Element &x) const
 
Elementinit (Element &x, const T &s) const
 
Elementinit (Element &x) const
 
Elementinit (Element &x, const T &s) const
 
Elementassign (Element &x, const Element &y) const
 
Elementassign (Element &x, const Element &y) const
 
Elementreduce (Element &x, const Element &y) const
 
Elementreduce (Element &x) const
 
Elementreduce (Element &x, const Element &y) const
 
Elementreduce (Element &x) const
 
Element minElement () const
 
Element minElement () const
 
Element maxElement () const
 
Element maxElement () const
 
Arithmetic Operations

The first argument is set and is also the return value.

Elementmul (Element &x, const Element &y, const Element &z) const
 x := y*z
 
Elementdiv (Element &x, const Element &y, const Element &z) const
 x := y/z
 
Elementmod (Element &x, const Element &y, const Element &z) const
 x := y mod z
 
Elementadd (Element &x, const Element &y, const Element &z) const
 x := y + z
 
Elementsub (Element &x, const Element &y, const Element &z) const
 x := y - z
 
Elementaxpy (Element &z, const Element &a, const Element &x, const Element &y) const
 z := a*x + y
 
Elementmaxpy (Element &z, const Element &a, const Element &x, const Element &y) const
 z := y - a*x
 
Elementmaxpyin (Element &z, const Element &a, const Element &x) const
 z := z - a*x
 
Elementaxmy (Element &z, const Element &a, const Element &x, const Element &y) const
 z := a*x - y
 
Elementaxpyin (Element &z, const Element &a, const Element &x) const
 z := a*x + z
 
Elementaxmyin (Element &z, const Element &a, const Element &x) const
 z := a*x - z
 
Elementneg (Element &x, const Element &y) const
 x := -y
 
Elementinv (Element &x, const Element &y) const
 x := 1/y
 
Inplace Arithmetic Operations

The first argument is modified and the result is the return value.

Elementmulin (Element &x, const Element &y) const
 x := x*y
 
Elementdivin (Element &x, const Element &y) const
 x := x/y
 
Elementmodin (Element &x, const Element &y) const
 x := x mod y
 
Elementaddin (Element &x, const Element &y) const
 x := x + y
 
Elementsubin (Element &x, const Element &y) const
 x := x - y
 
Elementnegin (Element &x) const
 x := -x
 
Elementinvin (Element &x) const
 x := 1/x
 
Comparison Predicates
bool areEqual (const Element &x, const Element &y) const
 x == y
 
Input/Output Operations
std::istream & read (std::istream &is) const
 Read field.
 
virtual std::istream & read (std::istream &is, Element &x) const
 Read field element.
 
std::ostream & write (std::ostream &os, std::string F) const
 Read field.
 
std::ostream & write (std::ostream &os, const Element &x) const
 Print field element.
 
Data Object Management.

first argument is set and the value is also returned.

Elementinit (Element &x) const
 
Elementassign (Element &x, const Element &y) const
 

Static Public Member Functions

static Residu_t maxCardinality ()
 
static Residu_t maxCardinality ()
 
static Residu_t minCardinality ()
 
static Residu_t minCardinality ()
 
static const std::string type_string ()
 
static const std::string type_string ()
 

Data Fields

const Element one
 
const Element one
 
const Element zero
 
const Element zero
 
const Element mOne
 
const Element mOne
 

Detailed Description

Fermat numbers.

Member Typedef Documentation

◆ Self_t

using Self_t = ZRing<Integer>
inherited

◆ Parent_t

using Parent_t = UnparametricZRing<Integer>
inherited

◆ Rep

typedef Integer Rep
inherited

◆ Element

typedef Rep Element
inherited

◆ RandIter

typedef RandomIntegerIterator<false,false> RandIter
inherited

◆ NonZeroRandIter

typedef GeneralRingNonZeroRandIter<Self_t> NonZeroRandIter
inherited

◆ Residu_t [1/2]

using Residu_t
inherited

◆ Residu_t [2/2]

using Residu_t
inherited

◆ Element_ptr [1/2]

using Element_ptr
inherited

◆ Element_ptr [2/2]

using Element_ptr
inherited

◆ ConstElement_ptr [1/2]

using ConstElement_ptr
inherited

◆ ConstElement_ptr [2/2]

using ConstElement_ptr
inherited

◆ ConstElement

template<class _Element>
typedef const Element ConstElement
inherited

Member Enumeration Documentation

◆ anonymous enum

anonymous enum
inherited

Constructor & Destructor Documentation

◆ FermatDom()

FermatDom ( )
inline

Member Function Documentation

◆ fermat()

FermatDom::Rep & fermat ( Rep & f,
const size_t n ) const

◆ pepin()

bool pepin ( const size_t n) const

◆ operator==() [1/2]

int operator== ( const Self_t & ) const
inlineinherited

◆ operator==() [2/2]

bool operator== ( const Self_t & F) const
inlineinherited

◆ operator!=() [1/2]

int operator!= ( const Self_t & ) const
inlineinherited

◆ operator!=() [2/2]

bool operator!= ( const Self_t & F) const
inlineinherited

◆ convert() [1/2]

template<class XXX>
XXX & convert ( XXX & x,
const Rep & a ) const
inlineinherited

◆ convert() [2/2]

T & convert ( T & x,
const Element & y ) const
inlineinherited

◆ mul() [1/2]

Rep & mul ( Rep & r,
const Rep & a,
const Rep & b ) const
inlineinherited

◆ mul() [2/2]

template<class _Element>
Element & mul ( Element & x,
const Element & y,
const Element & z ) const
inlinevirtualinherited

x := y*z

Implements RingInterface< _Element >.

◆ mulin() [1/2]

Rep & mulin ( Rep & r,
const Rep & b ) const
inlineinherited

◆ mulin() [2/2]

template<class _Element>
Element & mulin ( Element & x,
const Element & y ) const
inlinevirtualinherited

x := x*y

Implements RingInterface< _Element >.

◆ div() [1/2]

Rep & div ( Rep & r,
const Rep & a,
const Rep & b ) const
inlineinherited

◆ div() [2/2]

template<class _Element>
Element & div ( Element & x,
const Element & y,
const Element & z ) const
inlineinherited

x := y/z

◆ divin() [1/2]

Rep & divin ( Rep & r,
const Rep & b ) const
inlineinherited

◆ divin() [2/2]

template<class _Element>
Element & divin ( Element & x,
const Element & y ) const
inlineinherited

x := x/y

◆ mod() [1/2]

Rep & mod ( Rep & r,
const Rep & a,
const Rep & b ) const
inlineinherited

◆ mod() [2/2]

template<class _Element>
Element & mod ( Element & x,
const Element & y,
const Element & z ) const
inlineinherited

x := y mod z

◆ modin() [1/2]

Rep & modin ( Rep & r,
const Rep & b ) const
inlineinherited

◆ modin() [2/2]

template<class _Element>
Element & modin ( Element & x,
const Element & y ) const
inlineinherited

x := x mod y

◆ add() [1/2]

Rep & add ( Rep & r,
const Rep & a,
const Rep & b ) const
inlineinherited

◆ add() [2/2]

template<class _Element>
Element & add ( Element & x,
const Element & y,
const Element & z ) const
inlinevirtualinherited

x := y + z

Implements RingInterface< _Element >.

◆ addin() [1/2]

Rep & addin ( Rep & r,
const Rep & b ) const
inlineinherited

◆ addin() [2/2]

template<class _Element>
Element & addin ( Element & x,
const Element & y ) const
inlinevirtualinherited

x := x + y

Implements RingInterface< _Element >.

◆ sub() [1/2]

Rep & sub ( Rep & r,
const Rep & a,
const Rep & b ) const
inlineinherited

◆ sub() [2/2]

template<class _Element>
Element & sub ( Element & x,
const Element & y,
const Element & z ) const
inlinevirtualinherited

x := y - z

Implements RingInterface< _Element >.

◆ subin() [1/2]

Rep & subin ( Rep & r,
const Rep & b ) const
inlineinherited

◆ subin() [2/2]

template<class _Element>
Element & subin ( Element & x,
const Element & y ) const
inlinevirtualinherited

x := x - y

Implements RingInterface< _Element >.

◆ divmod()

Rep & divmod ( Rep & q,
Rep & r,
const Rep & a,
const Rep & b ) const
inlineinherited

◆ divexact()

Rep & divexact ( Rep & q,
const Rep & a,
const Rep & b ) const
inlineinherited

◆ axpy() [1/2]

Rep & axpy ( Rep & r,
const Rep & a,
const Rep & b,
const Rep & c ) const
inlineinherited

◆ axpy() [2/2]

template<class _Element>
Element & axpy ( Element & z,
const Element & a,
const Element & x,
const Element & y ) const
inlinevirtualinherited

z := a*x + y

Implements RingInterface< _Element >.

◆ maxpy() [1/2]

Rep & maxpy ( Rep & r,
const Rep & a,
const Rep & b,
const Rep & c ) const
inlineinherited

◆ maxpy() [2/2]

template<class _Element>
Element & maxpy ( Element & z,
const Element & a,
const Element & x,
const Element & y ) const
inlinevirtualinherited

z := y - a*x

Implements RingInterface< _Element >.

◆ maxpyin() [1/2]

Rep & maxpyin ( Rep & r,
const Rep & a,
const Rep & b ) const
inlineinherited

◆ maxpyin() [2/2]

template<class _Element>
Element & maxpyin ( Element & z,
const Element & a,
const Element & x ) const
inlinevirtualinherited

z := z - a*x

Implements RingInterface< _Element >.

◆ axmy() [1/2]

Rep & axmy ( Rep & r,
const Rep & a,
const Rep & b,
const Rep & c ) const
inlineinherited

◆ axmy() [2/2]

template<class _Element>
Element & axmy ( Element & z,
const Element & a,
const Element & x,
const Element & y ) const
inlinevirtualinherited

z := a*x - y

Implements RingInterface< _Element >.

◆ axpyin() [1/2]

Rep & axpyin ( Rep & r,
const Rep & a,
const Rep & b ) const
inlineinherited

◆ axpyin() [2/2]

template<class _Element>
Element & axpyin ( Element & z,
const Element & a,
const Element & x ) const
inlinevirtualinherited

z := a*x + z

Implements RingInterface< _Element >.

◆ axmyin() [1/2]

Rep & axmyin ( Rep & r,
const Rep & a,
const Rep & b ) const
inlineinherited

◆ axmyin() [2/2]

template<class _Element>
Element & axmyin ( Element & z,
const Element & a,
const Element & x ) const
inlinevirtualinherited

z := a*x - z

Implements RingInterface< _Element >.

◆ neg() [1/2]

Rep & neg ( Rep & r,
const Rep & a ) const
inlineinherited

◆ neg() [2/2]

template<class _Element>
Element & neg ( Element & x,
const Element & y ) const
inlinevirtualinherited

x := -y

Implements RingInterface< _Element >.

◆ negin() [1/2]

Rep & negin ( Rep & r) const
inlineinherited

◆ negin() [2/2]

template<class _Element>
Element & negin ( Element & x) const
inlinevirtualinherited

x := -x

Implements RingInterface< _Element >.

◆ quo()

Element & quo ( Element & q,
const Element & a,
const Element & b ) const
inlineinherited

◆ rem()

Element & rem ( Element & r,
const Element & a,
const Element & b ) const
inlineinherited

◆ quoin()

Element & quoin ( Element & a,
const Element & b ) const
inlineinherited

◆ remin()

Element & remin ( Element & a,
const Element & b ) const
inlineinherited

◆ quoRem()

void quoRem ( Element & q,
Element & r,
const Element & a,
const Element & b ) const
inlineinherited

◆ logtwo()

Element & logtwo ( Element & z,
const Element & x ) const
inlineinherited

◆ gcd() [1/2]

Rep & gcd ( Rep & g,
Rep & u,
Rep & v,
const Rep & a,
const Rep & b ) const
inlineinherited

◆ gcd() [2/2]

Rep & gcd ( Rep & g,
const Rep & a,
const Rep & b ) const
inlineinherited

◆ gcdin()

Rep & gcdin ( Rep & g,
const Rep & a ) const
inlineinherited

◆ lcm()

Rep & lcm ( Rep & l,
const Rep & a,
const Rep & b ) const
inlineinherited

◆ lcmin()

Rep & lcmin ( Rep & l,
const Rep & a ) const
inlineinherited

◆ dxgcd()

Element & dxgcd ( Element & g,
Element & s,
Element & t,
Element & u,
Element & v,
const Element & a,
const Element & b ) const
inlineinherited

◆ inv() [1/3]

Rep & inv ( Rep & u,
const Rep & a ) const
inlineinherited

◆ inv() [2/3]

Rep & inv ( Rep & u,
const Rep & a,
const Rep & b ) const
inlineinherited

◆ inv() [3/3]

template<class _Element>
Element & inv ( Element & x,
const Element & y ) const
inlineinherited

x := 1/y

◆ invin() [1/3]

Rep & invin ( Rep & u) const
inlineinherited

◆ invin() [2/3]

Rep & invin ( Rep & u,
const Rep & b ) const
inlineinherited

◆ invin() [3/3]

template<class _Element>
Element & invin ( Element & x) const
inlineinherited

x := 1/x

◆ invmod()

Rep & invmod ( Rep & u,
const Rep & a,
const Rep & b ) const
inlineinherited

◆ invmodin()

Rep & invmodin ( Rep & u,
const Rep & b ) const
inlineinherited

◆ ratrecon()

bool ratrecon ( Rep & num,
Rep & den,
const Rep & f,
const Rep & m,
const Rep & numbound,
bool forcereduce = true,
bool recurs = true ) const
inherited

◆ RationalReconstruction() [1/3]

bool RationalReconstruction ( Rep & ,
Rep & ,
const Rep & ,
const Rep &  ) const
inherited

◆ RationalReconstruction() [2/3]

bool RationalReconstruction ( Rep & ,
Rep & ,
const Rep & ,
const Rep & ,
const Rep & ,
bool = true,
bool = true ) const
inherited

◆ RationalReconstruction() [3/3]

bool RationalReconstruction ( Rep & ,
Rep & ,
const Rep & ,
const Rep & ,
const Rep & ,
const Rep &  ) const
inherited

◆ pow() [1/4]

Rep & pow ( Rep & r,
const Rep & n,
const int64_t l ) const
inlineinherited

◆ pow() [2/4]

Rep & pow ( Rep & r,
const Rep & n,
const uint64_t l ) const
inlineinherited

◆ pow() [3/4]

Rep & pow ( Rep & r,
const Rep & n,
const int32_t l ) const
inlineinherited

◆ pow() [4/4]

Rep & pow ( Rep & r,
const Rep & n,
const uint32_t l ) const
inlineinherited

◆ sqrt() [1/2]

Rep & sqrt ( Rep & s,
const Rep & n ) const
inlineinherited

◆ sqrt() [2/2]

Rep & sqrt ( Rep & s,
Rep & r,
const Rep & n ) const
inlineinherited

◆ logp()

int64_t logp ( const Rep & a,
const Rep & p ) const
inlineinherited

◆ powmod() [1/2]

Rep & powmod ( Rep & r,
const Rep & n,
const int64_t e,
const Rep & m ) const
inlineinherited

◆ powmod() [2/2]

Rep & powmod ( Rep & r,
const Rep & n,
const Rep & e,
const Rep & m ) const
inlineinherited

◆ length()

uint64_t length ( const Rep & a) const
inlineinherited

◆ sign()

int sign ( const Rep & a) const
inlineinherited

◆ isZero() [1/2]

bool isZero ( const Rep & a) const
inlineinherited

◆ isZero() [2/2]

template<class _Element>
virtual bool isZero ( const Element & a) const
pure virtualinherited

◆ isOne() [1/2]

bool isOne ( const Rep & a) const
inlineinherited

◆ isOne() [2/2]

template<class _Element>
virtual bool isOne ( const Element & a) const
pure virtualinherited

◆ isMOne() [1/2]

bool isMOne ( const Rep & a) const
inlineinherited

◆ isMOne() [2/2]

template<class _Element>
virtual bool isMOne ( const Element & a) const
pure virtualinherited

◆ isUnit() [1/2]

bool isUnit ( const Rep & x) const
inlineinherited

isUnit

◆ isUnit() [2/2]

template<class _Element>
virtual bool isUnit ( const Element & a) const
pure virtualinherited

◆ isDivisor()

bool isDivisor ( const Element & a,
const Element & b ) const
inlineinherited

isDivisor (a, b) Test if b | a.

◆ abs() [1/2]

Element & abs ( Element & x,
const Element & a ) const
inlineinherited

◆ abs() [2/2]

Element abs ( const Element & a) const
inlineinherited

◆ compare()

int32_t compare ( const Rep & a,
const Rep & b ) const
inlineinherited

◆ areEqual() [1/2]

bool areEqual ( const Rep & a,
const Rep & b ) const
inlineinherited

◆ areEqual() [2/2]

template<class _Element>
bool areEqual ( const Element & x,
const Element & y ) const
inlinevirtualinherited

x == y

Implements RingInterface< _Element >.

◆ areNEqual()

bool areNEqual ( const Rep & a,
const Rep & b ) const
inlineinherited

◆ areAssociates()

bool areAssociates ( const Element & x,
const Element & y ) const
inlineinherited

◆ isgeq() [1/3]

bool isgeq ( const Rep & a,
const Rep & b ) const
inlineinherited

◆ isgeq() [2/3]

bool isgeq ( const int64_t b,
const Rep & a ) const
inlineinherited

◆ isgeq() [3/3]

bool isgeq ( const Rep & a,
const int64_t b ) const
inlineinherited

◆ isleq() [1/3]

bool isleq ( const Rep & a,
const Rep & b ) const
inlineinherited

◆ isleq() [2/3]

bool isleq ( const int64_t b,
const Rep & a ) const
inlineinherited

◆ isleq() [3/3]

bool isleq ( const Rep & a,
const int64_t b ) const
inlineinherited

◆ isgt() [1/3]

bool isgt ( const Rep & a,
const Rep & b ) const
inlineinherited

◆ isgt() [2/3]

bool isgt ( const int64_t b,
const Rep & a ) const
inlineinherited

◆ isgt() [3/3]

bool isgt ( const Rep & a,
const int64_t b ) const
inlineinherited

◆ islt() [1/3]

bool islt ( const Rep & a,
const Rep & b ) const
inlineinherited

◆ islt() [2/3]

bool islt ( const int64_t b,
const Rep & a ) const
inlineinherited

◆ islt() [3/3]

bool islt ( const Rep & a,
const int64_t b ) const
inlineinherited

◆ random() [1/3]

template<class MyRandIter>
Rep & random ( MyRandIter & ,
Rep & r,
long s = 1 ) const
inlineinherited

◆ random() [2/3]

template<class MyRandIter>
Rep & random ( MyRandIter & ,
Rep & r,
const Rep & b ) const
inlineinherited

◆ random() [3/3]

Element & random ( const Random & g,
Element & r ) const
inlineinherited

◆ nonzerorandom() [1/3]

template<class MyRandIter>
Rep & nonzerorandom ( MyRandIter & ,
Rep & r,
long s = 1 ) const
inlineinherited

◆ nonzerorandom() [2/3]

template<class MyRandIter>
Rep & nonzerorandom ( MyRandIter & ,
Rep & r,
const Rep & b ) const
inlineinherited

◆ nonzerorandom() [3/3]

Element & nonzerorandom ( Random & g,
Element & a ) const
inlineinherited

◆ read() [1/4]

std::istream & read ( std::istream & i)
inlineinherited

◆ read() [2/4]

std::istream & read ( std::istream & is,
Element & a ) const
inlineinherited

◆ read() [3/4]

template<class _Element>
std::istream & read ( std::istream & is) const
inlineinherited

Read field.

Returns
input stream from which field is read.
Parameters
isinput stream from which field is read.

◆ read() [4/4]

template<class _Element>
virtual std::istream & read ( std::istream & is,
Element & x ) const
inlinevirtualinherited

Read field element.

Returns
input stream from which field element is read.
Parameters
isinput stream from which field element is read.
xfield element.

Implements RingInterface< _Element >.

Reimplemented in UnparametricZRing< _Element >, UnparametricZRing< Element >, and UnparametricZRing< Element >.

◆ write() [1/4]

std::ostream & write ( std::ostream & o) const
inlineinherited

◆ write() [2/4]

std::ostream & write ( std::ostream & os,
const Element & a ) const
inlineinherited

◆ write() [3/4]

template<class _Element>
std::ostream & write ( std::ostream & os,
std::string F ) const
inlineinherited

Read field.

Returns
input stream from which field is read.
Parameters
isinput stream from which field is read.

◆ write() [4/4]

template<class _Element>
std::ostream & write ( std::ostream & os,
const Element & x ) const
inlinevirtualinherited

Print field element.

Returns
output stream to which field element is written.
Parameters
osoutput stream to which field element is written.
xfield element.

Implements RingInterface< _Element >.

Reimplemented in UnparametricZRing< _Element >.

◆ residu() [1/2]

Residu_t residu ( ) const
inlineinherited

◆ residu() [2/2]

Residu_t residu ( ) const
inlineinherited

◆ size() [1/2]

Residu_t size ( ) const
inlineinherited

◆ size() [2/2]

Residu_t size ( ) const
inlineinherited

◆ cardinality() [1/4]

Residu_t cardinality ( ) const
inlineinherited

◆ cardinality() [2/4]

T & cardinality ( T & c) const
inlineinherited

◆ cardinality() [3/4]

Residu_t cardinality ( ) const
inlineinherited

◆ cardinality() [4/4]

T & cardinality ( T & c) const
inlineinherited

◆ characteristic() [1/4]

Residu_t characteristic ( ) const
inlineinherited

◆ characteristic() [2/4]

T & characteristic ( T & c) const
inlineinherited

◆ characteristic() [3/4]

Residu_t characteristic ( ) const
inlineinherited

◆ characteristic() [4/4]

T & characteristic ( T & c) const
inlineinherited

◆ maxCardinality() [1/2]

static Residu_t maxCardinality ( )
inlinestaticinherited

◆ maxCardinality() [2/2]

static Residu_t maxCardinality ( )
inlinestaticinherited

◆ minCardinality() [1/2]

static Residu_t minCardinality ( )
inlinestaticinherited

◆ minCardinality() [2/2]

static Residu_t minCardinality ( )
inlinestaticinherited

◆ init() [1/5]

Element & init ( Element & x) const
inlineinherited

◆ init() [2/5]

Element & init ( Element & x,
const T & s ) const
inlineinherited

◆ init() [3/5]

Element & init ( Element & x) const
inlineinherited

◆ init() [4/5]

Element & init ( Element & x,
const T & s ) const
inlineinherited

◆ init() [5/5]

template<class _Element>
Element & init ( Element & x) const
inlinevirtualinherited

◆ assign() [1/3]

Element & assign ( Element & x,
const Element & y ) const
inlineinherited

◆ assign() [2/3]

Element & assign ( Element & x,
const Element & y ) const
inlineinherited

◆ assign() [3/3]

template<class _Element>
Element & assign ( Element & x,
const Element & y ) const
inlinevirtualinherited

◆ reduce() [1/4]

Element & reduce ( Element & x,
const Element & y ) const
inlineinherited

◆ reduce() [2/4]

Element & reduce ( Element & x) const
inlineinherited

◆ reduce() [3/4]

Element & reduce ( Element & x,
const Element & y ) const
inlineinherited

◆ reduce() [4/4]

Element & reduce ( Element & x) const
inlineinherited

◆ minElement() [1/2]

Element minElement ( ) const
inlineinherited

◆ minElement() [2/2]

Element minElement ( ) const
inlineinherited

◆ maxElement() [1/2]

Element maxElement ( ) const
inlineinherited

◆ maxElement() [2/2]

Element maxElement ( ) const
inlineinherited

◆ type_string() [1/2]

static const std::string type_string ( )
inlinestaticinherited

◆ type_string() [2/2]

static const std::string type_string ( )
inlinestaticinherited

Field Documentation

◆ one [1/2]

const Element one
inherited

◆ one [2/2]

const Element one
inherited

◆ zero [1/2]

const Element zero
inherited

◆ zero [2/2]

const Element zero
inherited

◆ mOne [1/2]

const Element mOne
inherited

◆ mOne [2/2]

const Element mOne
inherited

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