Borderbasix

Public Member Functions | Public Attributes | List of all members
Z< p, T > Class Template Reference

#include <borderbasix/arithm/Zp.hpp>

Public Member Functions

 Z ()
 
template<typename TT >
 Z (TT n)
 
 Z (double n)
 
 Z (char *s)
 
 Z (const Z< p, T > &z)
 
Z< p, T > & operator= (const Z< p, T > &z)
 
Z< p, T > & operator+= (const Z< p, T > z)
 
Z< p, T > & operator-= (const Z< p, T > z)
 
Z< p, T > & operator*= (const Z< p, T > z)
 
Z< p, T > & operator/= (const Z< p, T > z)
 
bool operator== (const Z< p, T > &z) const
 
bool operator!= (const Z< p, T > &z) const
 
Z< p, T > operator+ (const Z< p, T > &b) const
 
Z< p, T > operator- (const Z< p, T > &b) const
 
template<typename Typ >
bool operator> (const Typ &b) const
 
Z< p, T > operator* (const Z< p, T > &b) const
 
Z< p, T > operator* (const int b) const
 
Z< p, T > operator/ (const Z< p, T > &b) const
 

Public Attributes

rep
 

Detailed Description

template<int p, class T = int>
class Z< p, T >

Integers modulo p. The number p should be a prime number, otherwise inversion and exponentiation may not be valid.

Constructor & Destructor Documentation

template<int p, class T = int>
Z< p, T >::Z ( )
inline
template<int p, class T = int>
template<typename TT >
Z< p, T >::Z ( TT  n)
inline
template<int p, class T = int>
Z< p, T >::Z ( double  n)
inline
template<int p, class T = int>
Z< p, T >::Z ( char *  s)
inline
template<int p, class T = int>
Z< p, T >::Z ( const Z< p, T > &  z)
inline

Member Function Documentation

template<int p, class T = int>
bool Z< p, T >::operator!= ( const Z< p, T > &  z) const
inline
template<int p, class T = int>
Z<p,T> Z< p, T >::operator* ( const Z< p, T > &  b) const
inline
template<int p, class T = int>
Z<p,T> Z< p, T >::operator* ( const int  b) const
inline
template<int p, class T = int>
Z<p,T>& Z< p, T >::operator*= ( const Z< p, T >  z)
inline
template<int p, class T = int>
Z<p,T> Z< p, T >::operator+ ( const Z< p, T > &  b) const
inline
template<int p, class T = int>
Z<p,T>& Z< p, T >::operator+= ( const Z< p, T >  z)
inline
template<int p, class T = int>
Z<p,T> Z< p, T >::operator- ( const Z< p, T > &  b) const
inline
template<int p, class T = int>
Z<p,T>& Z< p, T >::operator-= ( const Z< p, T >  z)
inline
template<int p, class T = int>
Z<p,T> Z< p, T >::operator/ ( const Z< p, T > &  b) const
inline
template<int p, typename T >
Z< p, T > & Z< p, T >::operator/= ( const Z< p, T >  z)
template<int p, class T = int>
Z<p,T>& Z< p, T >::operator= ( const Z< p, T > &  z)
inline
template<int p, class T = int>
bool Z< p, T >::operator== ( const Z< p, T > &  z) const
inline
template<int p, class T = int>
template<typename Typ >
bool Z< p, T >::operator> ( const Typ &  b) const
inline

Member Data Documentation

template<int p, class T = int>
T Z< p, T >::rep
Home  |  Download & InstallContributions