Givaro
Public Types | Public Member Functions
FieldInterface< _Element > Struct Template Referenceabstract

#include <ring-interface.h>

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

Public Types

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

Public Member Functions

virtual _Element & div (_Element &r, const _Element &a, const _Element &b) const =0
 
virtual _Element & inv (_Element &r, const _Element &a) const =0
 
virtual _Element & divin (_Element &r, const _Element &a) const =0
 
virtual _Element & invin (_Element &r) const =0
 
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 bool isUnit (const Element &a) const =0
 
virtual bool areEqual (const Element &a, const Element &b) const =0
 
virtual Elementinit (Element &r) const =0
 
virtual Elementassign (Element &r, const Element &a) const =0
 
virtual Elementmul (Element &r, const Element &a, const Element &b) const =0
 
virtual Elementadd (Element &r, const Element &a, const Element &b) const =0
 
virtual Elementsub (Element &r, const Element &a, const Element &b) const =0
 
virtual Elementneg (Element &r, const Element &a) const =0
 
virtual Elementmulin (Element &r, const Element &a) const =0
 
virtual Elementaddin (Element &r, const Element &a) const =0
 
virtual Elementsubin (Element &r, const Element &a) const =0
 
virtual Elementnegin (Element &r) const =0
 
virtual Elementaxpy (Element &r, const Element &a, const Element &x, const Element &y) const =0
 
virtual Elementaxpyin (Element &r, const Element &a, const Element &x) const =0
 
virtual Elementaxmy (Element &r, const Element &a, const Element &x, const Element &y) const =0
 
virtual Elementaxmyin (Element &r, const Element &a, const Element &x) const =0
 
virtual Elementmaxpy (Element &r, const Element &a, const Element &x, const Element &y) const =0
 
virtual Elementmaxpyin (Element &r, const Element &a, const Element &x) const =0
 
virtual std::ostream & write (std::ostream &s) const =0
 
virtual std::ostream & write (std::ostream &s, const Element &a) const =0
 
virtual std::istream & read (std::istream &s, Element &a) const =0
 

Member Typedef Documentation

◆ Element

typedef _Element Element
inherited

◆ Element_ptr

typedef Element* Element_ptr
inherited

◆ ConstElement

typedef const Element ConstElement
inherited

◆ ConstElement_ptr

typedef const Element* ConstElement_ptr
inherited

Member Function Documentation

◆ div()

virtual _Element& div ( _Element &  r,
const _Element &  a,
const _Element &  b 
) const
pure virtual

Implemented in QField< Rational >.

◆ inv()

virtual _Element& inv ( _Element &  r,
const _Element &  a 
) const
pure virtual

Implemented in QField< Rational >.

◆ divin()

virtual _Element& divin ( _Element &  r,
const _Element &  a 
) const
pure virtual

Implemented in QField< Rational >.

◆ invin()

virtual _Element& invin ( _Element &  r) const
pure virtual

Implemented in QField< Rational >.

◆ isZero()

virtual bool isZero ( const Element a) const
pure virtualinherited

◆ isOne()

virtual bool isOne ( const Element a) const
pure virtualinherited

◆ isMOne()

virtual bool isMOne ( const Element a) const
pure virtualinherited

◆ isUnit()

virtual bool isUnit ( const Element a) const
pure virtualinherited

◆ areEqual()

virtual bool areEqual ( const Element a,
const Element b 
) const
pure virtualinherited

◆ init()

virtual Element& init ( Element r) const
pure virtualinherited

◆ assign()

virtual Element& assign ( Element r,
const Element a 
) const
pure virtualinherited

◆ mul()

virtual Element& mul ( Element r,
const Element a,
const Element b 
) const
pure virtualinherited

◆ add()

virtual Element& add ( Element r,
const Element a,
const Element b 
) const
pure virtualinherited

◆ sub()

virtual Element& sub ( Element r,
const Element a,
const Element b 
) const
pure virtualinherited

◆ neg()

virtual Element& neg ( Element r,
const Element a 
) const
pure virtualinherited

◆ mulin()

virtual Element& mulin ( Element r,
const Element a 
) const
pure virtualinherited

◆ addin()

virtual Element& addin ( Element r,
const Element a 
) const
pure virtualinherited

◆ subin()

virtual Element& subin ( Element r,
const Element a 
) const
pure virtualinherited

◆ negin()

virtual Element& negin ( Element r) const
pure virtualinherited

◆ axpy()

virtual Element& axpy ( Element r,
const Element a,
const Element x,
const Element y 
) const
pure virtualinherited

◆ axpyin()

virtual Element& axpyin ( Element r,
const Element a,
const Element x 
) const
pure virtualinherited

◆ axmy()

virtual Element& axmy ( Element r,
const Element a,
const Element x,
const Element y 
) const
pure virtualinherited

◆ axmyin()

virtual Element& axmyin ( Element r,
const Element a,
const Element x 
) const
pure virtualinherited

◆ maxpy()

virtual Element& maxpy ( Element r,
const Element a,
const Element x,
const Element y 
) const
pure virtualinherited

◆ maxpyin()

virtual Element& maxpyin ( Element r,
const Element a,
const Element x 
) const
pure virtualinherited

◆ write() [1/2]

virtual std::ostream& write ( std::ostream &  s) const
pure virtualinherited

◆ write() [2/2]

virtual std::ostream& write ( std::ostream &  s,
const Element a 
) const
pure virtualinherited

◆ read()

virtual std::istream& read ( std::istream &  s,
Element a 
) const
pure virtualinherited

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