helayers::AbstractCiphertext Class Referenceabstract
Internal abstract implementation of a ciphertext, do not use directly. More...
#include <AbstractCiphertext.h>
Inheritance diagram for helayers::AbstractCiphertext:
Public Member Functions | |
AbstractCiphertext (HeContext &he) | |
AbstractCiphertext & | operator= (const AbstractCiphertext &src)=delete |
std::shared_ptr< AbstractCiphertext > | clone () const |
HeContext & | getContext () |
const HeContext & | getContext () const |
virtual std::streamoff | save (std::ostream &stream) const =0 |
virtual std::streamoff | load (std::istream &stream)=0 |
virtual void | add (const AbstractCiphertext &other)=0 |
virtual void | addRaw (const AbstractCiphertext &other)=0 |
virtual void | sub (const AbstractCiphertext &other)=0 |
virtual void | subRaw (const AbstractCiphertext &other)=0 |
virtual void | multiply (const AbstractCiphertext &other)=0 |
virtual void | multiplyRaw (const AbstractCiphertext &other)=0 |
virtual void | addPlain (const AbstractPlaintext &plain)=0 |
virtual void | addPlainRaw (const AbstractPlaintext &plain)=0 |
virtual void | subPlain (const AbstractPlaintext &plain)=0 |
virtual void | subPlainRaw (const AbstractPlaintext &plain)=0 |
virtual void | multiplyPlain (const AbstractPlaintext &plain)=0 |
virtual void | multiplyPlainRaw (const AbstractPlaintext &plain)=0 |
virtual void | square ()=0 |
virtual void | squareRaw ()=0 |
virtual void | addScalar (int scalar) |
virtual void | addScalar (double scalar) |
virtual void | multiplyScalar (int scalar) |
virtual void | multiplyScalar (double scalar) |
virtual void | relinearize ()=0 |
virtual void | rescale ()=0 |
virtual void | rescaleRaw ()=0 |
virtual void | setScale (double scale)=0 |
virtual double | getScale () const =0 |
virtual void | conjugate ()=0 |
virtual void | conjugateRaw ()=0 |
virtual void | negate ()=0 |
virtual void | rotate (int n)=0 |
virtual void | innerSum (int n) |
virtual void | innerSum (int rot1, int rot2, bool reverse=false) |
virtual void | reduceChainIndex ()=0 |
virtual void | setChainIndex (const AbstractCiphertext &other)=0 |
virtual void | setChainIndex (int chainIndex)=0 |
virtual int | getChainIndex () const =0 |
virtual int | slotCount () const =0 |
virtual void | debugPrint (const std::string &title="", int maxElements=-1, int verbose=0, std::ostream &out=std::cout) const |
virtual void | sumExpBySquaringLeftToRight (int n) |
virtual void | sumExpBySquaringRightToLeft (int n) |
virtual void | multiplyByChangingScale (double factor) |
virtual bool | isEmpty () const =0 |
Protected Member Functions | |
AbstractCiphertext (const AbstractCiphertext &src)=default | |
Detailed Description
Internal abstract implementation of a ciphertext, do not use directly.
Used as parent class for concrete classes implementing ciphertexts in various schemes. Do not use directly, use a CTile class instead.
The documentation for this class was generated from the following files:
- /opt/IBM/FHE-distro/ML-HElib/src/helayers/hebase/impl/AbstractCiphertext.h
- /opt/IBM/FHE-distro/ML-HElib/src/helayers/hebase/impl/AbstractCiphertext.cpp