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

#include <ring-interface.h>

+ Inheritance diagram for RingInterface< _Element >:

Public Types

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

Public Member Functions

virtual ~RingInterface ()=default
 
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::istream & read (std::istream &s, Element &a) const =0
 
virtual std::ostream & write (std::ostream &s, const Element &a) const =0
 

Member Typedef Documentation

◆ Element

typedef _Element Element

◆ Element_ptr

typedef Element* Element_ptr

◆ ConstElement

typedef const Element ConstElement

◆ ConstElement_ptr

typedef const Element* ConstElement_ptr

Constructor & Destructor Documentation

◆ ~RingInterface()

virtual ~RingInterface ( )
virtualdefault

Member Function Documentation

◆ isZero()

virtual bool isZero ( const Element a) const
pure virtual

◆ isOne()

virtual bool isOne ( const Element a) const
pure virtual

◆ isMOne()

virtual bool isMOne ( const Element a) const
pure virtual

◆ isUnit()

virtual bool isUnit ( const Element a) const
pure virtual

◆ areEqual()

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

◆ init()

virtual Element& init ( Element r) const
pure virtual

◆ assign()

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

◆ mul()

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

◆ add()

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

◆ sub()

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

◆ neg()

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

◆ mulin()

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

◆ addin()

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

◆ subin()

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

◆ negin()

virtual Element& negin ( Element r) const
pure virtual

◆ axpy()

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

◆ axpyin()

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

◆ axmy()

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

◆ axmyin()

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

◆ maxpy()

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

◆ maxpyin()

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

◆ write() [1/2]

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

◆ read()

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

◆ write() [2/2]

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

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