helayers::HelibBgvEncoder Class Reference

A concrete implementation of Encoder API for HElib's BGV scheme. More...

#include <HelibBgvEncoder.h>

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

Public Member Functions

 HelibBgvEncoder (HelibBgvContext &he)
 
void encode (AbstractPlaintext &res, const std::vector< int > &vals, int chainIndex) const override
 
void encode (AbstractPlaintext &res, const std::vector< long > &vals, int chainIndex) const override
 
void encode (AbstractPlaintext &res, const std::vector< double > &vals, int chainIndex) const override
 
void encode (AbstractPlaintext &res, const std::vector< std::complex< double >> &vals, int chainIndex) const override
 
std::vector< int > decodeInt (const AbstractPlaintext &src) const override
 
std::vector< long > decodeLong (const AbstractPlaintext &src) const override
 
std::vector< double > decodeDouble (const AbstractPlaintext &src) const override
 
std::vector< std::complex< double > > decodeComplex (const AbstractPlaintext &src) const override
 
void encrypt (AbstractCiphertext &res, const AbstractPlaintext &src) const override
 
void decrypt (AbstractPlaintext &res, const AbstractCiphertext &src) const override
 
void encodeEncrypt (AbstractCiphertext &res, const std::vector< int > &vals, int chainIndex) const override
 
void encodeEncrypt (AbstractCiphertext &res, const std::vector< long > &vals, int chainIndex) const override
 
void encodeEncrypt (AbstractCiphertext &res, const std::vector< double > &vals, int chainIndex) const override
 
void encodeEncrypt (AbstractCiphertext &res, const std::vector< std::complex< double >> &vals, int chainIndex) const override
 
std::vector< int > decryptDecodeInt (const AbstractCiphertext &src) const override
 
std::vector< long > decryptDecodeLong (const AbstractCiphertext &src) const override
 
std::vector< double > decryptDecodeDouble (const AbstractCiphertext &src) const override
 
std::vector< std::complex< double > > decryptDecodeComplex (const AbstractCiphertext &src) const override
 
- Public Member Functions inherited from helayers::AbstractEncoder
 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 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

A concrete implementation of Encoder API for HElib's BGV scheme.


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