Phillip Cloud created ARROW-1800: ------------------------------------ Summary: [C++] Fix and simplify random_decimals Key: ARROW-1800 URL: https://issues.apache.org/jira/browse/ARROW-1800 Project: Apache Arrow Issue Type: Bug Components: C++ Affects Versions: 0.7.1 Reporter: Phillip Cloud Assignee: Phillip Cloud Fix For: 0.8.0
{{UniformDecimalDistribution}} currently generates values outside the range specified for the given precision in cases where the number of bytes required to represent a decimal value was less than or equal to 8. For example, for a 1 byte value the range is -128, 127 for the low bits and -1, 0 for the high bits. In cases where the low bits generated a negative number and the high bits generated a zero value the number can end up being much larger than desired. It's much easier to just generate {{N}} random bytes and sign extend based on the sign bit of the last byte. -- This message was sent by Atlassian JIRA (v6.4.14#64029)