From d494763738c59caae6226fafe3c191ddcc287631 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Fri, 3 Oct 2025 14:01:21 +0000 Subject: [PATCH 1/2] Initial plan From 899eb073d02c01eacffcbc8aebbae41b93224241 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Fri, 3 Oct 2025 14:31:01 +0000 Subject: [PATCH 2/2] Fix missing nuint casts in BitOperationsTests Co-authored-by: jkotas <6668460+jkotas@users.noreply.github.com> --- .../System/Numerics/BitOperationsTests.cs | 22 +++++++++---------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/src/libraries/System.Runtime/tests/System.Runtime.Extensions.Tests/System/Numerics/BitOperationsTests.cs b/src/libraries/System.Runtime/tests/System.Runtime.Extensions.Tests/System/Numerics/BitOperationsTests.cs index 6f88901283576a..90941698ec58cc 100644 --- a/src/libraries/System.Runtime/tests/System.Runtime.Extensions.Tests/System/Numerics/BitOperationsTests.cs +++ b/src/libraries/System.Runtime/tests/System.Runtime.Extensions.Tests/System/Numerics/BitOperationsTests.cs @@ -240,7 +240,7 @@ public static void BitOps_LeadingZeroCount_ulong(ulong n, int expected) [InlineData(uint.MaxValue, 0)] public static void BitOps_LeadingZeroCount_nuint_32(uint n, int expected) { - int actual = BitOperations.LeadingZeroCount(n); + int actual = BitOperations.LeadingZeroCount((nuint)n); Assert.Equal(expected, actual); } @@ -263,7 +263,7 @@ public static void BitOps_LeadingZeroCount_nuint_32(uint n, int expected) [InlineData(ulong.MaxValue, 0)] public static void BitOps_LeadingZeroCount_nuint_64(ulong n, int expected) { - int actual = BitOperations.LeadingZeroCount(n); + int actual = BitOperations.LeadingZeroCount((nuint)n); Assert.Equal(expected, actual); } @@ -756,15 +756,15 @@ public static void BitOps_RotateRight_nuint() if (Environment.Is64BitProcess) { const ulong value = 0b01010101_01010101_01010101_01010101_01010101_01010101_01010101_01010101ul; - Assert.Equal(0b10101010_10101010_10101010_10101010_10101010_10101010_10101010_10101010ul, - BitOperations.RotateRight(value, 1)); - Assert.Equal(0b01010101_01010101_01010101_01010101_01010101_01010101_01010101_01010101ul, - BitOperations.RotateRight(value, 2)); - Assert.Equal(0b10101010_10101010_10101010_10101010_10101010_10101010_10101010_10101010ul, - BitOperations.RotateRight(value, 3)); - Assert.Equal(value, BitOperations.RotateRight(value, int.MinValue)); // % 64 = 0 - Assert.Equal(BitOperations.RotateLeft(value, 63), - BitOperations.RotateRight(value, int.MaxValue)); // % 64 = 63 + Assert.Equal((nuint)0b10101010_10101010_10101010_10101010_10101010_10101010_10101010_10101010ul, + BitOperations.RotateRight((nuint)value, 1)); + Assert.Equal((nuint)0b01010101_01010101_01010101_01010101_01010101_01010101_01010101_01010101ul, + BitOperations.RotateRight((nuint)value, 2)); + Assert.Equal((nuint)0b10101010_10101010_10101010_10101010_10101010_10101010_10101010_10101010ul, + BitOperations.RotateRight((nuint)value, 3)); + Assert.Equal((nuint)value, BitOperations.RotateRight((nuint)value, int.MinValue)); // % 64 = 0 + Assert.Equal(BitOperations.RotateLeft((nuint)value, 63), + BitOperations.RotateRight((nuint)value, int.MaxValue)); // % 64 = 63 } else {