HElib: PAlgebraModBase Class Reference

HElib 1.0 Implementing Homomorphic Encryption

- Main Page
- Classes
- Files

- Class List
- Class Index
- Class Hierarchy
- Class Members

All Classes Files Functions Variables Friends Pages
Public Member Functions | List of all members
PAlgebraModBase Class Referenceabstract

Virtual base class for PAlgebraMod. More...

`#include <PAlgebra.h>`

Inheritance diagram for PAlgebraModBase:

## Public Member Functions
virtual PAlgebraModBase * | clone () const =0
virtual PA_tag | getTag () const =0
| Returns the type tag: PA_GF2_tag or PA_zz_p_tag.
virtual const PAlgebra & | getZMStar () const =0
| Returns reference to underlying PAlgebra object.
virtual const vector< ZZX > & | getFactorsOverZZ () const =0
| Returns reference to the factorization of Phi_m(X) mod p^r, but as ZZX's.
virtual long | getR () const =0
| The value r.
virtual long | getPPowR () const =0
| The value p^r.
virtual void | restoreContext () const =0
| Restores the NTL context for p^r.
virtual void | genMaskTable () const =0
| Generates the "mask table" that is used to support rotations. More...

## Detailed Description

Virtual base class for PAlgebraMod.

## Member Function Documentation

virtual void PAlgebraModBase::genMaskTable | ( |  | ) | const
| pure virtual

Generates the "mask table" that is used to support rotations.

maskTable[i][j] is a polynomial representation of a mask that is 1 in all slots whose i'th coordinate is at least j, and 0 elsewhere. We have:

      maskTable.size() == zMStar.numOfGens()     // # of generators
      for i = 0..maskTable.size()-1:
        maskTable[i].size() == zMStar.OrderOf(i) // order of generator i

Implemented in PAlgebraModDerived< type >.

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

- src/PAlgebra.h