helayers::AbstractEncoder Class Referenceabstract

Internal abstract implementation of an encoder, do not use directly. More...

#include <AbstractEncoder.h>

Inheritance diagram for helayers::AbstractEncoder:
helayers::HelibBgvEncoder helayers::HelibCkksEncoder

Public Member Functions

 AbstractEncoder (const AbstractEncoder &src)=delete
 
AbstractEncoderoperator= (const AbstractEncoder &src)=delete
 
virtual void setDefaultScale (double scale)
 
virtual double getDefaultScale () const
 
virtual void restoreDefaultScale ()
 
virtual void setDecryptAddedNoiseEnabled (bool val)
 
virtual bool getDecryptAddedNoiseEnabled () const
 
virtual void setDecryptAddedNoisePrecision (int val)
 
virtual int getDecryptAddedNoisePrecision () const
 
virtual void encode (AbstractPlaintext &res, int val, int chainIndex) const
 
virtual void encode (AbstractPlaintext &res, double val, int chainIndex) const
 
virtual void encode (AbstractPlaintext &res, const std::vector< int > &vals, int chainIndex) const
 
virtual void encode (AbstractPlaintext &res, const std::vector< long > &vals, int chainIndex) const
 
virtual void encode (AbstractPlaintext &res, const std::vector< double > &vals, int chainIndex) const =0
 
virtual void encode (AbstractPlaintext &res, const std::vector< std::complex< double >> &vals, int chainIndex) const =0
 
virtual std::vector< int > decodeInt (const AbstractPlaintext &src) const
 
virtual std::vector< long > decodeLong (const AbstractPlaintext &src) const
 
virtual std::vector< double > decodeDouble (const AbstractPlaintext &src) const =0
 
virtual std::vector< std::complex< double > > decodeComplex (const AbstractPlaintext &src) const =0
 
virtual void encrypt (AbstractCiphertext &res, const AbstractPlaintext &src) const =0
 
virtual void decrypt (AbstractPlaintext &res, const AbstractCiphertext &src) const =0
 
virtual void encodeEncrypt (AbstractCiphertext &res, const std::vector< int > &vals, int chainIndex) const
 
virtual void encodeEncrypt (AbstractCiphertext &res, const std::vector< long > &vals, int chainIndex) const
 
virtual void encodeEncrypt (AbstractCiphertext &res, const std::vector< double > &vals, int chainIndex) const =0
 
virtual void encodeEncrypt (AbstractCiphertext &res, const std::vector< std::complex< double >> &vals, int chainIndex) const =0
 
virtual std::vector< int > decryptDecodeInt (const AbstractCiphertext &src) const
 
virtual std::vector< long > decryptDecodeLong (const AbstractCiphertext &src) const
 
virtual std::vector< double > decryptDecodeDouble (const AbstractCiphertext &src) const =0
 
virtual std::vector< std::complex< double > > decryptDecodeComplex (const AbstractCiphertext &src) const =0
 
virtual double assertEquals (const AbstractCiphertext &c, const std::string &title, const std::vector< int > &expectedVals, double eps, bool percent) const
 
virtual double assertEquals (const AbstractCiphertext &c, const std::string &title, const std::vector< long > &expectedVals, double eps, bool percent) const
 
virtual double assertEquals (const AbstractCiphertext &c, const std::string &title, const std::vector< double > &expectedVals, double eps, bool percent) const
 
virtual double assertEquals (const AbstractCiphertext &c, const std::string &title, const std::vector< std::complex< double >> &expectedVals, double eps, bool percent) const
 

Detailed Description

Internal abstract implementation of an encoder, do not use directly.

Used as parent class for concrete classes implementing encoders in various schemes. Do not use directly, use a Encoder class instead.


The documentation for this class was generated from the following files:
  • /opt/IBM/FHE-distro/ML-HElib/src/helayers/hebase/impl/AbstractEncoder.h
  • /opt/IBM/FHE-distro/ML-HElib/src/helayers/hebase/impl/AbstractEncoder.cpp