-
Notifications
You must be signed in to change notification settings - Fork 4.8k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Fix BigInteger bitwise operators on certain negative numbers #109684
Merged
Merged
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
dotnet-policy-service
bot
added
the
community-contribution
Indicates that the PR has been added by a community member
label
Nov 10, 2024
An alternative or follow-up could be to remove this constructor and replace the 3 uses with calls to the public ROS<byte> constructor, e.g. diff --git a/src/libraries/System.Runtime.Numerics/src/System/Numerics/BigInteger.cs b/src/libraries/System.Runtime.Numerics/src/System/Numerics/BigInteger.cs
index b3355ff6867..4a0d53e6be2 100644
--- a/src/libraries/System.Runtime.Numerics/src/System/Numerics/BigInteger.cs
+++ b/src/libraries/System.Runtime.Numerics/src/System/Numerics/BigInteger.cs
@@ -2476,7 +2476,7 @@ private static BigInteger Subtract(ReadOnlySpan<uint> leftBits, int leftSign, Re
if (rightBufferFromPool != null)
ArrayPool<uint>.Shared.Return(rightBufferFromPool);
- var result = new BigInteger(z);
+ var result = new BigInteger(MemoryMarshal.AsBytes(z));
if (resultBufferFromPool != null)
ArrayPool<uint>.Shared.Return(resultBufferFromPool); |
Duplicate of #105456 |
This was referenced Nov 10, 2024
Merged #105456 Will still take this PR for the explicit regression test and typo fix. |
@tannergooding Once this is merged, do you want to cherry-pick it into #109732 for the backport too so we take this new test with the fix? |
Can do. |
tannergooding
approved these changes
Nov 13, 2024
tannergooding
added a commit
that referenced
this pull request
Nov 13, 2024
Co-authored-by: Tanner Gooding <tagoo@outlook.com>
jeffhandley
pushed a commit
that referenced
this pull request
Nov 25, 2024
* Add a missing = * Add some tests for bigint AND. * Add some tests for bigint AND. * Update src/libraries/System.Runtime.Numerics/tests/BigInteger/SampleGeneration.cs Co-authored-by: Dan Moseley <danmose@microsoft.com> * Fix BigInteger bitwise operators on certain negative numbers (#109684) Co-authored-by: Tanner Gooding <tagoo@outlook.com> --------- Co-authored-by: LEI Hongfaan <lihangfan@hotmail.com> Co-authored-by: Dan Moseley <danmose@microsoft.com> Co-authored-by: Rob Hague <rob.hague00@gmail.com> Co-authored-by: Tanner Gooding <tagoo@outlook.com>
mikelle-rogers
pushed a commit
to mikelle-rogers/runtime
that referenced
this pull request
Dec 10, 2024
…109684) Co-authored-by: Tanner Gooding <tagoo@outlook.com>
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
Labels
area-System.Numerics
community-contribution
Indicates that the PR has been added by a community member
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Fixes #109669 c.f. #109669 (comment)