Givaro
Namespaces | Data Structures | Typedefs | Functions
Givaro Namespace Reference

Namespace in which the whole Givaro library resides. More...

Namespaces

 AlgorithmType
 Information about the type of method.
 
 Protected
 

Data Structures

struct  _perfArray0< T >
 defined by marco GIVARO_PERF_DEFCLASS. ref counting and stuff. More...
 
class  Array0
 NODOC. More...
 
class  ArrayAllocatort
 ArrayAllocator: class for allocation of arrays. More...
 
class  Array0Tag
 Array0Tag. More...
 
class  ArrayFixed
 ArrayFixed. More...
 
struct  __giv_map_less_ith
 Map opcode on all Elements less or requal that ith. More...
 
struct  __giv_map_less_ith< T, UNARYOP, 0 >
 
struct  __giv_map_less_ith< T, UNARYOP, ith >
 
struct  __giv_map_less_ith_const
 
struct  __giv_map_less_ith_const< T, UNARYOP, 0 >
 
struct  __giv_map_less_ith_const< T, UNARYOP, ith >
 
class  Bits
 Bits. More...
 
struct  ElemRef
 Elem Ref. More...
 
struct  ElemConstRef
 Elem const Ref. More...
 
struct  Pair
 Pair. More...
 
class  Key
 The class Key. More...
 
class  HashTable
 Hash table. More...
 
class  List0
 ListO. More...
 
class  Stack
 Stack. More...
 
struct  ChineseRemainder
 CRA. More...
 
struct  ChineseRemainder< Ring, Domain, false >
 CRA2. More...
 
class  GIV_ExtensionrandIter
 Extension rand iters. More...
 
class  Extension
 Extension. More...
 
class  GF2
 Integers modulo 2. More...
 
class  GFqDom
 class GFqDom More...
 
class  GFqExtFast
 GFq Ext. More...
 
class  GFqExt
 GFq Ext (other) More...
 
struct  GFqKronecker
 GFqKronecker. More...
 
class  Primes16
 class Primes16 More...
 
class  RNSsystem
 class RNSsystem. More...
 
class  RNSsystemFixed
 NO DOC. More...
 
class  AdicSize
 
class  QField
 
class  QField< Rational >
 Rational Domain. More...
 
struct  StaticElement
 Static Element. More...
 
class  Integer
 This is the Integer class. More...
 
class  ZRing< Integer >
 Integer Domain, Specialization of ZRing. More...
 
struct  DomainRandIter< ZRing< Integer > >
 
class  IntFactorDom
 Integer Factor Domain. More...
 
class  IntNumTheoDom
 Num theory Domain. More...
 
class  FermatDom
 Fermat numbers. More...
 
class  IntPrimeDom
 Primality tests. More...
 
class  IntRNSsystem
 RNS system class. No doc. More...
 
class  IntRSADom
 RSA domain. More...
 
class  IntSqrtModDom
 Modular square roots. More...
 
struct  SpyInteger
 
class  ZRing
 
class  RandomIntegerIterator
 Random Integer Iterator. More...
 
class  GivMMInfo
 Static informations of memory allocation. More...
 
class  BlocFreeList
 Data structure of a bloc. More...
 
class  GivMMFreeList
 Implementation of a memory manager with free-lists. More...
 
class  GivMMRefCount
 Memory management with reference counter on allocated data. More...
 
class  GivaroMM
 Memory manager that allocates array of object of type T for. More...
 
struct  Memorer
 
class  RefCountPtr
 Refcount Pointer. More...
 
class  RefCounter
 Ref counter. More...
 
struct  ieee
 
class  Rational
 Rationals. No doc. More...
 
class  ModularBalanced
 
class  ModularBalanced< double >
 
class  ModularBalanced< float >
 
class  ModularBalanced< int32_t >
 
class  ModularBalanced< int64_t >
 
class  ModularExtended
 
class  Modular< _Storage_t, _Compute_t, typename std::enable_if< std::is_floating_point< _Storage_t >::value >::type >
 
class  Modular
 Forward declaration for Givaro::Modular. More...
 
class  Modular_implem
 This class implement the standard arithmetic with Modulo Elements. More...
 
class  Modular< Integer >
 This class implement the standard arithmetic with Modulo Elements. More...
 
class  ModularRandIter< Modular< Integer > >
 
class  Modular< _Storage_t, _Compute_t, typename std::enable_if< std::is_integral< _Storage_t >::value &&std::is_integral< _Compute_t >::value &&(sizeof(_Storage_t)==sizeof(_Compute_t)||2 *sizeof(_Storage_t)==sizeof(_Compute_t))>::type >
 
class  Modular< Log16 >
 This class implement the standard arithmetic with Modulo Elements. More...
 
class  Modular< _Storage_t, _Compute_t, typename std::enable_if< is_same_ruint< _Storage_t, _Compute_t >::value||is_smaller_ruint< _Storage_t, _Compute_t >::value||is_same_rint< _Storage_t, _Compute_t >::value||is_smaller_rint< _Storage_t, _Compute_t >::value >::type >
 
class  Montgomery
 
class  Montgomery< int32_t >
 This class implements the standard arithmetic with Modulo Elements. More...
 
class  Montgomery< RecInt::ruint< K > >
 The recint-based Montgomery ring. More...
 
struct  RingInterface
 
struct  FieldInterface
 
struct  FiniteInterface
 
struct  FiniteFieldInterface
 
struct  FiniteRingInterface
 
class  UnparametricOperations
 
struct  DomainRandIter
 
class  UnparametricZRing
 Generic Class ZRing. More...
 
class  Neutral
 Neutral type. More...
 
class  givNoInit
 Used to build no initialized object as static object. More...
 
class  givNoCopy
 Used to call cstor without copy. More...
 
class  givWithCopy
 Used to call cstor with copy. More...
 
class  GivError
 Base class for exeception handling in Givaro. More...
 
class  GivMathError
 Math error. More...
 
class  GivBadFormat
 Exception thrown in input of data structure. More...
 
class  GivMathDivZero
 Div by 0. More...
 
struct  __givdom_trait_name
 give a name for /read/write More...
 
class  BaseDomain
 Base Domain. More...
 
struct  __givdom_trait_name< char >
 
struct  __givdom_trait_name< short >
 
struct  __givdom_trait_name< int >
 
struct  __givdom_trait_name< long >
 
struct  __givdom_trait_name< float >
 
struct  __givdom_trait_name< double >
 
class  GivaroMain
 Initialisation of GIVARO . More...
 
class  GivaroAppli
 Main application class Could be not used. More...
 
class  GivaroNoInit
 GivaroNoInit. More...
 
class  InitAfter
 InitAfter. More...
 
class  GivModule
 GivModule. More...
 
class  ObjectInit
 GivModule. More...
 
struct  OMPTimer
 OMP timer. More...
 
class  GIV_randIter
 Random ring Element generator. More...
 
class  ModularRandIter
 Random ring Element generator. More...
 
class  GeneralRingRandIter
 UnparametricRandIter. More...
 
class  GeneralRingNonZeroRandIter
 Random iterator for nonzero random numbers. More...
 
class  GivRandom
 GivRandom. More...
 
class  BaseTimer
 base for class RealTimer; class SysTimer; class UserTimer; More...
 
class  RealTimer
 Real timer. More...
 
class  UserTimer
 User timer. More...
 
class  SysTimer
 Sys timer. More...
 
class  Timer
 Timer. More...
 
class  HasTypeString
 
struct  TypeString
 
class  MatrixDom< Domain, Dense >
 
class  MatrixDom
 
class  MatrixDom< Domain, Sparse >
 
struct  RetMatrixStorage
 
struct  RetMatrix2Storage
 
struct  RetMatrixStorage< T, Dense >
 
struct  RetMatrixStorage< T, Sparse >
 
class  Degree
 Degree type for polynomials. More...
 
class  Indeter
 Indeterminate. More...
 
struct  Interpolation
 Interpolation. More...
 
struct  NewtonInterpGeomMultip
 Newton (multip) More...
 
struct  NewtonInterpGeom
 Newton. More...
 
class  Poly1Dom
 
class  Poly1CRT
 Poly1 CRT. More...
 
class  Poly1Dom< Domain, Dense >
 Class Poly1Dom. More...
 
class  Poly1FactorDom
 Poly1FactorDom. More...
 
class  Poly1PadicDom
 
class  Poly1PadicDom< Domain, Dense >
 Poly1 p-adic. More...
 
class  CyclotomicTable
 CyclotomicTable. More...
 
struct  KSpace
 
class  Undefined
 
struct  IsEqual
 
struct  IsEqual< a, a >
 
struct  IsNotEqual
 
class  Sporadic
 
class  Dense
 
class  Sparse
 
struct  Sparsity_Trait
 
class  DefaultFormat
 
struct  StructFormat
 
class  FixedTruncDom
 
struct  Frac
 
struct  FracDom
 
struct  HighOrder
 
class  isUndefinedIterator
 
class  isForwardIterator
 
class  isBidirectionalIterator
 
class  isRandomIterator
 
struct  IteratorTraits
 
struct  IteratorInterface
 
struct  BaseOP
 
struct  CopyOp
 
struct  MulOp
 
struct  DivOp
 
struct  ModOp
 
struct  AddOp
 
struct  SubOp
 
struct  NegOp
 
struct  MulAddOp
 
struct  Curried1
 
struct  Curried2
 
struct  QuotientDom
 
class  TruncDom
 
struct  RetVectorStorage
 
struct  RetVector2Storage
 
struct  RetVectorStorage< T, Dense >
 
struct  RetVectorStorage< T, Sparse >
 
class  VectorDom
 
class  VectorDom< Domain, Dense >
 
class  VectorDom< Domain, Sparse >
 

Typedefs

typedef Modular< uint32_t > Field1
 
typedef StaticElement< Field1Element1
 
typedef GFqDom< int64_t > Field2
 
typedef StaticElement< Field2Element2
 
typedef Montgomery< int32_t > Field3
 
typedef StaticElement< Field3Element3
 
typedef Modular< IntegerField4
 
typedef StaticElement< Field4Element4
 
typedef Modular< int32_t > Field5
 
typedef StaticElement< Field5Element5
 
typedef Modular< int16_t > Field6
 
typedef StaticElement< Field6Element6
 
typedef Modular< Log16 > Field7
 
typedef StaticElement< Field7Element7
 
typedef GFqDom< int64_t > Field
 
typedef StaticElement< FieldElement
 
template<class TT = int64_t>
using GFq = GFqDom< TT >
 
typedef ZRing< IntegerIntegerDom
 
using IntegerDomain = ZRing< Integer >
 
using FloatDomain = ZRing< float >
 
using DoubleDomain = ZRing< double >
 
typedef BaseDomain< char > CharDom
 char dom More...
 
typedef BaseDomain< short > ShortDom
 short dom More...
 
typedef BaseDomain< int > IntDom
 int dom More...
 
typedef BaseDomain< long > LongDom
 long dom More...
 
typedef BaseDomain< float > FloatDom
 float dom More...
 
typedef BaseDomain< double > DoubleDom
 double dom More...
 
template<typename T , typename A = std::allocator<T>>
using givvector = std::vector< T, A >
 givvector More...
 

Functions

IntegerFibonacci (Integer &r, Integer &t, const uint64_t n)
 
IntegerFibonacci (Integer &t, const uint64_t n)
 
std::ostream & operator<< (std::ostream &o, const Bits &a)
 
template<class T1 , class T2 >
std::ostream & operator<< (std::ostream &o, const Pair< T1, T2 > &p)
 IO. More...
 
template<class T1 , class T2 >
std::istream & operator>> (std::istream &fin, Pair< T1, T2 > &p)
 IO. More...
 
template<class Rt >
Rt FF_EXPONENT_MAX (const Rt p, const Rt maxe=21)
 XXX. More...
 
template<class Rt >
Rt FF_SUBEXPONENT_MAX (const Rt p, const Rt e)
 XXX. More...
 
template<typename Field >
int64_t Exponent_Trait (const Field &F)
 XXX. More...
 
template<>
int64_t Exponent_Trait (const GFqDom< int64_t > &F)
 XXX. More...
 
template<typename BaseField >
int64_t Exponent_Trait (const Extension< BaseField > &F)
 XXX. More...
 
Integerinv (Integer &u, const Integer &a, const Integer &b)
 Modular inverse. More...
 
Integerinvin (Integer &u, const Integer &b)
 
Integer gcd (const Integer &a, const Integer &b)
 
Integer gcd (Integer &u, Integer &v, const Integer &a, const Integer &b)
 
Integergcd (Integer &g, const Integer &a, const Integer &b)
 
Integergcd (Integer &g, Integer &u, Integer &v, const Integer &a, const Integer &b)
 
Integer pp (const Integer &P, const Integer &Q)
 
Integerlcm (Integer &g, const Integer &a, const Integer &b)
 
Integer lcm (const Integer &a, const Integer &b)
 
Integerpow (Integer &Res, const Integer &n, const int64_t l)
 
Integerpow (Integer &Res, const uint64_t n, const uint64_t l)
 
Integerpow (Integer &Res, const Integer &n, const uint64_t l)
 
Integerpow (Integer &Res, const Integer &n, const int32_t l)
 
Integerpow (Integer &Res, const Integer &n, const uint32_t l)
 
Integer pow (const Integer &n, const int64_t l)
 
Integer pow (const Integer &n, const uint64_t l)
 
Integer pow (const Integer &n, const int32_t l)
 
Integer pow (const Integer &n, const uint32_t l)
 
Integerpowmod (Integer &Res, const Integer &n, const uint64_t e, const Integer &m)
 
Integerpowmod (Integer &Res, const Integer &n, const int64_t e, const Integer &m)
 
Integerpowmod (Integer &Res, const Integer &n, const uint32_t e, const Integer &m)
 
Integerpowmod (Integer &Res, const Integer &n, const int32_t e, const Integer &m)
 
Integerpowmod (Integer &Res, const Integer &n, const Integer &e, const Integer &m)
 
Integer powmod (const Integer &n, const uint64_t e, const Integer &m)
 
Integer powmod (const Integer &n, const int64_t e, const Integer &m)
 
Integer powmod (const Integer &n, const uint32_t e, const Integer &m)
 
Integer powmod (const Integer &n, const int32_t e, const Integer &m)
 
Integer powmod (const Integer &n, const Integer &e, const Integer &m)
 
int32_t sign (const Integer &a)
 
int32_t compare (const Integer &a, const Integer &b)
 
int32_t absCompare (const Integer &a, const Integer &b)
 
int32_t absCompare (const Integer &a, const double b)
 
int32_t absCompare (const Integer &a, const float b)
 
int32_t absCompare (const Integer &a, const uint64_t b)
 
int32_t absCompare (const Integer &a, const unsigned b)
 
int32_t absCompare (const Integer &a, const int64_t b)
 
int32_t absCompare (const Integer &a, const int32_t b)
 
template<class T >
int32_t absCompare (const T a, const Integer &b)
 
int32_t isZero (const Integer &a)
 
int32_t nonZero (const Integer &a)
 
int32_t isOne (const Integer &a)
 
int32_t isMOne (const Integer &a)
 
Integer fact (uint64_t l)
 
Integer sqrt (const Integer &p)
 
Integer sqrtrem (const Integer &p, Integer &rem)
 
Integersqrt (Integer &r, const Integer &p)
 
Integersqrtrem (Integer &r, const Integer &p, Integer &rem)
 
bool root (Integer &q, const Integer &, uint32_t n)
 
int64_t logp (const Integer &a, const Integer &p)
 
double logtwo (const Integer &a)
 
double naturallog (const Integer &a)
 
void swap (Integer &, Integer &)
 
int32_t isperfectpower (const Integer &)
 
Integer abs (const Integer &n)
 
int32_t jacobi (const Integer &u, const Integer &v)
 
int32_t legendre (const Integer &u, const Integer &v)
 
bool isOdd (const Integer &a)
 Tests parity of an integer. More...
 
uint64_t length (const Integer &a)
 
std::istream & operator>> (std::istream &i, Integer &n)
 
std::ostream & operator<< (std::ostream &o, const Integer &n)
 
std::ostream & absOutput (std::ostream &o, const Integer &n)
 
template<size_t K>
IntegerCaster (Integer &t, const RecInt::ruint< K > &n)
 
template<size_t K>
IntegerCaster (Integer &t, const RecInt::rint< K > &n)
 
template<size_t K>
RecInt::ruint< K > & Caster (RecInt::ruint< K > &t, const Integer &n)
 
template<size_t K>
RecInt::rint< K > & Caster (RecInt::rint< K > &t, const Integer &n)
 
Integer operator+ (const int32_t l, const Integer &n)
 
Integer operator+ (const uint32_t l, const Integer &n)
 
Integer operator+ (const int64_t l, const Integer &n)
 
Integer operator+ (const uint64_t l, const Integer &n)
 
int32_t absCompare (const Integer &a, const uint32_t b)
 
int32_t operator!= (double l, const Integer &n)
 
int32_t operator!= (float l, const Integer &n)
 
int32_t operator!= (int32_t l, const Integer &n)
 
int32_t operator!= (int64_t l, const Integer &n)
 
int32_t operator!= (uint64_t l, const Integer &n)
 
int32_t operator!= (uint32_t l, const Integer &n)
 
int32_t operator== (double l, const Integer &n)
 
int32_t operator== (float l, const Integer &n)
 
int32_t operator== (int32_t l, const Integer &n)
 
int32_t operator== (int64_t l, const Integer &n)
 
int32_t operator== (uint64_t l, const Integer &n)
 
int32_t operator== (uint32_t l, const Integer &n)
 
int32_t operator> (double l, const Integer &n)
 
int32_t operator> (float l, const Integer &n)
 
int32_t operator> (int32_t l, const Integer &n)
 
int32_t operator> (int64_t l, const Integer &n)
 
int32_t operator> (uint64_t l, const Integer &n)
 
int32_t operator> (uint32_t l, const Integer &n)
 
int32_t operator< (double l, const Integer &n)
 
int32_t operator< (float l, const Integer &n)
 
int32_t operator< (int32_t l, const Integer &n)
 
int32_t operator< (int64_t l, const Integer &n)
 
int32_t operator< (uint64_t l, const Integer &n)
 
int32_t operator< (uint32_t l, const Integer &n)
 
int32_t operator>= (double l, const Integer &n)
 
int32_t operator>= (float l, const Integer &n)
 
int32_t operator>= (int32_t l, const Integer &n)
 
int32_t operator>= (int64_t l, const Integer &n)
 
int32_t operator>= (uint64_t l, const Integer &n)
 
int32_t operator>= (uint32_t l, const Integer &n)
 
int32_t operator<= (double l, const Integer &n)
 
int32_t operator<= (float l, const Integer &n)
 
int32_t operator<= (int32_t l, const Integer &n)
 
int32_t operator<= (int64_t l, const Integer &n)
 
int32_t operator<= (uint64_t l, const Integer &n)
 
int32_t operator<= (uint32_t l, const Integer &n)
 
int32_t isZero (const int16_t a)
 
int32_t isZero (const int32_t a)
 
int32_t isZero (const int64_t a)
 
int32_t isZero (const uint16_t a)
 
int32_t isZero (const uint32_t a)
 
int32_t isZero (const uint64_t a)
 
Integer operator/ (const int32_t l, const Integer &n)
 
Integer operator/ (const int64_t l, const Integer &n)
 
Integer operator/ (const uint32_t l, const Integer &n)
 
Integer operator/ (const uint64_t l, const Integer &n)
 
int32_t kronecker (const Integer &u, const Integer &v)
 
Integer operator% (const int32_t l, const Integer &n)
 
Integer operator% (const int64_t l, const Integer &n)
 
Integer operator% (const uint32_t l, const Integer &n)
 
Integer operator% (const uint64_t l, const Integer &n)
 
Integer operator* (const int32_t l, const Integer &n)
 
Integer operator* (const uint32_t l, const Integer &n)
 
Integer operator* (const int64_t l, const Integer &n)
 
Integer operator* (const uint64_t l, const Integer &n)
 
Integer operator- (const int32_t l, const Integer &n)
 
Integer operator- (const uint32_t l, const Integer &n)
 
Integer operator- (const int64_t l, const Integer &n)
 
Integer operator- (const uint64_t l, const Integer &n)
 
void Add_Curve (const Integer &n, const Integer A, const Integer &ax, const Integer &az, Integer &cx, Integer &cz)
 
void one_Mul_Curve (const Integer &n, const Integer A, const Integer &mm, const Integer &nn, const Integer &px, const Integer &pz, Integer &ax, Integer &az)
 
void one_Mul_Curve2 (const Integer &n, const Integer A, const Integer &mm, const Integer &nn, const Integer &px, const Integer &pz, Integer &aax, Integer &aaz)
 
void Mul_Curve (const Integer &n, Integer &Ai, const Integer &mm, const Integer &nn, const Integer &B1, Integer &Xi, Integer &Zi)
 
Integerppin (Integer &res, const Integer &prime)
 
std::ostream & operator<< (std::ostream &o, const GivMMInfo &T)
 IO. More...
 
int compare (const Rational &a, const Rational &b)
 
int absCompare (const Rational &a, const Rational &b)
 
template double power (double x, unsigned int p)
 
std::istream & operator>> (std::istream &in, Rational &r)
 
const Rational pow (const Rational &r, const int64_t l)
 
const Integer floor (const Rational &r)
 
const Integer ceil (const Rational &r)
 
const Integer round (const Rational &r)
 
const Integer trunc (const Rational &r)
 
const Rational abs (const Rational &r)
 
const Rational pow (const Rational &n, uint l)
 
const Rational pow (const Rational &n, uint64_t l)
 
uint64_t length (const Rational &r)
 
int sign (const Rational &r)
 
int isZero (const Rational &r)
 
int isOne (const Rational &r)
 
int isMOne (const Rational &r)
 
int isInteger (const Rational &r)
 
int operator!= (const Rational &a, const Rational &b)
 
int operator== (const Rational &a, const Rational &b)
 
int operator< (const Rational &a, const Rational &b)
 
int operator> (const Rational &a, const Rational &b)
 
int operator<= (const Rational &a, const Rational &b)
 
int operator>= (const Rational &a, const Rational &b)
 
const Rational operator+ (const Rational &r, const int i)
 
const Rational operator- (const Rational &r, const int i)
 
const Rational operator* (const Rational &r, const int i)
 
const Rational operator/ (const Rational &r, const int i)
 
const Rational operator+ (const int i, const Rational &r)
 
const Rational operator- (const int i, const Rational &r)
 
const Rational operator* (const int i, const Rational &r)
 
const Rational operator/ (const int i, const Rational &r)
 
std::ostream & operator<< (std::ostream &o, const Rational &a)
 
template<typename Storage_t >
Storage_t & gcdext (Storage_t &d, Storage_t &u, Storage_t &v, const Storage_t a, const Storage_t b)
 Generalized extended GCD used by specialized Modular. More...
 
template<typename Storage_t >
std::enable_if< std::is_floating_point< Storage_t >::value, Storage_t & >::type extended_euclid (Storage_t &x, Storage_t &d, const Storage_t a, const Storage_t b)
 Extended Euclidean algorithm computing only the Bezout coefficient for a. More...
 
template<typename Storage_t >
std::enable_if<!std::is_floating_point< Storage_t >::value, Storage_t & >::type extended_euclid (Storage_t &x, Storage_t &d, const Storage_t a, const Storage_t b)
 
template<typename Storage_t >
Storage_t & invext (Storage_t &x, Storage_t &d, const Storage_t a, const Storage_t b)
 Generalized inversion used by specialized Modular. More...
 
template<typename Storage_t >
Storage_t & invext (Storage_t &x, const Storage_t a, const Storage_t b)
 
template<typename Storage_t >
Storage_t invext (const Storage_t a, const Storage_t b)
 
template<typename E , typename R , typename std::enable_if< IS_SINT(E), int >::type = 0>
E & _reduce (E &x, const E &y, const R &p)
 
template<typename E , typename R , typename std::enable_if< IS_SINT(E), int >::type = 0>
E & _reduce (E &x, const R &p)
 
template<typename TElem , typename RElem , typename std::enable_if<!(IS_SINT(TElem)), int >::type = 0>
TElem & GenericAdd (TElem &r, const TElem &a, const TElem &b, const RElem &_p)
 
template<typename TElem , typename RElem , typename std::enable_if<!(IS_SINT(TElem)), int >::type = 0>
TElem & GenericAddIN (TElem &r, const TElem &a, const RElem &_p)
 
template<typename E , typename C , typename std::enable_if<!std::is_same< E, C >::value, int >::type = 0>
E & _mul (E &r, const E &a, const E &b, const E &p)
 
template<typename E , typename C >
E & _mulin (E &r, const E &a, const E &p, const C &pc)
 
template<typename E >
E & _mulin (E &r, const E &a, const E &p, const E &pc)
 
template<typename E , typename C , typename std::enable_if<!std::is_same< E, C >::value, int >::type = 0>
E & _axpy (E &r, const E &a, const E &b, const E &c, const E &p)
 
template<typename E , typename C , typename std::enable_if<!std::is_same< E, C >::value, int >::type = 0>
E & _axpyin (E &r, const E &a, const E &b, const E &p)
 
template<typename E , typename C , typename std::enable_if<!std::is_same< E, C >::value, int >::type = 0>
E & _maxpyin (E &r, const E &a, const E &b, const E &p)
 
template<typename _Element >
_Element & Moderin (_Element &t, const _Element &s)
 
template<typename _Element >
_Element Moder (const _Element &t, const _Element &s)
 
template<>
float Moder (const float &t, const float &s)
 
template<>
float & Moderin (float &t, const float &s)
 
template<>
double Moder (const double &t, const double &s)
 
template<>
double & Moderin (double &t, const double &s)
 
template<typename Target , typename Source >
Target & Caster (Target &t, const Source &s)
 
template<typename Target , typename Source >
Target Caster (const Source &s)
 
std::ostream & operator<< (std::ostream &o, const GivError &E)
 
template<typename T >
unsigned GIVINTLOG (const T &a)
 Integer log. More...
 
template<class TT , class UU >
TT power (const TT n, const UU l)
 Powering. More...
 
template<class D , class TT >
TT & dom_power (TT &res, const TT &n, uint64_t l, const D &F)
 dom_power More...
 
std::ostream & operator<< (std::ostream &o, const BaseTimer &BT)
 I/O. More...
 
std::ostream & operator<< (std::ostream &o, const Timer &T)
 I/O. More...
 
int64_t value (const Degree &d)
 value More...
 
std::ostream & operator<< (std::ostream &o, const Indeter &X)
 
std::istream & operator>> (std::istream &s_in, Indeter &X)
 
int operator== (const Indeter &i1, const Indeter &i2)
 
int operator!= (const Indeter &i1, const Indeter &i2)
 
int operator<= (const Indeter &i1, const Indeter &i2)
 
int operator< (const Indeter &i1, const Indeter &i2)
 
int operator>= (const Indeter &i1, const Indeter &i2)
 
int operator> (const Indeter &i1, const Indeter &i2)
 
template<class Domain >
KSpace< Domainoperator* (const typename KSpace< Domain >::Scalar_t &v, const KSpace< Domain > &U)
 
template<class Domain >
void dotprod (typename Domain::Scalar_t &dot, const KSpace< Domain > &U, const KSpace< Domain > &V)
 
template<class Domain >
ostream & operator<< (ostream &sout, const KSpace< Domain > &U)
 
template<class Domain >
istream & operator>> (istream &sin, KSpace< Domain > &U)
 
template<class T , class Tag >
StructFormat< T, Tag > Formatted (const T &val, Tag xx)
 

Detailed Description

Namespace in which the whole Givaro library resides.

Todo:
use NTL if available ?

Typedef Documentation

◆ Field1

typedef Modular<uint32_t> Field1

◆ Element1

◆ Field2

typedef GFqDom<int64_t> Field2

◆ Element2

◆ Field3

typedef Montgomery<int32_t> Field3

◆ Element3

◆ Field4

◆ Element4

◆ Field5

typedef Modular<int32_t> Field5

◆ Element5

◆ Field6

typedef Modular<int16_t> Field6

◆ Element6

◆ Field7

typedef Modular<Log16> Field7

◆ Element7

◆ Field

typedef GFqDom<int64_t> Field

◆ Element

◆ GFq

using GFq = GFqDom<TT>

◆ IntegerDom

◆ IntegerDomain

◆ FloatDomain

using FloatDomain = ZRing<float>

◆ DoubleDomain

using DoubleDomain = ZRing<double>

◆ CharDom

typedef BaseDomain<char> CharDom

char dom

◆ ShortDom

typedef BaseDomain<short> ShortDom

short dom

◆ IntDom

typedef BaseDomain<int> IntDom

int dom

◆ LongDom

typedef BaseDomain<long> LongDom

long dom

◆ FloatDom

typedef BaseDomain<float> FloatDom

float dom

◆ DoubleDom

typedef BaseDomain<double> DoubleDom

double dom

◆ givvector

using givvector = std::vector <T,A>

givvector

Function Documentation

◆ Fibonacci() [1/2]

Integer& Givaro::Fibonacci ( Integer r,
Integer t,
const uint64_t  n 
)

◆ Fibonacci() [2/2]

Integer& Givaro::Fibonacci ( Integer t,
const uint64_t  n 
)

◆ operator<<() [1/10]

std::ostream& Givaro::operator<< ( std::ostream &  o,
const Bits a 
)
inline

◆ operator<<() [2/10]

std::ostream& Givaro::operator<< ( std::ostream &  o,
const Pair< T1, T2 > &  p 
)

IO.

◆ operator>>() [1/5]

std::istream& Givaro::operator>> ( std::istream &  fin,
Pair< T1, T2 > &  p 
)

IO.

◆ FF_EXPONENT_MAX()

Rt Givaro::FF_EXPONENT_MAX ( const Rt  p,
const Rt  maxe = 21 
)

◆ FF_SUBEXPONENT_MAX()

Rt Givaro::FF_SUBEXPONENT_MAX ( const Rt  p,
const Rt  e 
)

◆ Exponent_Trait() [1/3]

int64_t Givaro::Exponent_Trait ( const Field F)

XXX.

◆ Exponent_Trait() [2/3]

int64_t Givaro::Exponent_Trait ( const GFqDom< int64_t > &  F)
inline

XXX.

◆ Exponent_Trait() [3/3]

int64_t Givaro::Exponent_Trait ( const Extension< BaseField > &  F)

XXX.

◆ inv()

Integer & inv ( Integer u,
const Integer a,
const Integer b 
)

Modular inverse.

Inverse.

Parameters
a
b
[out]uis set to $a^{-1}$ modulo b

◆ invin()

Integer & invin ( Integer u,
const Integer b 
)
Parameters
u
b

◆ gcd() [1/4]

Integer gcd ( const Integer a,
const Integer b 
)
Parameters
a,bintegers
Returns
gcd(a,b)
Examples
examples/Integer/ProbLucas.C.

◆ gcd() [2/4]

Integer gcd ( Integer u,
Integer v,
const Integer a,
const Integer b 
)

◆ gcd() [3/4]

Integer & gcd ( Integer g,
const Integer a,
const Integer b 
)

◆ gcd() [4/4]

Integer & gcd ( Integer g,
Integer u,
Integer v,
const Integer a,
const Integer b 
)

◆ pp()

Integer pp ( const Integer P,
const Integer Q 
)
Parameters
P,Qparams

◆ lcm() [1/2]

Integer & lcm ( Integer g,
const Integer a,
const Integer b 
)
Parameters
g,a,b
Returns
g=lcm(a,b)

◆ lcm() [2/2]

Integer lcm ( const Integer a,
const Integer b 
)
Parameters
a,b

◆ pow() [1/12]

Integer & pow ( Integer Res,
const Integer n,
const int64_t  l 
)

return $n^l$

Parameters
Res,n,l
Examples
examples/Integer/ProbLucas.C.

◆ pow() [2/12]

Integer & pow ( Integer Res,
const uint64_t  n,
const uint64_t  l 
)

◆ pow() [3/12]

Integer & pow ( Integer Res,
const Integer n,
const uint64_t  l 
)

◆ pow() [4/12]

Integer& Givaro::pow ( Integer Res,
const Integer n,
const int32_t  l 
)

◆ pow() [5/12]

Integer& Givaro::pow ( Integer Res,
const Integer n,
const uint32_t  l 
)

◆ pow() [6/12]

Integer pow ( const Integer n,
const int64_t  l 
)

return $n^l$

Parameters
n,l

◆ pow() [7/12]

Integer pow ( const Integer n,
const uint64_t  l 
)

◆ pow() [8/12]

Integer Givaro::pow ( const Integer n,
const int32_t  l 
)

◆ pow() [9/12]

Integer Givaro::pow ( const Integer n,
const uint32_t  l 
)

◆ powmod() [1/10]

Integer & powmod ( Integer Res,
const Integer n,
const uint64_t  e,
const Integer m 
)

◆ powmod() [2/10]

Integer & powmod ( Integer Res,
const Integer n,
const int64_t  e,
const Integer m 
)

◆ powmod() [3/10]

Integer& Givaro::powmod ( Integer Res,
const Integer n,
const uint32_t  e,
const Integer m 
)

◆ powmod() [4/10]

Integer& Givaro::powmod ( Integer Res,
const Integer n,
const int32_t  e,
const Integer m 
)

◆ powmod() [5/10]

Integer & powmod ( Integer Res,
const Integer n,
const Integer e,
const Integer m 
)

◆ powmod() [6/10]

Integer powmod ( const Integer n,
const uint64_t  e,
const Integer m 
)

return $n^e \mod m$.

Parameters
n,e,m

◆ powmod() [7/10]

Integer powmod ( const Integer n,
const int64_t  e,
const Integer m 
)

◆ powmod() [8/10]

Integer Givaro::powmod ( const Integer n,
const uint32_t  e,
const Integer m 
)

◆ powmod() [9/10]

Integer Givaro::powmod ( const Integer n,
const int32_t  e,
const Integer m 
)

◆ powmod() [10/10]

Integer powmod ( const Integer n,
const Integer e,
const Integer m 
)

◆ sign() [1/2]

int32_t Givaro::sign ( const Integer a)
Parameters
a

◆ compare() [1/2]

int32_t compare ( const Integer a,
const Integer b 
)
Parameters
ainteger
binteger
Returns
1 if $a > b$, 0 if $a = b$ and -1 otherwise.

◆ absCompare() [1/10]

int32_t absCompare ( const Integer a,
const Integer b 
)
Parameters
ainteger
binteger
Returns
1 if $|a| > |b|$, 0 if $|a| = |b|$ and -1 otherwise.

◆ absCompare() [2/10]

int32_t absCompare ( const Integer a,
const double  b 
)

◆ absCompare() [3/10]

int32_t absCompare ( const Integer a,
const float  b 
)

◆ absCompare() [4/10]

int32_t absCompare ( const Integer a,
const uint64_t  b 
)

◆ absCompare() [5/10]

int32_t Givaro::absCompare ( const Integer a,
const unsigned  b 
)

◆ absCompare() [6/10]

int32_t absCompare ( const Integer a,
const int64_t  b 
)

◆ absCompare() [7/10]

int32_t absCompare ( const Integer a,
const int32_t  b 
)

◆ absCompare() [8/10]

int32_t Givaro::absCompare ( const T  a,
const Integer b 
)

◆ isZero() [1/8]

int32_t isZero ( const Integer a)
Parameters
a
Examples
examples/Integer/ProbLucas.C.

◆ nonZero()

int32_t nonZero ( const Integer a)
Parameters
a

◆ isOne() [1/2]

int32_t isOne ( const Integer a)
Parameters
a
Examples
examples/Integer/ProbLucas.C.

◆ isMOne() [1/2]

int32_t isMOne ( const Integer a)

◆ fact()

Integer fact ( uint64_t  l)
Parameters
l

◆ sqrt() [1/2]

Integer sqrt ( const Integer p)
Parameters
p
Examples
examples/Integer/ProbLucas.C.

◆ sqrtrem() [1/2]

Integer sqrtrem ( const Integer p,
Integer rem 
)
Parameters
p,rem

◆ sqrt() [2/2]

Integer & sqrt ( Integer r,
const Integer p 
)
Parameters
r,p

◆ sqrtrem() [2/2]

Integer & sqrtrem ( Integer r,
const Integer p,
Integer rem 
)
Parameters
r,p,rem

◆ root()

bool root ( Integer q,
const Integer a,
uint32_t  n 
)

◆ logp()

int64_t logp ( const Integer a,
const Integer p 
)
Parameters
a,p

◆ logtwo()

double logtwo ( const Integer a)
Parameters
a
Examples
examples/Integer/ProbLucas.C.

◆ naturallog()

double naturallog ( const Integer a)
Parameters
a

◆ swap()

void swap ( Integer a,
Integer b 
)

swap

Parameters
a,b

◆ isperfectpower()

int32_t isperfectpower ( const Integer n)

◆ abs() [1/2]

Integer abs ( const Integer n)

◆ jacobi()

int32_t jacobi ( const Integer u,
const Integer v 
)

◆ legendre()

int32_t legendre ( const Integer u,
const Integer v 
)

◆ isOdd()

bool isOdd ( const Integer a)

Tests parity of an integer.

parity of an integer

Parameters
ainteger
Returns
1 if odd, 0 if even

◆ length() [1/2]

uint64_t length ( const Integer a)
Parameters
a
Bug:
JGD 23.04.2012: shouldn't it be "mp_limb_t" instead of "uint64_t"?
Bug:
JGD 23.04.2012: shouldn't it be "mp_limb_t" instead of "uint64_t"?

◆ operator>>() [2/5]

std::istream & operator>> ( std::istream &  i,
Integer n 
)

in operator.

Parameters
iinput stream
ninteger to be built

◆ operator<<() [3/10]

std::ostream & operator<< ( std::ostream &  o,
const Integer n 
)
Parameters
ooutput stream
ninteger to be printed

◆ absOutput()

std::ostream & absOutput ( std::ostream &  o,
const Integer n 
)
Parameters
ooutput
ninteger

◆ Caster() [1/6]

Integer& Givaro::Caster ( Integer t,
const RecInt::ruint< K > &  n 
)

◆ Caster() [2/6]

Integer& Givaro::Caster ( Integer t,
const RecInt::rint< K > &  n 
)

◆ Caster() [3/6]

RecInt::ruint<K>& Givaro::Caster ( RecInt::ruint< K > &  t,
const Integer n 
)

◆ Caster() [4/6]

RecInt::rint<K>& Givaro::Caster ( RecInt::rint< K > &  t,
const Integer n 
)

◆ operator+() [1/6]

Integer Givaro::operator+ ( const int32_t  l,
const Integer n 
)
Parameters
l,nto be added

◆ operator+() [2/6]

Integer Givaro::operator+ ( const uint32_t  l,
const Integer n 
)

◆ operator+() [3/6]

Integer Givaro::operator+ ( const int64_t  l,
const Integer n 
)

◆ operator+() [4/6]

Integer Givaro::operator+ ( const uint64_t  l,
const Integer n 
)

◆ absCompare() [9/10]

int32_t Givaro::absCompare ( const Integer a,
const uint32_t  b 
)

◆ operator!=() [1/8]

int32_t Givaro::operator!= ( double  l,
const Integer n 
)

◆ operator!=() [2/8]

int32_t Givaro::operator!= ( float  l,
const Integer n 
)

◆ operator!=() [3/8]

int32_t Givaro::operator!= ( int32_t  l,
const Integer n 
)

◆ operator!=() [4/8]

int32_t Givaro::operator!= ( int64_t  l,
const Integer n 
)

◆ operator!=() [5/8]

int32_t Givaro::operator!= ( uint64_t  l,
const Integer n 
)

◆ operator!=() [6/8]

int32_t Givaro::operator!= ( uint32_t  l,
const Integer n 
)
Parameters
l,ninteger
Returns
1 iff l == n

◆ operator==() [1/8]

int32_t Givaro::operator== ( double  l,
const Integer n 
)

◆ operator==() [2/8]

int32_t Givaro::operator== ( float  l,
const Integer n 
)

◆ operator==() [3/8]

int32_t Givaro::operator== ( int32_t  l,
const Integer n 
)

◆ operator==() [4/8]

int32_t Givaro::operator== ( int64_t  l,
const Integer n 
)

◆ operator==() [5/8]

int32_t Givaro::operator== ( uint64_t  l,
const Integer n 
)

◆ operator==() [6/8]

int32_t Givaro::operator== ( uint32_t  l,
const Integer n 
)
Parameters
l,nintegers to compare

◆ operator>() [1/8]

int32_t Givaro::operator> ( double  l,
const Integer n 
)

◆ operator>() [2/8]

int32_t Givaro::operator> ( float  l,
const Integer n 
)

◆ operator>() [3/8]

int32_t Givaro::operator> ( int32_t  l,
const Integer n 
)

◆ operator>() [4/8]

int32_t Givaro::operator> ( int64_t  l,
const Integer n 
)

◆ operator>() [5/8]

int32_t Givaro::operator> ( uint64_t  l,
const Integer n 
)

◆ operator>() [6/8]

int32_t Givaro::operator> ( uint32_t  l,
const Integer n 
)
Parameters
l,nintegers to compare

◆ operator<() [1/8]

int32_t Givaro::operator< ( double  l,
const Integer n 
)

◆ operator<() [2/8]

int32_t Givaro::operator< ( float  l,
const Integer n 
)

◆ operator<() [3/8]

int32_t Givaro::operator< ( int32_t  l,
const Integer n 
)

◆ operator<() [4/8]

int32_t Givaro::operator< ( int64_t  l,
const Integer n 
)

◆ operator<() [5/8]

int32_t Givaro::operator< ( uint64_t  l,
const Integer n 
)

◆ operator<() [6/8]

int32_t Givaro::operator< ( uint32_t  l,
const Integer n 
)
Parameters
l,nintegers to compare

◆ operator>=() [1/8]

int32_t Givaro::operator>= ( double  l,
const Integer n 
)

◆ operator>=() [2/8]

int32_t Givaro::operator>= ( float  l,
const Integer n 
)

◆ operator>=() [3/8]

int32_t Givaro::operator>= ( int32_t  l,
const Integer n 
)

◆ operator>=() [4/8]

int32_t Givaro::operator>= ( int64_t  l,
const Integer n 
)

◆ operator>=() [5/8]

int32_t Givaro::operator>= ( uint64_t  l,
const Integer n 
)

◆ operator>=() [6/8]

int32_t Givaro::operator>= ( uint32_t  l,
const Integer n 
)
Parameters
l,nintegers to compare

◆ operator<=() [1/8]

int32_t Givaro::operator<= ( double  l,
const Integer n 
)

◆ operator<=() [2/8]

int32_t Givaro::operator<= ( float  l,
const Integer n 
)

◆ operator<=() [3/8]

int32_t Givaro::operator<= ( int32_t  l,
const Integer n 
)

◆ operator<=() [4/8]

int32_t Givaro::operator<= ( int64_t  l,
const Integer n 
)

◆ operator<=() [5/8]

int32_t Givaro::operator<= ( uint64_t  l,
const Integer n 
)

◆ operator<=() [6/8]

int32_t Givaro::operator<= ( uint32_t  l,
const Integer n 
)
Parameters
l,nintegers to compare

◆ isZero() [2/8]

int32_t Givaro::isZero ( const int16_t  a)

◆ isZero() [3/8]

int32_t Givaro::isZero ( const int32_t  a)

◆ isZero() [4/8]

int32_t Givaro::isZero ( const int64_t  a)

◆ isZero() [5/8]

int32_t Givaro::isZero ( const uint16_t  a)

◆ isZero() [6/8]

int32_t Givaro::isZero ( const uint32_t  a)

◆ isZero() [7/8]

int32_t Givaro::isZero ( const uint64_t  a)

◆ operator/() [1/6]

Integer Givaro::operator/ ( const int32_t  l,
const Integer n 
)

◆ operator/() [2/6]

Integer Givaro::operator/ ( const int64_t  l,
const Integer n 
)

◆ operator/() [3/6]

Integer Givaro::operator/ ( const uint32_t  l,
const Integer n 
)

◆ operator/() [4/6]

Integer Givaro::operator/ ( const uint64_t  l,
const Integer n 
)

◆ kronecker()

int32_t Givaro::kronecker ( const Integer u,
const Integer v 
)

◆ operator%() [1/4]

Integer Givaro::operator% ( const int32_t  l,
const Integer n 
)

◆ operator%() [2/4]

Integer Givaro::operator% ( const int64_t  l,
const Integer n 
)
Parameters
l
n
Returns
nl

◆ operator%() [3/4]

Integer Givaro::operator% ( const uint32_t  l,
const Integer n 
)

◆ operator%() [4/4]

Integer Givaro::operator% ( const uint64_t  l,
const Integer n 
)

◆ operator*() [1/7]

Integer Givaro::operator* ( const int32_t  l,
const Integer n 
)
Parameters
l,nto be multpct

◆ operator*() [2/7]

Integer Givaro::operator* ( const uint32_t  l,
const Integer n 
)

◆ operator*() [3/7]

Integer Givaro::operator* ( const int64_t  l,
const Integer n 
)

◆ operator*() [4/7]

Integer Givaro::operator* ( const uint64_t  l,
const Integer n 
)

◆ operator-() [1/6]

Integer Givaro::operator- ( const int32_t  l,
const Integer n 
)
Parameters
l,nto be substracted

◆ operator-() [2/6]

Integer Givaro::operator- ( const uint32_t  l,
const Integer n 
)

◆ operator-() [3/6]

Integer Givaro::operator- ( const int64_t  l,
const Integer n 
)

◆ operator-() [4/6]

Integer Givaro::operator- ( const uint64_t  l,
const Integer n 
)

◆ Add_Curve()

void Givaro::Add_Curve ( const Integer n,
const Integer  A,
const Integer ax,
const Integer az,
Integer cx,
Integer cz 
)
inline

◆ one_Mul_Curve()

void Givaro::one_Mul_Curve ( const Integer n,
const Integer  A,
const Integer mm,
const Integer nn,
const Integer px,
const Integer pz,
Integer ax,
Integer az 
)
inline

◆ one_Mul_Curve2()

void Givaro::one_Mul_Curve2 ( const Integer n,
const Integer  A,
const Integer mm,
const Integer nn,
const Integer px,
const Integer pz,
Integer aax,
Integer aaz 
)
inline

◆ Mul_Curve()

void Givaro::Mul_Curve ( const Integer n,
Integer Ai,
const Integer mm,
const Integer nn,
const Integer B1,
Integer Xi,
Integer Zi 
)
inline

◆ ppin()

Integer& Givaro::ppin ( Integer res,
const Integer prime 
)
inline

◆ operator<<() [4/10]

std::ostream& Givaro::operator<< ( std::ostream &  o,
const GivMMInfo T 
)
inline

IO.

◆ compare() [2/2]

int compare ( const Rational a,
const Rational b 
)

◆ absCompare() [10/10]

int absCompare ( const Rational a,
const Rational b 
)

◆ power() [1/2]

template double Givaro::power ( double  x,
unsigned int  p 
)

◆ operator>>() [3/5]

std::istream & operator>> ( std::istream &  in,
Rational r 
)

◆ pow() [10/12]

const Rational pow ( const Rational r,
const int64_t  l 
)

◆ floor()

const Integer floor ( const Rational r)

◆ ceil()

const Integer ceil ( const Rational r)

◆ round()

const Integer round ( const Rational r)

◆ trunc()

const Integer trunc ( const Rational r)

◆ abs() [2/2]

const Rational abs ( const Rational r)
inline

◆ pow() [11/12]

const Rational Givaro::pow ( const Rational n,
uint  l 
)

◆ pow() [12/12]

const Rational Givaro::pow ( const Rational n,
uint64_t  l 
)

◆ length() [2/2]

uint64_t length ( const Rational r)
inline

◆ sign() [2/2]

int sign ( const Rational r)
inline

◆ isZero() [8/8]

int isZero ( const Rational r)
inline

◆ isOne() [2/2]

int isOne ( const Rational r)
inline

◆ isMOne() [2/2]

int isMOne ( const Rational r)
inline

◆ isInteger()

int isInteger ( const Rational r)
inline

◆ operator!=() [7/8]

int Givaro::operator!= ( const Rational a,
const Rational b 
)
inline

◆ operator==() [7/8]

int Givaro::operator== ( const Rational a,
const Rational b 
)
inline

◆ operator<() [7/8]

int Givaro::operator< ( const Rational a,
const Rational b 
)
inline

◆ operator>() [7/8]

int Givaro::operator> ( const Rational a,
const Rational b 
)
inline

◆ operator<=() [7/8]

int Givaro::operator<= ( const Rational a,
const Rational b 
)
inline

◆ operator>=() [7/8]

int Givaro::operator>= ( const Rational a,
const Rational b 
)
inline

◆ operator+() [5/6]

const Rational Givaro::operator+ ( const Rational r,
const int  i 
)
inline

◆ operator-() [5/6]

const Rational Givaro::operator- ( const Rational r,
const int  i 
)
inline

◆ operator*() [5/7]

const Rational Givaro::operator* ( const Rational r,
const int  i 
)
inline

◆ operator/() [5/6]

const Rational Givaro::operator/ ( const Rational r,
const int  i 
)
inline

◆ operator+() [6/6]

const Rational Givaro::operator+ ( const int  i,
const Rational r 
)
inline

◆ operator-() [6/6]

const Rational Givaro::operator- ( const int  i,
const Rational r 
)
inline

◆ operator*() [6/7]

const Rational Givaro::operator* ( const int  i,
const Rational r 
)
inline

◆ operator/() [6/6]

const Rational Givaro::operator/ ( const int  i,
const Rational r 
)
inline

◆ operator<<() [5/10]

std::ostream& Givaro::operator<< ( std::ostream &  o,
const Rational a 
)
inline

◆ gcdext()

Storage_t & gcdext ( Storage_t &  d,
Storage_t &  u,
Storage_t &  v,
const Storage_t  a,
const Storage_t  b 
)
inline

Generalized extended GCD used by specialized Modular.

◆ extended_euclid() [1/2]

std::enable_if< std::is_floating_point< Storage_t >::value, Storage_t & >::type extended_euclid ( Storage_t &  x,
Storage_t &  d,
const Storage_t  a,
const Storage_t  b 
)
inline

Extended Euclidean algorithm computing only the Bezout coefficient for a.

◆ extended_euclid() [2/2]

std::enable_if<!std::is_floating_point< Storage_t >::value, Storage_t & >::type extended_euclid ( Storage_t &  x,
Storage_t &  d,
const Storage_t  a,
const Storage_t  b 
)
inline

◆ invext() [1/3]

Storage_t & invext ( Storage_t &  x,
Storage_t &  d,
const Storage_t  a,
const Storage_t  b 
)
inline

Generalized inversion used by specialized Modular.

◆ invext() [2/3]

Storage_t & invext ( Storage_t &  x,
const Storage_t  a,
const Storage_t  b 
)
inline

◆ invext() [3/3]

Storage_t invext ( const Storage_t  a,
const Storage_t  b 
)
inline

◆ _reduce() [1/2]

E & _reduce ( E &  x,
const E &  y,
const R &  p 
)
inline

◆ _reduce() [2/2]

E & _reduce ( E &  x,
const R &  p 
)
inline

◆ GenericAdd()

TElem & GenericAdd ( TElem &  r,
const TElem &  a,
const TElem &  b,
const RElem &  _p 
)
inline

◆ GenericAddIN()

TElem & GenericAddIN ( TElem &  r,
const TElem &  a,
const RElem &  _p 
)
inline

◆ _mul()

E & _mul ( E &  r,
const E &  a,
const E &  b,
const E &  p 
)

◆ _mulin() [1/2]

E& Givaro::_mulin ( E &  r,
const E &  a,
const E &  p,
const C &  pc 
)

◆ _mulin() [2/2]

E& Givaro::_mulin ( E &  r,
const E &  a,
const E &  p,
const E &  pc 
)

◆ _axpy()

E & _axpy ( E &  r,
const E &  a,
const E &  b,
const E &  c,
const E &  p 
)
inline

◆ _axpyin()

E & _axpyin ( E &  r,
const E &  a,
const E &  b,
const E &  p 
)
inline

◆ _maxpyin()

E & _maxpyin ( E &  r,
const E &  a,
const E &  b,
const E &  p 
)

◆ Moderin() [1/3]

_Element& Givaro::Moderin ( _Element &  t,
const _Element &  s 
)
inline

◆ Moder() [1/3]

_Element Givaro::Moder ( const _Element &  t,
const _Element &  s 
)
inline

◆ Moder() [2/3]

float Givaro::Moder ( const float &  t,
const float &  s 
)
inline

◆ Moderin() [2/3]

float& Givaro::Moderin ( float &  t,
const float &  s 
)
inline

◆ Moder() [3/3]

double Givaro::Moder ( const double &  t,
const double &  s 
)
inline

◆ Moderin() [3/3]

double& Givaro::Moderin ( double &  t,
const double &  s 
)
inline

◆ Caster() [5/6]

Target& Givaro::Caster ( Target &  t,
const Source &  s 
)

◆ Caster() [6/6]

Target Givaro::Caster ( const Source &  s)

◆ operator<<() [6/10]

std::ostream& Givaro::operator<< ( std::ostream &  o,
const GivError E 
)

◆ GIVINTLOG()

unsigned Givaro::GIVINTLOG ( const T &  a)
inline

Integer log.

◆ power() [2/2]

TT Givaro::power ( const TT  n,
const UU  l 
)

Powering.

◆ dom_power()

TT& Givaro::dom_power ( TT &  res,
const TT &  n,
uint64_t  l,
const D &  F 
)

◆ operator<<() [7/10]

std::ostream& Givaro::operator<< ( std::ostream &  o,
const BaseTimer BT 
)
inline

I/O.

◆ operator<<() [8/10]

std::ostream& Givaro::operator<< ( std::ostream &  o,
const Timer T 
)
inline

I/O.

◆ value()

int64_t Givaro::value ( const Degree d)
inline

value

◆ operator<<() [9/10]

std::ostream& Givaro::operator<< ( std::ostream &  o,
const Indeter X 
)

◆ operator>>() [4/5]

std::istream& Givaro::operator>> ( std::istream &  s_in,
Indeter X 
)

◆ operator==() [8/8]

int Givaro::operator== ( const Indeter i1,
const Indeter i2 
)
inline
Bug:
put elsewere. Inline members functions :

◆ operator!=() [8/8]

int Givaro::operator!= ( const Indeter i1,
const Indeter i2 
)
inline

◆ operator<=() [8/8]

int Givaro::operator<= ( const Indeter i1,
const Indeter i2 
)
inline

◆ operator<() [8/8]

int Givaro::operator< ( const Indeter i1,
const Indeter i2 
)
inline

◆ operator>=() [8/8]

int Givaro::operator>= ( const Indeter i1,
const Indeter i2 
)
inline

◆ operator>() [8/8]

int Givaro::operator> ( const Indeter i1,
const Indeter i2 
)
inline

◆ operator*() [7/7]

KSpace<Domain> Givaro::operator* ( const typename KSpace< Domain >::Scalar_t &  v,
const KSpace< Domain > &  U 
)

◆ dotprod()

void Givaro::dotprod ( typename Domain::Scalar_t &  dot,
const KSpace< Domain > &  U,
const KSpace< Domain > &  V 
)
inline

◆ operator<<() [10/10]

ostream& Givaro::operator<< ( ostream &  sout,
const KSpace< Domain > &  U 
)
inline

◆ operator>>() [5/5]

istream& Givaro::operator>> ( istream &  sin,
KSpace< Domain > &  U 
)
inline

◆ Formatted()

StructFormat<T,Tag> Givaro::Formatted ( const T &  val,
Tag  xx 
)