18 ThrowHelper.ThrowForUnsupportedIntrinsicsVectorBaseType<T>();
19 ThrowHelper.ThrowForUnsupportedIntrinsicsVectorBaseType<U>();
26 return vector.As<
T,
byte>();
32 return vector.As<
T,
double>();
38 return vector.As<
T,
short>();
44 return vector.As<
T,
int>();
50 return vector.As<
T,
long>();
57 return vector.As<
T, sbyte>();
63 return vector.As<
T,
float>();
70 return vector.As<
T, ushort>();
77 return vector.As<
T, uint>();
84 return vector.As<
T, ulong>();
93 return SoftwareFallback(
value);
107 return SoftwareFallback(
value);
120 return SoftwareFallback(
value);
134 return SoftwareFallback(
value);
148 return SoftwareFallback(
value);
156 [CLSCompliant(
false)]
162 return SoftwareFallback(
value);
176 return SoftwareFallback(
value);
185 [CLSCompliant(
false)]
191 return SoftwareFallback(
value);
200 [CLSCompliant(
false)]
206 return SoftwareFallback(
value);
215 [CLSCompliant(
false)]
221 return SoftwareFallback(
value);
234 return SoftwareFallback(e0, e1, e2, e3, e4, e5, e6, e7);
235 unsafe
static Vector64<byte> SoftwareFallback(
byte e0,
byte e1,
byte e2,
byte e3,
byte e4,
byte e5,
byte e6,
byte e7)
237 byte*
source = stackalloc
byte[8] { e0, e1, e2, e3, e4, e5, e6, e7 };
248 return SoftwareFallback(e0, e1, e2, e3);
249 unsafe
static Vector64<short> SoftwareFallback(
short e0,
short e1,
short e2,
short e3)
251 short*
source = stackalloc
short[4] { e0, e1, e2, e3 };
262 return SoftwareFallback(e0, e1);
265 int*
source = stackalloc
int[2] { e0, e1 };
271 [CLSCompliant(
false)]
272 public static Vector64<sbyte> Create(sbyte e0, sbyte e1, sbyte e2, sbyte e3, sbyte e4, sbyte e5, sbyte e6, sbyte e7)
277 return SoftwareFallback(e0, e1, e2, e3, e4, e5, e6, e7);
278 unsafe
static Vector64<sbyte> SoftwareFallback(sbyte e0, sbyte e1, sbyte e2, sbyte e3, sbyte e4, sbyte e5, sbyte e6, sbyte e7)
280 sbyte*
source = stackalloc sbyte[8] { e0, e1, e2, e3, e4, e5, e6, e7 };
291 return SoftwareFallback(e0, e1);
294 float*
source = stackalloc
float[2] { e0, e1 };
300 [CLSCompliant(
false)]
306 return SoftwareFallback(e0, e1, e2, e3);
307 unsafe
static Vector64<ushort> SoftwareFallback(ushort e0, ushort e1, ushort e2, ushort e3)
309 ushort*
source = stackalloc ushort[4] { e0, e1, e2, e3 };
315 [CLSCompliant(
false)]
321 return SoftwareFallback(e0, e1);
324 uint*
source = stackalloc uint[2] { e0, e1 };
334 return SoftwareFallback(
value);
348 return SoftwareFallback(
value);
360 return SoftwareFallback(
value);
374 return SoftwareFallback(
value);
388 return SoftwareFallback(
value);
395 [CLSCompliant(
false)]
401 return SoftwareFallback(
value);
415 return SoftwareFallback(
value);
424 [CLSCompliant(
false)]
430 return SoftwareFallback(
value);
439 [CLSCompliant(
false)]
445 return SoftwareFallback(
value);
454 [CLSCompliant(
false)]
460 return SoftwareFallback(
value);
470 byte* ptr = stackalloc
byte[8];
478 short* ptr = stackalloc
short[4];
486 int* ptr = stackalloc
int[2];
491 [CLSCompliant(
false)]
495 sbyte* ptr = stackalloc sbyte[8];
503 float* ptr = stackalloc
float[2];
508 [CLSCompliant(
false)]
512 ushort* ptr = stackalloc ushort[4];
517 [CLSCompliant(
false)]
521 uint* ptr = stackalloc uint[2];
529 ThrowHelper.ThrowForUnsupportedIntrinsicsVectorBaseType<T>();
540 ThrowHelper.ThrowForUnsupportedIntrinsicsVectorBaseType<T>();
553 ThrowHelper.ThrowForUnsupportedIntrinsicsVectorBaseType<T>();
560 ThrowHelper.ThrowForUnsupportedIntrinsicsVectorBaseType<T>();
569 ThrowHelper.ThrowForUnsupportedIntrinsicsVectorBaseType<T>();
570 byte*
source = stackalloc
byte[16];
575[StructLayout(
LayoutKind.Sequential, Size = 8)]
577[DebuggerDisplay(
"{DisplayString,nq}")]
581 private readonly ulong
_00;
588 ThrowHelper.ThrowForUnsupportedIntrinsicsVectorBaseType<T>();
589 return 8 /
Unsafe.SizeOf<T>();
598 ThrowHelper.ThrowForUnsupportedIntrinsicsVectorBaseType<T>();
608 ThrowHelper.ThrowForUnsupportedIntrinsicsVectorBaseType<T>();
630 if (!(typeof(T) == typeof(
byte)) && !(typeof(T) == typeof(sbyte)) && !(typeof(T) == typeof(
short)) && !(typeof(T) == typeof(ushort)) && !(typeof(T) == typeof(
int)) && !(typeof(T) == typeof(uint)) && !(typeof(T) == typeof(
long)) && !(typeof(T) == typeof(ulong)) && !(typeof(T) == typeof(
float)))
632 return typeof(T) == typeof(
double);
640 ThrowHelper.ThrowForUnsupportedIntrinsicsVectorBaseType<T>();
641 for (
int i = 0; i <
Count; i++)
651 public override bool Equals([NotNullWhen(
true)]
object?
obj)
662 ThrowHelper.ThrowForUnsupportedIntrinsicsVectorBaseType<T>();
664 for (
int i = 0; i <
Count; i++)
666 hashCode.
Add(this.GetElement(i).GetHashCode());
668 return hashCode.ToHashCode();
673 ThrowHelper.ThrowForUnsupportedIntrinsicsVectorBaseType<T>();
675 Span<char> initialBuffer = stackalloc
char[64];
678 valueStringBuilder.
Append(
'<');
679 for (
int i = 0; i < num; i++)
682 valueStringBuilder.
Append(
',');
683 valueStringBuilder.
Append(
' ');
686 valueStringBuilder.
Append(
'>');
687 return valueStringBuilder.
ToString();
static CultureInfo InvariantCulture
static new bool IsSupported
static new bool IsSupported
static Vector128< T > Zero
static Vector64< ushort > Create(ushort value)
static Vector64< short > CreateScalar(short value)
static unsafe Vector128< T > ToVector128Unsafe< T >(this Vector64< T > vector)
override string ToString()
static Vector64< T > WithElement< T >(this Vector64< T > vector, int index, T value)
static unsafe Vector64< sbyte > CreateScalarUnsafe(sbyte value)
static Vector64< int > Create(int e0, int e1)
static Vector64< long > CreateScalar(long value)
static Vector64< sbyte > Create(sbyte e0, sbyte e1, sbyte e2, sbyte e3, sbyte e4, sbyte e5, sbyte e6, sbyte e7)
static Vector64< U > As< T, U >(this Vector64< T > vector)
bool Equals(Vector64< T > other)
static Vector64< float > Create(float e0, float e1)
static Vector64< byte > Create(byte value)
static Vector64< float > AsSingle< T >(this Vector64< T > vector)
static unsafe Vector64< float > CreateScalarUnsafe(float value)
static Vector64< ushort > CreateScalar(ushort value)
static Vector64< long > AsInt64< T >(this Vector64< T > vector)
static Vector64< byte > AsByte< T >(this Vector64< T > vector)
static unsafe Vector64< uint > CreateScalarUnsafe(uint value)
static unsafe Vector64< int > CreateScalarUnsafe(int value)
static Vector64< sbyte > AsSByte< T >(this Vector64< T > vector)
static Vector64< double > CreateScalar(double value)
static Vector128< T > ToVector128< T >(this Vector64< T > vector)
static Vector64< byte > Create(byte e0, byte e1, byte e2, byte e3, byte e4, byte e5, byte e6, byte e7)
static Vector64< float > Create(float value)
static Vector64< int > CreateScalar(int value)
static Vector64< short > Create(short e0, short e1, short e2, short e3)
static Vector64< T > Zero
static T ToScalar< T >(this Vector64< T > vector)
static Vector64< short > Create(short value)
override int GetHashCode()
static unsafe Vector64< ushort > CreateScalarUnsafe(ushort value)
static Vector64< sbyte > CreateScalar(sbyte value)
static Vector64< sbyte > Create(sbyte value)
static Vector64< uint > Create(uint value)
static Vector64< ushort > Create(ushort e0, ushort e1, ushort e2, ushort e3)
static Vector64< uint > CreateScalar(uint value)
static Vector64< uint > Create(uint e0, uint e1)
static Vector64< ulong > CreateScalar(ulong value)
static Vector64< int > Create(int value)
static Vector64< float > CreateScalar(float value)
static T GetElement< T >(this Vector64< T > vector, int index)
static Vector64< double > Create(double value)
static Vector64< long > Create(long value)
static Vector64< T > AllBitsSet
static Vector64< byte > CreateScalar(byte value)
static Vector64< ulong > AsUInt64< T >(this Vector64< T > vector)
override bool Equals([NotNullWhen(true)] object? obj)
static Vector64< ushort > AsUInt16< T >(this Vector64< T > vector)
static unsafe Vector64< short > CreateScalarUnsafe(short value)
static Vector64< int > AsInt32< T >(this Vector64< T > vector)
static Vector64< short > AsInt16< T >(this Vector64< T > vector)
static Vector64< uint > AsUInt32< T >(this Vector64< T > vector)
static Vector64< double > AsDouble< T >(this Vector64< T > vector)
static unsafe Vector64< byte > CreateScalarUnsafe(byte value)
static Vector64< ulong > Create(ulong value)
static string NotSupported_Type
static void ThrowArgumentOutOfRangeException(System.ExceptionArgument argument)
override string ToString()