Ran
|
Files
89
|
Run time
3s
|
Badge
Embed ▾
README BADGES
|
push
github
x86/x64: Fix math.ceil(-0.9) result sign. Reported by minoki. (cherry-picked from commit 674afcd4e) The `ceil` (`floor`) math function implementation calculates (|x| + 2^52) - 2^52 for its argument to determine the fractional part of x , so it will be rounded to the nearest integer and its sign is restored. After that, if the original value is < (>) than the result, the -1 (1) is subtracted from it. Take a look at the `ceil()` case. The result of the operation `-1 - (-1)` is +0 for FP arithmetic, against -0 expected as a result. This patch changes the `- (-1)` operation to `+ 1` and restores sign after it again. NB: Since in DUALNUM mode on x86/x64 all results are tried to be converted to integers the sign of 0 is neglected. Sergey Kaplun: * added the description and the test for the problem Part of tarantool/tarantool#9145
5342 of 5972 branches covered (0.0%)
Branch coverage included in aggregate %.
20502 of 23296 relevant lines covered (88.01%)
2765111.34 hits per line
Coverage | ∆ | File | Lines | Relevant | Covered | Missed | Hits/Line | Branch Hits | Branch Misses |
---|