Terraria v1.4.4.9
Terraria source code documentation
Loading...
Searching...
No Matches

◆ TrailingZeroCount() [4/4]

static int System.Numerics.BitOperations.TrailingZeroCount ( ulong value)
inlinestatic

Definition at line 333 of file BitOperations.cs.

334 {
335 if (Bmi1.X64.IsSupported)
336 {
337 return (int)Bmi1.X64.TrailingZeroCount(value);
338 }
340 {
341 }
343 {
344 if (value != 0L)
345 {
346 return (int)X86Base.X64.BitScanForward(value);
347 }
348 return 64;
349 }
350 uint num = (uint)value;
351 if (num == 0)
352 {
353 return 32 + TrailingZeroCount((uint)(value >> 32));
354 }
355 return TrailingZeroCount(num);
356 }
static int TrailingZeroCount(int value)
static ulong TrailingZeroCount(ulong value)
Definition Bmi1.cs:44
static ulong BitScanForward(ulong value)
Definition X86Base.cs:14

References System.Runtime.Intrinsics.X86.X86Base.X64.BitScanForward(), System.Runtime.Intrinsics.Arm.ArmBase.Arm64.IsSupported, System.Runtime.Intrinsics.X86.Bmi1.X64.IsSupported, System.Runtime.Intrinsics.X86.X86Base.X64.IsSupported, System.L, System.Numerics.BitOperations.TrailingZeroCount(), System.Runtime.Intrinsics.X86.Bmi1.X64.TrailingZeroCount(), and System.value.