Template Class ILParamsImpl

Inheritance Relationships

Base Type

Template Parameter Order

  1. typename IntType

Class Documentation

template<typename IntType>
class lbcrypto::ILParamsImpl : public lbcrypto::ElemParams<IntType>

Inheritence diagram for lbcrypto::ILParamsImpl:

digraph { graph [bgcolor="#00000000"] node [shape=rectangle style=filled fillcolor="#FFFFFF" font=Helvetica padding=2] edge [color="#1414CE"] "3" [label="lbcrypto::Serializable" tooltip="lbcrypto::Serializable"] "2" [label="lbcrypto::ElemParams< IntType >" tooltip="lbcrypto::ElemParams< IntType >"] "1" [label="lbcrypto::ILParamsImpl< IntType >" tooltip="lbcrypto::ILParamsImpl< IntType >" fillcolor="#BFBFBF"] "2" -> "3" [dir=forward tooltip="public-inheritance"] "1" -> "2" [dir=forward tooltip="public-inheritance"] }

Collaboration diagram for lbcrypto::ILParamsImpl:

digraph { graph [bgcolor="#00000000"] node [shape=rectangle style=filled fillcolor="#FFFFFF" font=Helvetica padding=2] edge [color="#1414CE"] "3" [label="lbcrypto::Serializable" tooltip="lbcrypto::Serializable"] "2" [label="lbcrypto::ElemParams< IntType >" tooltip="lbcrypto::ElemParams< IntType >"] "1" [label="lbcrypto::ILParamsImpl< IntType >" tooltip="lbcrypto::ILParamsImpl< IntType >" fillcolor="#BFBFBF"] "2" -> "3" [dir=forward tooltip="public-inheritance"] "1" -> "2" [dir=forward tooltip="public-inheritance"] }

Public Types

using Integer = IntType

Public Functions

inline constexpr ILParamsImpl()
~ILParamsImpl() override = default
inline explicit ILParamsImpl(uint32_t order, uint32_t bits = MAX_MODULUS_SIZE)

Constructor for the case of partially pre-computed parameters.

Parameters
  • &order – the order of the ciphertext.

  • &modulus – the ciphertext modulus.

  • &rootOfUnity – the root of unity used in the ciphertext.

  • bigModulus – the big ciphertext modulus.

  • bigRootOfUnity – the big ciphertext modulus used for bit packing operations.

Returns

inline explicit ILParamsImpl(uint32_t order, const IntType &modulus)
inline ILParamsImpl(uint32_t order, const IntType &modulus, const IntType &rootOfUnity)
inline ILParamsImpl(uint32_t order, const IntType &modulus, const IntType &rootOfUnity, const IntType &bigModulus, const IntType &bigRootOfUnity)
inline ILParamsImpl(const ILParamsImpl &rhs)

Copy constructor.

Parameters

&rhs – the input set of parameters which is copied.

inline ILParamsImpl &operator=(const ILParamsImpl &rhs)

Copy Assignment Operator.

Parameters

&rhs – the params to be copied.

Returns

this object

inline ILParamsImpl(ILParamsImpl &&rhs) noexcept

Move constructor.

Parameters

&rhs – the input set of parameters which is copied.

inline ILParamsImpl &operator=(ILParamsImpl &&rhs) noexcept
inline virtual bool operator==(const ElemParams<IntType> &rhs) const override

Equality operator compares ElemParams (which will be dynamic casted)

Parameters

&rhs – is the specified Poly to be compared with this Poly.

Returns

True if this Poly represents the same values as the specified DCRTPoly, False otherwise

template<class Archive>
inline void save(Archive &ar, std::uint32_t const version) const
template<class Archive>
inline void load(Archive &ar, std::uint32_t const version)
inline virtual std::string SerializedObjectName() const override

Public Static Functions

static inline uint32_t SerializedVersion()