Givaro
Public Types | Public Member Functions
UnparametricOperations< _Element > Class Template Referenceabstract

#include <unparametric-operations.h>

+ Inheritance diagram for UnparametricOperations< _Element >:
+ Collaboration diagram for UnparametricOperations< _Element >:

Public Types

typedef _Element Element
 
typedef ElementElement_ptr
 
typedef const Element ConstElement
 
typedef const ElementConstElement_ptr
 

Public Member Functions

 UnparametricOperations ()
 
virtual bool isZero (const Element &a) const =0
 
virtual bool isOne (const Element &a) const =0
 
virtual bool isMOne (const Element &a) const =0
 
virtual ~UnparametricOperations ()
 
Data Object Management.

first argument is set and the value is also returned.

Elementinit (Element &x) const
 
Elementassign (Element &x, const Element &y) const
 
Comparison Predicates
bool areEqual (const Element &x, const Element &y) const
 x == y More...
 
Arithmetic Operations

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

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

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

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

Member Typedef Documentation

typedef _Element Element
typedef Element* Element_ptr
inherited
typedef const Element ConstElement
inherited
typedef const Element* ConstElement_ptr
inherited

Constructor & Destructor Documentation

virtual ~UnparametricOperations ( )
inlinevirtual

Member Function Documentation

Element& init ( Element x) const
inline
Element& assign ( Element x,
const Element y 
) const
inline
bool areEqual ( const Element x,
const Element y 
) const
inlinevirtual

x == y

Implements RingInterface< _Element >.

Element& add ( Element x,
const Element y,
const Element z 
) const
inlinevirtual

x := y + z

Implements RingInterface< _Element >.

Element& sub ( Element x,
const Element y,
const Element z 
) const
inlinevirtual

x := y - z

Implements RingInterface< _Element >.

Element& mul ( Element x,
const Element y,
const Element z 
) const
inlinevirtual

x := y*z

Implements RingInterface< _Element >.

Element& div ( Element x,
const Element y,
const Element z 
) const
inline

x := y/z

Element& mod ( Element x,
const Element y,
const Element z 
) const
inline

x := y mod z

Element& neg ( Element x,
const Element y 
) const
inlinevirtual

x := -y

Implements RingInterface< _Element >.

Element& inv ( Element x,
const Element y 
) const
inline

x := 1/y

Element& axpy ( Element z,
const Element a,
const Element x,
const Element y 
) const
inlinevirtual

z := a*x + y

Implements RingInterface< _Element >.

Element& axpyin ( Element z,
const Element a,
const Element x 
) const
inlinevirtual

z := a*x + z

Implements RingInterface< _Element >.

Element& axmy ( Element z,
const Element a,
const Element x,
const Element y 
) const
inlinevirtual

z := a*x - y

Implements RingInterface< _Element >.

Element& axmyin ( Element z,
const Element a,
const Element x 
) const
inlinevirtual

z := a*x - z

Implements RingInterface< _Element >.

Element& maxpy ( Element z,
const Element a,
const Element x,
const Element y 
) const
inlinevirtual

z := y - a*x

Implements RingInterface< _Element >.

Element& maxpyin ( Element z,
const Element a,
const Element x 
) const
inlinevirtual

z := z - a*x

Implements RingInterface< _Element >.

Element& addin ( Element x,
const Element y 
) const
inlinevirtual

x := x + y

Implements RingInterface< _Element >.

Element& subin ( Element x,
const Element y 
) const
inlinevirtual

x := x - y

Implements RingInterface< _Element >.

Element& mulin ( Element x,
const Element y 
) const
inlinevirtual

x := x*y

Implements RingInterface< _Element >.

Element& divin ( Element x,
const Element y 
) const
inline

x := x/y

Element& modin ( Element x,
const Element y 
) const
inline

x := x mod y

Element& negin ( Element x) const
inlinevirtual

x := -x

Implements RingInterface< _Element >.

Element& invin ( Element x) const
inline

x := 1/x

std::ostream& write ( std::ostream &  os) const
inline

Print field.

Returns
output stream to which field is written.
Parameters
osoutput stream to which field is written.
std::ostream& write ( std::ostream &  os,
std::string  F 
) const
inline

Print field.

Returns
output stream to which field is written.
Parameters
osoutput stream to which field is written.
std::istream& read ( std::istream &  is) const
inline

Read field.

Returns
input stream from which field is read.
Parameters
isinput stream from which field is read.
std::ostream& write ( std::ostream &  os,
const Element x 
) const
inline

Print field element.

Returns
output stream to which field element is written.
Parameters
osoutput stream to which field element is written.
xfield element.
virtual std::istream& read ( std::istream &  is,
Element x 
) const
inlinevirtual

Read field element.

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

Reimplemented in ZRing< _Element >.

virtual bool isZero ( const Element a) const
pure virtualinherited
virtual bool isOne ( const Element a) const
pure virtualinherited
virtual bool isMOne ( const Element a) const
pure virtualinherited

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