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

AbstractGroup Class Template Reference

Abstract Group. More...

#include <algebra.h>

Inheritance diagram for AbstractGroup:

AbstractRing EC2N ECP AbstractEuclideanDomain GFP2_ONB ModularArithmetic QuotientRing EuclideanDomainOf RingOfPolynomialsOver MontgomeryRepresentation GF2NP GF2NPP GF2NT List of all members.

Public Types

typedef T Element

Public Methods

virtual ~AbstractGroup ()
virtual bool Equal (const Element &a,const Element &b)const=0
virtual const Element& Zero ()const=0
virtual const Element& Add (const Element &a,const Element &b)const=0
virtual const Element& Inverse (const Element &a)const=0
virtual bool InversionIsFast ()const
virtual const Element& Double (const Element &a)const
virtual const Element& Subtract (const Element &a,const Element &b)const
virtual Element& Accumulate (Element &a,const Element &b)const
virtual Element& Reduce (Element &a,const Element &b)const
virtual Element ScalarMultiply (const Element &a,const Integer &e)const
virtual Element CascadeScalarMultiply (const Element &x,const Integer &e1,const Element &y,const Integer &e2)const
virtual void SimultaneousMultiply (Element *results,const Element &base,const Integer *exponents,unsigned int exponentsCount)const

Detailed Description

template<class T> class AbstractGroup

Abstract Group.

Definition at line 19 of file algebra.h.


Member Typedef Documentation

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

Definition at line 22 of file algebra.h.


Constructor & Destructor Documentation

template<class T>
AbstractGroup<T>::~AbstractGroup<T> ( ) [inline, virtual]
 

Definition at line 24 of file algebra.h.


Member Function Documentation

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

Definition at line 23 of file algebra.cpp.

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

Definition at line 100 of file algebra.cpp.

template<class T>
const T & AbstractGroup< T >::Double ( const Element & a ) const [virtual]
 

Definition at line 11 of file algebra.cpp.

template<class T>
bool AbstractGroup<T>::InversionIsFast ( ) const [inline, virtual]
 

Definition at line 30 of file algebra.h.

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

Definition at line 28 of file algebra.cpp.

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

Definition at line 93 of file algebra.cpp.

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

Definition at line 16 of file algebra.cpp.


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