Givaro
Protected Member Functions
ZRing< _Element > Class Template Reference

Class ZRing. More...

#include <zring.h>

Inherits UnparametricOperations< _Element >.

Public Member Functions

Comparison Predicates
bool areEqual (const Element &x, const Element &y) const
 x == y
 
Arithmetic Operations

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

Element & add (Element &x, const Element &y, const Element &z) const
 x := y + z
 
Element & sub (Element &x, const Element &y, const Element &z) const
 x := y - z
 
Element & mul (Element &x, const Element &y, const Element &z) const
 x := y*z
 
Element & div (Element &x, const Element &y, const Element &z) const
 x := y/z
 
Element & mod (Element &x, const Element &y, const Element &z) const
 x := y mod z
 
Element & neg (Element &x, const Element &y) const
 x := -y
 
Element & inv (Element &x, const Element &y) const
 x := 1/y
 
Element & axpy (Element &z, const Element &a, const Element &x, const Element &y) const
 z := a*x + y
 
Element & axpyin (Element &z, const Element &a, const Element &x) const
 z := a*x + z
 
Element & axmy (Element &z, const Element &a, const Element &x, const Element &y) const
 z := a*x - y
 
Element & axmyin (Element &z, const Element &a, const Element &x) const
 z := a*x - z
 
Element & maxpy (Element &z, const Element &a, const Element &x, const Element &y) const
 z := y - a*x
 
Element & maxpyin (Element &z, const Element &a, const Element &x) const
 z := z - a*x
 
Inplace Arithmetic Operations

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

Element & addin (Element &x, const Element &y) const
 x := x + y
 
Element & subin (Element &x, const Element &y) const
 x := x - y
 
Element & mulin (Element &x, const Element &y) const
 x := x*y
 
Element & divin (Element &x, const Element &y) const
 x := x/y
 
Element & modin (Element &x, const Element &y) const
 x := x mod y
 
Element & negin (Element &x) const
 x := -x
 
Element & invin (Element &x) const
 x := 1/x
 
Input/Output Operations
std::ostream & write (std::ostream &os, std::string F) const
 Print field. More...
 
std::istream & read (std::istream &is) const
 Read field. More...
 

Protected Member Functions

void RationalReconstruction (Element &a, Element &b, const Element &f, const Element &m, const Element &k, bool forcereduce, bool recursive) const
 Rational number reconstruction. More...
 

Detailed Description

template<class _Element>
class Givaro::ZRing< _Element >

Class ZRing.

Ring of integers, using the _Element base type.

Member Function Documentation

◆ RationalReconstruction()

void RationalReconstruction ( Element &  a,
Element &  b,
const Element &  f,
const Element &  m,
const Element &  k,
bool  forcereduce,
bool  recursive 
) const
inlineprotected

Rational number reconstruction.

$\frac{n}{d} \equiv f \mod m$, with $\vert n \vert <k$ and $0 < \vert d \vert \leq \frac{f}{k}$.

Bibliography:
  • von zur Gathen & Gerhard, Modern Computer Algebra, 5.10, Cambridge Univ. Press 1999

◆ write()

std::ostream& write ( std::ostream &  os,
std::string  F 
) const
inlineinherited

Print field.

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

◆ read()

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.

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