From 5b13ee655c4abef8b708319660796229788efcae Mon Sep 17 00:00:00 2001 From: gdkchan Date: Sun, 28 Oct 2018 22:18:58 -0300 Subject: [PATCH] Fix the rotate right method on ABitUtils (#486) --- ChocolArm64/ABitUtils.cs | 18 +++--------------- 1 file changed, 3 insertions(+), 15 deletions(-) diff --git a/ChocolArm64/ABitUtils.cs b/ChocolArm64/ABitUtils.cs index dd4162356..a2654c20a 100644 --- a/ChocolArm64/ABitUtils.cs +++ b/ChocolArm64/ABitUtils.cs @@ -2,18 +2,6 @@ namespace ChocolArm64 { static class ABitUtils { - public static int CountBitsSet(long Value) - { - int Count = 0; - - for (int Bit = 0; Bit < 64; Bit++) - { - Count += (int)(Value >> Bit) & 1; - } - - return Count; - } - public static int HighestBitSet32(int Value) { for (int Bit = 31; Bit >= 0; Bit--) @@ -50,12 +38,12 @@ namespace ChocolArm64 public static long RotateRight(long Bits, int Shift, int Size) { - return (Bits >> Shift) | (Bits << (Size - Shift)); + return (long)RotateRight((ulong)Bits, Shift, Size); } - public static bool IsPow2(int Value) + public static ulong RotateRight(ulong Bits, int Shift, int Size) { - return Value != 0 && (Value & (Value - 1)) == 0; + return (Bits >> Shift) | (Bits << (Size - Shift)); } } }