public Bit this[BitPos r] { [MethodImpl(Inline)] get { return(0); } }
public ref readonly BitIndex Index(BitPos pos) => ref Data.Index(pos);
public static uint rank(ulong src, BitPos pos) => pop(range(src, 0, pos));
public static uint rank(ushort src, BitPos pos) => pop(range(src, 0, pos));
public static long range(long src, BitPos i0, BitPos i1) => (long)range((ulong)src, i0, i1);
public ref readonly uint Cell(BitPos pos) => ref Index(pos).CellIndex;
public static short range(short src, BitPos i0, BitPos i1) => (short)range((ushort)src, i0, i1);
public static ref byte Bit(ref BitBlock <T> src, BitPos i) => ref Unsafe.Add(ref Unsafe.As <BitBlock <T>, byte>(ref src), i);
public static byte range(byte src, BitPos i0, BitPos i1) => (byte)Bmi1.BitFieldExtract(src, i0, (byte)(i1 - i0));
public static ushort range(ushort src, BitPos i0, BitPos i1) => (ushort)Bmi1.BitFieldExtract(src, i0, (byte)(i1 - i0));
public static sbyte range(sbyte src, BitPos i0, BitPos i1) => (sbyte)range((byte)src, i0, i1);
public static double range(double src, BitPos i0, BitPos i1) => BitConverter.Int64BitsToDouble(range(src.ToBits(), i0, i1));
public static float range(float src, BitPos i0, BitPos i1) => BitConverter.Int32BitsToSingle(range(src.ToBits(), i0, i1));
public static ref byte uint8(ref BitBlock16 src, BitPos i) => ref Unsafe.Add(ref Unsafe.As <BitBlock16, byte>(ref src), i);
public static uint range(uint src, BitPos i0, BitPos i1) => Bmi1.BitFieldExtract(src, (byte)i0, (byte)(i1 - i0));
public static Span <byte> ReadBits(this byte src, BitPos i0, BitPos i1) => range(in src, i0, i1);
public static int range(int src, BitPos i0, BitPos i1) => (int)range((uint)src, i0, i1);
public ref readonly BitIndex Index(BitPos pos) => ref Indices[pos];
public static ulong range(ulong src, BitPos i0, BitPos i1) => Bmi1.X64.BitFieldExtract(src, (byte)i0, (byte)(i1 - i0));
public ref readonly byte Offset(BitPos pos) => ref Index(pos).CellOffset;
public static uint rank(sbyte src, BitPos pos) => pop(range(src, 0, pos));
public ref readonly BitIndex this[BitPos pos] { [MethodImpl(Inline)] get => ref Data.Index(pos);
public EnumBit(BitPos Pos, string Name, Bit Value) { this.Pos = Pos; this.Name = Name; this.Value = Value; }