85    {
   86        int num = (int)ASCIIUtility.GetIndexOfFirstNonAsciiChar(pInputBuffer, (uint)inputLength);
   87        pInputBuffer += (uint)num;
   88        inputLength -= num;
   89        if (inputLength == 0)
   90        {
   91            utf8CodeUnitCountAdjustment = 0
L;
 
   92            scalarCountAdjustment = 0;
   93            return pInputBuffer;
   94        }
   96        int num3 = 0;
   97        char* ptr = pInputBuffer + (uint)inputLength;
   99        {
  101            {
  105                if (!BitConverter.IsLittleEndian)
  106                {
  107                }
  110                do
  111                {
  113                    {
  114                    }
  118                    {
  119                    }
  122                    {
  123                    }
  128                    {
  129                    }
  131                    while (
value != 65535)
 
  132                    {
  135                        {
  136                        }
  138                        uint num6 = num5 & 
value;
 
  139                        uint num7 = (num5 ^ 0x5555u) & 
value;
 
  140                        num7 <<= 2;
  141                        if ((ushort)num7 == num6)
  142                        {
  143                            if (num7 > 65535)
  144                            {
  145                                num7 = (ushort)num7;
  146                                num4 -= 2;
  147                                pInputBuffer--;
  148                            }
  150                            num3 -= (int)num8;
  152                            num2 -= (long)num8;
  153                            num2 -= (long)num8;
  155                            continue;
  156                        }
  157                        goto IL_01c6;
  158                    }
  159                    num2 += (long)num4;
  160                    continue;
  161                    IL_01c6:
  163                    break;
  164                }
  165                while (pInputBuffer <= ptr2);
  166            }
  167        }
  169        {
  175            while (true)
  176            {
  181                nuint num9 = 0u;
  182                for (
int i = 0; i < Vector<UIntPtr>.Count; 
i++)
 
  183                {
  184                    num9 += (nuint)(nint)(nuint)vector7[i];
  185                }
  186                uint num10 = (uint)num9;
  188                num10 += (uint)(int)(num9 >> 32);
  189                num10 = (ushort)num10 + (num10 >> 16);
  190                left2 -= vector4;
  193                {
  196                    if (vector9[0] != 0)
  197                    {
  198                        break;
  199                    }
  200                    ushort num11 = 0;
  201                    int num12 = 0;
  203                    {
  204                        num11 -= right7[num12];
  205                        if (right7[num12] == vector9[num12 + 1])
  206                        {
  207                            num12++;
  208                            continue;
  209                        }
  210                        goto IL_03e0;
  211                    }
  213                    {
  214                        pInputBuffer--;
  215                        num10 -= 2;
  216                    }
  217                    nint num13 = num11;
  218                    num3 -= (int)num13;
  219                    num2 -= num13;
  220                    num2 -= num13;
  221                }
  222                num2 += num10;
  224                if (pInputBuffer <= ptr3)
  225                {
  226                    continue;
  227                }
  228                goto IL_03e0;
  229            }
  230            goto IL_03e4;
  231        }
  232        goto IL_03e0;
  233        IL_03e0:
  234        while (pInputBuffer < ptr)
  235        {
  236            uint num14 = *pInputBuffer;
  237            if (num14 > 127)
  238            {
  239                num2 += num14 + 129024 >> 16;
  240                if (UnicodeUtility.IsSurrogateCodePoint(num14))
  241                {
  242                    num2 -= 2;
  243                    if ((nuint)((byte*)ptr - (nuint)pInputBuffer) < (nuint)4u)
  244                    {
  245                        break;
  246                    }
  247                    num14 = 
Unsafe.ReadUnaligned<uint>(pInputBuffer);
 
  248                    uint num15 = num14;
  249                    if (!BitConverter.IsLittleEndian)
  250                    {
  251                    }
  252                    if (((num15 - 3691042816u) & 0xFC00FC00u) != 0)
  253                    {
  254                        break;
  255                    }
  256                    num3--;
  257                    num2 += 2;
  258                    pInputBuffer++;
  259                }
  260            }
  261            pInputBuffer++;
  262        }
  263        goto IL_03e4;
  264        IL_03e4:
  265        utf8CodeUnitCountAdjustment = num2;
  266        scalarCountAdjustment = num3;
  267        return pInputBuffer;
  268    }
static int PopCount(uint value)
 
static Vector< int > LessThan(Vector< float > left, Vector< float > right)
 
static bool IsHardwareAccelerated
 
static Vector< int > GreaterThanOrEqual(Vector< float > left, Vector< float > right)
 
static new bool IsSupported
 
static new bool IsSupported
 
static Vector128< byte > Create(byte value)
 
static unsafe Vector128< sbyte > LoadVector128(sbyte *address)
 
static int MoveMask(Vector128< sbyte > value)
 
static Vector128< sbyte > CompareLessThan(Vector128< sbyte > left, Vector128< sbyte > right)
 
static Vector128< byte > Or(Vector128< byte > left, Vector128< byte > right)
 
static Vector128< sbyte > AddSaturate(Vector128< sbyte > left, Vector128< sbyte > right)
 
static Vector128< byte > Add(Vector128< byte > left, Vector128< byte > right)
 
static Vector128< short > ShiftRightLogical(Vector128< short > value, Vector128< short > count)
 
static new bool IsSupported
 
static Vector128< sbyte > Min(Vector128< sbyte > left, Vector128< sbyte > right)