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()

Protected Functions

inline virtual std::ostream &doprint(std::ostream &out) const override

Pretty print operator for the ElemParams type.

Parameters

out – the ElemParams to output

Returns

the resulting output stream.