This commit modifies generate<uint8_t> of RandomGenerator to generate the appropriate random value.
Signed-off-by: jiseob.jang <jiseob.jang@samsung.com>
template <> uint8_t RandomGenerator::generate<uint8_t>(void)
{
- return static_cast<uint8_t>(_dist(_rand) / _quantization.scale + _quantization.zero_point);
+ // The value of type_range is 255.
+ float type_range = static_cast<float>(std::numeric_limits<uint8_t>::max()) -
+ static_cast<float>(std::numeric_limits<uint8_t>::min());
+ // Most _dist values range from -5.0 to 5.0.
+ float min_range = -5.0f;
+ float max_range = 5.0f;
+ return static_cast<uint8_t>((_dist(_rand) - min_range) * type_range / (max_range - min_range));
}
//