15 return (
value & 0xFF80FF80u) == 0;
21 return (
value & 0xFF80FF80FF80FF80uL) == 0;
27 uint num =
value + 8388736 - 4259905;
28 uint num2 =
value + 8388736 - 5963867;
29 uint num3 = num ^ num2;
30 uint num4 = (num3 & 0x800080) >> 2;
37 uint num =
value + 8388736 - 6357089;
38 uint num2 =
value + 8388736 - 8061051;
39 uint num3 = num ^ num2;
40 uint num4 = (num3 & 0x800080) >> 2;
47 uint num =
value + 8388736 - 6357089;
48 uint num2 =
value + 8388736 - 8061051;
49 uint num3 = num ^ num2;
50 return (num3 & 0x800080) != 0;
56 uint num =
value + 8388736 - 4259905;
57 uint num2 =
value + 8388736 - 5963867;
58 uint num3 = num ^ num2;
59 return (num3 & 0x800080) != 0;
65 uint num = (valueA ^ valueB) << 2;
66 uint num2 = valueA + 327685;
70 return (num & num2) == 0;
76 ulong num = (valueA ^ valueB) << 2;
77 ulong num2 = valueA + 1407396358717445
L;
78 num2 |= 0xA000A000A000A0uL;
79 num2 += 7318461065330714
L;
80 num2 |= 0xFF7FFF7FFF7FFF7FuL;
81 return (num & num2) == 0;
84 public unsafe
static char*
GetPointerToFirstInvalidChar(
char* pInputBuffer,
int inputLength, out
long utf8CodeUnitCountAdjustment, out
int scalarCountAdjustment)
87 pInputBuffer += (uint)num;
91 utf8CodeUnitCountAdjustment = 0
L;
92 scalarCountAdjustment = 0;
97 char* ptr = pInputBuffer + (uint)inputLength;
131 while (
value != 65535)
138 uint num6 = num5 &
value;
139 uint num7 = (num5 ^ 0x5555u) &
value;
141 if ((ushort)num7 == num6)
165 while (pInputBuffer <= ptr2);
182 for (
int i = 0; i < Vector<UIntPtr>.Count; i++)
184 num9 += (nuint)(nint)(nuint)vector7[i];
186 uint num10 = (uint)num9;
188 num10 += (uint)(
int)(num9 >> 32);
189 num10 = (ushort)num10 + (num10 >> 16);
204 num11 -= right7[num12];
205 if (right7[num12] == vector9[num12 + 1])
224 if (pInputBuffer <= ptr3)
234 while (pInputBuffer < ptr)
236 uint num14 = *pInputBuffer;
239 num2 += num14 + 129024 >> 16;
243 if ((nuint)((
byte*)ptr - (nuint)pInputBuffer) < (nuint)4u)
247 num14 =
Unsafe.ReadUnaligned<uint>(pInputBuffer);
252 if (((num15 - 3691042816u) & 0xFC00FC00u) != 0)
265 utf8CodeUnitCountAdjustment = num2;
266 scalarCountAdjustment = num3;
static readonly bool IsLittleEndian
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)
static unsafe nuint GetIndexOfFirstNonAsciiChar(char *pBuffer, nuint bufferLength)
static bool IsSurrogateCodePoint(uint value)
static bool UInt32OrdinalIgnoreCaseAscii(uint valueA, uint valueB)
static uint ConvertAllAsciiCharsInUInt32ToLowercase(uint value)
static bool AllCharsInUInt32AreAscii(uint value)
static bool UInt64OrdinalIgnoreCaseAscii(ulong valueA, ulong valueB)
static uint ConvertAllAsciiCharsInUInt32ToUppercase(uint value)
static bool UInt32ContainsAnyUppercaseAsciiChar(uint value)
static bool UInt32ContainsAnyLowercaseAsciiChar(uint value)
static bool AllCharsInUInt64AreAscii(ulong value)
static unsafe char * GetPointerToFirstInvalidChar(char *pInputBuffer, int inputLength, out long utf8CodeUnitCountAdjustment, out int scalarCountAdjustment)