Uh oh!
There was an error while loading. Please reload this page.
Simplify and fix the Int128 *, /, and % logic - #75470
Conversation
ghost
commented
Sep 12, 2022
I couldn't figure out the best area label to add to this PR. If you have write-permissions please help me learn by adding exactly one area label. |
tfenise
left a comment
There was a problem hiding this comment.
I think there are some bugs.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Co-authored-by: tfenise <tfenise@live.com>
ghost
commented
Sep 12, 2022
Tagging subscribers to this area: @dotnet/area-system-numerics Issue DetailsThis resolves #75416
|
dakersnar
left a comment
There was a problem hiding this comment.
Added some comments, once those are addressed LGTM
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
| Int128 upper = BigMul(left, right, out Int128 lower); | ||
| if (IsNegative(right)) | ||
| if (((upper != 0) || (lower < 0)) && ((~upper != 0) || (lower >= 0))) |
There was a problem hiding this comment.
Something about this logic is hard to parse but I can't figure out a better way to structure it.
Uh oh!
There was an error while loading. Please reload this page.
tannergooding
commented
Sep 13, 2022
Logged #75566 for the Mono llvmaot failure, which is unrelated. |
tannergooding
commented
Sep 13, 2022
/backport to release/7.0 |
Started backporting to release/7.0: https://github.com/dotnet/runtime/actions/runs/3048638350 |
This resolves#75416