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)

Reply via email to