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

QuotientRing Class Template Reference

Quotient Ring. More...

#include <algebra.h>

Inheritance diagram for QuotientRing:

AbstractRing AbstractGroup GF2NP GF2NPP GF2NT List of all members.

Public Types

typedef T EuclideanDomain
typedef T::Element Element

Public Methods

 QuotientRing (const EuclideanDomain &domain,const Element &modulus)
const EuclideanDomain& GetDomain ()const
const Element& GetModulus ()const
bool Equal (const Element &a,const Element &b)const
const Element& Zero ()const
const Element& Add (const Element &a,const Element &b)const
Element& Accumulate (Element &a,const Element &b)const
const Element& Inverse (const Element &a)const
const Element& Subtract (const Element &a,const Element &b)const
Element& Reduce (Element &a,const Element &b)const
const Element& Double (const Element &a)const
bool IsUnit (const Element &a)const
const Element& One ()const
const Element& Multiply (const Element &a,const Element &b)const
const Element& Square (const Element &a)const
const Element& MultiplicativeInverse (const Element &a)const

Protected Attributes

EuclideanDomain m_domain
Element m_modulus

Detailed Description

template<class T> class QuotientRing

Quotient Ring.

Definition at line 215 of file algebra.h.


Member Typedef Documentation

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

Reimplemented from AbstractRing.

Definition at line 219 of file algebra.h.

template<class T>
typedef T QuotientRing<T>::EuclideanDomain
 

Definition at line 218 of file algebra.h.


Constructor & Destructor Documentation

template<class T>
QuotientRing<T>::QuotientRing<T> ( const EuclideanDomain & domain,
const Element & modulus ) [inline]
 

Definition at line 221 of file algebra.h.


Member Function Documentation

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

Reimplemented from AbstractGroup.

Definition at line 239 of file algebra.h.

template<class T>
const Element & QuotientRing<T>::Add ( const Element & a,
const Element & b ) const [inline, virtual]
 

Reimplemented from AbstractGroup.

Definition at line 236 of file algebra.h.

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

Reimplemented from AbstractGroup.

Definition at line 251 of file algebra.h.

template<class T>
bool QuotientRing<T>::Equal ( const Element & a,
const Element & b ) const [inline, virtual]
 

Reimplemented from AbstractGroup.

Definition at line 230 of file algebra.h.

template<class T>
const EuclideanDomain & QuotientRing<T>::GetDomain ( ) const [inline]
 

Definition at line 224 of file algebra.h.

template<class T>
const Element & QuotientRing<T>::GetModulus ( ) const [inline]
 

Definition at line 227 of file algebra.h.

template<class T>
const Element & QuotientRing<T>::Inverse ( const Element & a ) const [inline, virtual]
 

Reimplemented from AbstractGroup.

Definition at line 242 of file algebra.h.

template<class T>
bool QuotientRing<T>::IsUnit ( const Element & a ) const [inline, virtual]
 

Reimplemented from AbstractRing.

Definition at line 254 of file algebra.h.

template<class T>
const QuotientRing< T >::Element & QuotientRing< T >::MultiplicativeInverse ( const Element & a ) const [virtual]
 

Reimplemented from AbstractRing.

Definition at line 66 of file algebra.cpp.

template<class T>
const Element & QuotientRing<T>::Multiply ( const Element & a,
const Element & b ) const [inline, virtual]
 

Reimplemented from AbstractRing.

Definition at line 260 of file algebra.h.

template<class T>
const Element & QuotientRing<T>::One ( ) const [inline, virtual]
 

Reimplemented from AbstractRing.

Definition at line 257 of file algebra.h.

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

Reimplemented from AbstractGroup.

Definition at line 248 of file algebra.h.

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

Reimplemented from AbstractRing.

Definition at line 263 of file algebra.h.

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

Reimplemented from AbstractGroup.

Definition at line 245 of file algebra.h.

template<class T>
const Element & QuotientRing<T>::Zero ( ) const [inline, virtual]
 

Reimplemented from AbstractGroup.

Definition at line 233 of file algebra.h.


Member Data Documentation

template<class T>
EuclideanDomain QuotientRing<T>::m_domain [protected]
 

Definition at line 269 of file algebra.h.

template<class T>
Element QuotientRing<T>::m_modulus [protected]
 

Definition at line 270 of file algebra.h.


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