Template Class DiscreteUniformGeneratorImpl

Template Parameter Order

  1. typename VecType

Class Documentation

template<typename VecType>
class lbcrypto::DiscreteUniformGeneratorImpl

The class for Discrete Uniform Distribution generator over Zq.

Public Functions

DiscreteUniformGeneratorImpl() = default
~DiscreteUniformGeneratorImpl() = default
explicit DiscreteUniformGeneratorImpl(const typename VecType::Integer &modulus)
void SetModulus(const typename VecType::Integer &modulus)

Sets the modulus. Overrides parent function.

Parameters

modulus – The new modulus.

VecType::Integer GenerateInteger() const

Generates a random integer based on the modulus set for the Discrete Uniform Generator object. Required by DistributionGenerator.

VecType GenerateVector(const uint32_t size) const

Generates a vector of random integers using GenerateInteger()

VecType GenerateVector(const uint32_t size, const typename VecType::Integer &modulus)