Main Page   Class Hierarchy   Alphabetical List   Compound List   File List   Compound Members   File Members  

AbstractRing Class Template Reference

Abstract Ring. More...

#include <algebra.h>

Inheritance diagram for AbstractRing:

AbstractGroup AbstractEuclideanDomain GFP2_ONB ModularArithmetic QuotientRing EuclideanDomainOf RingOfPolynomialsOver MontgomeryRepresentation GF2NP GF2NPP GF2NT List of all members.

Public Types

typedef T Element

Public Methods

 AbstractRing ()
 AbstractRing (const AbstractRing &source)
AbstractRing& operator= (const AbstractRing &source)
virtual bool IsUnit (const Element &a)const=0
virtual const Element& One ()const=0
virtual const Element& Multiply (const Element &a,const Element &b)const=0
virtual const Element& MultiplicativeInverse (const Element &a)const=0
virtual const Element& Square (const Element &a)const
virtual const Element& Divide (const Element &a,const Element &b)const
virtual Element Exponentiate (const Element &a,const Integer &e)const
virtual Element CascadeExponentiate (const Element &x,const Integer &e1,const Element &y,const Integer &e2)const
virtual void SimultaneousExponentiate (Element *results,const Element &base,const Integer *exponents,unsigned int exponentsCount)const
virtual const AbstractGroup<
T>& 
MultiplicativeGroup ()const

Detailed Description

template<class T> class AbstractRing

Abstract Ring.

Definition at line 44 of file algebra.h.


Member Typedef Documentation

template<class T>
typedef T AbstractRing<T>::Element
 

Reimplemented from AbstractGroup.

Definition at line 47 of file algebra.h.


Constructor & Destructor Documentation

template<class T>
AbstractRing<T>::AbstractRing<T> ( ) [inline]
 

Definition at line 49 of file algebra.h.

template<class T>
AbstractRing<T>::AbstractRing<T> ( const AbstractRing<T> & source ) [inline]
 

Definition at line 50 of file algebra.h.


Member Function Documentation

template<class T>
T AbstractRing< T >::CascadeExponentiate ( const Element & x,
const Integer & e1,
const Element & y,
const Integer & e2 ) const [virtual]
 

Definition at line 324 of file algebra.cpp.

template<class T>
const T & AbstractRing< T >::Divide ( const Element & a,
const Element & b ) const [virtual]
 

Definition at line 38 of file algebra.cpp.

template<class T>
T AbstractRing< T >::Exponentiate ( const Element & a,
const Integer & e ) const [virtual]
 

Definition at line 317 of file algebra.cpp.

template<class T>
const AbstractGroup< T > & AbstractRing<T>::MultiplicativeGroup<T> ( ) const [inline, virtual]
 

Definition at line 66 of file algebra.h.

template<class T>
const T & AbstractRing< T >::Square ( const Element & a ) const [virtual]
 

Definition at line 33 of file algebra.cpp.

template<class T>
AbstractRing<T> & AbstractRing<T>::operator= ( const AbstractRing<T> & source ) [inline]
 

Definition at line 51 of file algebra.h.


The documentation for this class was generated from the following files:
Generated at Mon Jan 15 01:16:40 2001 for Crypto++ by doxygen1.2.4 written by Dimitri van Heesch, © 1997-2000