13 0, 1, 28, 2, 29, 14, 24, 3, 30, 22,
14 20, 15, 25, 17, 4, 8, 31, 27, 13, 23,
15 21, 19, 16, 7, 26, 12, 18, 6, 11, 5,
21 0, 9, 1, 10, 13, 21, 2, 29, 11, 14,
22 16, 18, 22, 25, 3, 30, 8, 12, 20, 28,
23 15, 17, 24, 7, 19, 27, 23, 6, 26, 5,
111 [CLSCompliant(
false)]
117 return (1uL ^ (ulong)(num >> 6)) << num;
130 [CLSCompliant(
false)]
152 [CLSCompliant(
false)]
170 uint num = (uint)(
value >> 32);
179 [CLSCompliant(
false)]
198 [CLSCompliant(
false)]
213 uint num = (uint)(
value >> 32);
218 return 32 +
Log2(num);
255 [CLSCompliant(
false)]
265 return SoftwareFallback(
value);
266 static int SoftwareFallback(uint
value)
277 [CLSCompliant(
false)]
287 return SoftwareFallback(
value);
288 static int SoftwareFallback(ulong
value)
292 value = ((
value + (
value >> 4)) & 0xF0F0F0F0F0F0F0F
L) * 72340172838076673
L >> 56;
304 [CLSCompliant(
false)]
332 [CLSCompliant(
false)]
350 uint num = (uint)
value;
359 [CLSCompliant(
false)]
366 [CLSCompliant(
false)]
373 [CLSCompliant(
false)]
380 [CLSCompliant(
false)]
static int LeadingZeroCount(ulong value)
static int Log2SoftwareFallback(uint value)
static int TrailingZeroCount(int value)
static bool IsPow2(int value)
static int TrailingZeroCount(long value)
static int TrailingZeroCount(uint value)
static bool IsPow2(nint value)
static int PopCount(uint value)
static ReadOnlySpan< byte > TrailingZeroCountDeBruijn
static int TrailingZeroCount(ulong value)
static bool IsPow2(long value)
static int Log2Ceiling(ulong value)
static int Log2(uint value)
static bool IsPow2(nuint value)
static ulong RotateLeft(ulong value, int offset)
static uint RotateRight(uint value, int offset)
static ulong RoundUpToPowerOf2(ulong value)
static int LeadingZeroCount(uint value)
static int Log2(ulong value)
static uint RoundUpToPowerOf2(uint value)
static uint RotateLeft(uint value, int offset)
static int Log2Ceiling(uint value)
static bool IsPow2(uint value)
static ReadOnlySpan< byte > Log2DeBruijn
static ulong RotateRight(ulong value, int offset)
static bool IsPow2(ulong value)
static int PopCount(ulong value)
static new bool IsSupported
static ulong TrailingZeroCount(ulong value)
static new bool IsSupported
static new bool IsSupported
static uint TrailingZeroCount(uint value)
static new bool IsSupported
static ulong LeadingZeroCount(ulong value)
static uint LeadingZeroCount(uint value)
static new bool IsSupported
static new bool IsSupported
static ulong PopCount(ulong value)
static new bool IsSupported
static uint PopCount(uint value)
static ulong BitScanReverse(ulong value)
static ulong BitScanForward(ulong value)
static uint BitScanForward(uint value)
static uint BitScanReverse(uint value)