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

◆ TrailingZeroCount() [3/4]

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

Definition at line 305 of file BitOperations.cs.

306 {
307 if (Bmi1.IsSupported)
308 {
309 return (int)Bmi1.TrailingZeroCount(value);
310 }
312 {
313 }
314 if (value == 0)
315 {
316 return 32;
317 }
319 {
320 return (int)X86Base.BitScanForward(value);
321 }
322 return Unsafe.AddByteOffset(ref MemoryMarshal.GetReference(TrailingZeroCountDeBruijn), (IntPtr)(int)((value & (0 - value)) * 125613361 >> 27));
323 }
static ReadOnlySpan< byte > TrailingZeroCountDeBruijn
static new bool IsSupported
Definition Bmi1.cs:50
static uint TrailingZeroCount(uint value)
Definition Bmi1.cs:82
static uint BitScanForward(uint value)
Definition X86Base.cs:30

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