SAY-5 commented on PR #49832: URL: https://github.com/apache/arrow/pull/49832#issuecomment-5306852425
That gold value is 135374626707953463472845258829775501736, which is below 2^127, so it round trips fine as a 128 bit pattern. It just happens to be 39 digits long, so the digit count check rejects it even though nothing was lost. Which makes me think the check is in the wrong place. What 49817 actually reports is silent wraparound, and the strings that wrap are the ones that exceed the bit width, not the ones that exceed kMaxPrecision. If I make ShiftAndAdd report a carry out of the top limb and reject on that (with the sign aware 2^127 vs 2^127-1 boundary), 170141183460469231731687303715884105727 keeps parsing like it always did, the gold files are untouched, and most of the test churn in this PR goes away. Want me to redo it that way? -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
