System.Numerics.Vector
Provides a collection of static convenience methods for creating, manipulating, combining, and converting generic vectors.
namespace System.Numerics
{
public static class Vector
{
public static bool IsHardwareAccelerated { get; }
public static void Widen(Vector<byte> source, out Vector<ushort> low, out Vector<ushort> high);
public static void Widen(Vector<ushort> source, out Vector<uint> low, out Vector<uint> high);
public static void Widen(Vector<uint> source, out Vector<ulong> low, out Vector<ulong> high);
public static void Widen(Vector<sbyte> source, out Vector<short> low, out Vector<short> high);
public static void Widen(Vector<short> source, out Vector<int> low, out Vector<int> high);
public static void Widen(Vector<int> source, out Vector<long> low, out Vector<long> high);
public static void Widen(Vector<float> source, out Vector<double> low, out Vector<double> high);
public static Vector<byte> Narrow(Vector<ushort> low, Vector<ushort> high);
public static Vector<ushort> Narrow(Vector<uint> low, Vector<uint> high);
public static Vector<uint> Narrow(Vector<ulong> low, Vector<ulong> high);
public static Vector<sbyte> Narrow(Vector<short> low, Vector<short> high);
public static Vector<short> Narrow(Vector<int> low, Vector<int> high);
public static Vector<int> Narrow(Vector<long> low, Vector<long> high);
public static Vector<float> Narrow(Vector<double> low, Vector<double> high);
public static Vector<float> ConvertToSingle(Vector<int> value);
public static Vector<float> ConvertToSingle(Vector<uint> value);
public static Vector<double> ConvertToDouble(Vector<long> value);
public static Vector<double> ConvertToDouble(Vector<ulong> value);
public static Vector<int> ConvertToInt32(Vector<float> value);
public static Vector<uint> ConvertToUInt32(Vector<float> value);
public static Vector<long> ConvertToInt64(Vector<double> value);
public static Vector<ulong> ConvertToUInt64(Vector<double> value);
public static Vector<float> ConditionalSelect(Vector<int> condition, Vector<float> left, Vector<float> right);
public static Vector<double> ConditionalSelect(Vector<long> condition, Vector<double> left, Vector<double> right);
public static Vector<T> ConditionalSelect<T>(Vector<T> condition, Vector<T> left, Vector<T> right) where T : struct;
public static Vector<T> Equals<T>(Vector<T> left, Vector<T> right) where T : struct;
public static Vector<int> Equals(Vector<float> left, Vector<float> right);
public static Vector<int> Equals(Vector<int> left, Vector<int> right);
public static Vector<long> Equals(Vector<double> left, Vector<double> right);
public static Vector<long> Equals(Vector<long> left, Vector<long> right);
public static bool EqualsAll<T>(Vector<T> left, Vector<T> right) where T : struct;
public static bool EqualsAny<T>(Vector<T> left, Vector<T> right) where T : struct;
public static Vector<T> LessThan<T>(Vector<T> left, Vector<T> right) where T : struct;
public static Vector<int> LessThan(Vector<float> left, Vector<float> right);
public static Vector<int> LessThan(Vector<int> left, Vector<int> right);
public static Vector<long> LessThan(Vector<double> left, Vector<double> right);
public static Vector<long> LessThan(Vector<long> left, Vector<long> right);
public static bool LessThanAll<T>(Vector<T> left, Vector<T> right) where T : struct;
public static bool LessThanAny<T>(Vector<T> left, Vector<T> right) where T : struct;
public static Vector<T> LessThanOrEqual<T>(Vector<T> left, Vector<T> right) where T : struct;
public static Vector<int> LessThanOrEqual(Vector<float> left, Vector<float> right);
public static Vector<int> LessThanOrEqual(Vector<int> left, Vector<int> right);
public static Vector<long> LessThanOrEqual(Vector<long> left, Vector<long> right);
public static Vector<long> LessThanOrEqual(Vector<double> left, Vector<double> right);
public static bool LessThanOrEqualAll<T>(Vector<T> left, Vector<T> right) where T : struct;
public static bool LessThanOrEqualAny<T>(Vector<T> left, Vector<T> right) where T : struct;
public static Vector<T> GreaterThan<T>(Vector<T> left, Vector<T> right) where T : struct;
public static Vector<int> GreaterThan(Vector<float> left, Vector<float> right);
public static Vector<int> GreaterThan(Vector<int> left, Vector<int> right);
public static Vector<long> GreaterThan(Vector<double> left, Vector<double> right);
public static Vector<long> GreaterThan(Vector<long> left, Vector<long> right);
public static bool GreaterThanAll<T>(Vector<T> left, Vector<T> right) where T : struct;
public static bool GreaterThanAny<T>(Vector<T> left, Vector<T> right) where T : struct;
public static Vector<T> GreaterThanOrEqual<T>(Vector<T> left, Vector<T> right) where T : struct;
public static Vector<int> GreaterThanOrEqual(Vector<float> left, Vector<float> right);
public static Vector<int> GreaterThanOrEqual(Vector<int> left, Vector<int> right);
public static Vector<long> GreaterThanOrEqual(Vector<long> left, Vector<long> right);
public static Vector<long> GreaterThanOrEqual(Vector<double> left, Vector<double> right);
public static bool GreaterThanOrEqualAll<T>(Vector<T> left, Vector<T> right) where T : struct;
public static bool GreaterThanOrEqualAny<T>(Vector<T> left, Vector<T> right) where T : struct;
public static Vector<T> Abs<T>(Vector<T> value) where T : struct;
public static Vector<T> Min<T>(Vector<T> left, Vector<T> right) where T : struct;
public static Vector<T> Max<T>(Vector<T> left, Vector<T> right) where T : struct;
public static T Dot<T>(Vector<T> left, Vector<T> right) where T : struct;
public static Vector<T> SquareRoot<T>(Vector<T> value) where T : struct;
public static Vector<T> Add<T>(Vector<T> left, Vector<T> right) where T : struct;
public static Vector<T> Subtract<T>(Vector<T> left, Vector<T> right) where T : struct;
public static Vector<T> Multiply<T>(Vector<T> left, Vector<T> right) where T : struct;
public static Vector<T> Multiply<T>(Vector<T> left, T right) where T : struct;
public static Vector<T> Multiply<T>(T left, Vector<T> right) where T : struct;
public static Vector<T> Divide<T>(Vector<T> left, Vector<T> right) where T : struct;
public static Vector<T> Negate<T>(Vector<T> value) where T : struct;
public static Vector<T> BitwiseAnd<T>(Vector<T> left, Vector<T> right) where T : struct;
public static Vector<T> BitwiseOr<T>(Vector<T> left, Vector<T> right) where T : struct;
public static Vector<T> OnesComplement<T>(Vector<T> value) where T : struct;
public static Vector<T> Xor<T>(Vector<T> left, Vector<T> right) where T : struct;
public static Vector<T> AndNot<T>(Vector<T> left, Vector<T> right) where T : struct;
public static Vector<byte> AsVectorByte<T>(Vector<T> value) where T : struct;
public static Vector<sbyte> AsVectorSByte<T>(Vector<T> value) where T : struct;
public static Vector<ushort> AsVectorUInt16<T>(Vector<T> value) where T : struct;
public static Vector<short> AsVectorInt16<T>(Vector<T> value) where T : struct;
public static Vector<uint> AsVectorUInt32<T>(Vector<T> value) where T : struct;
public static Vector<int> AsVectorInt32<T>(Vector<T> value) where T : struct;
public static Vector<ulong> AsVectorUInt64<T>(Vector<T> value) where T : struct;
public static Vector<long> AsVectorInt64<T>(Vector<T> value) where T : struct;
public static Vector<float> AsVectorSingle<T>(Vector<T> value) where T : struct;
public static Vector<double> AsVectorDouble<T>(Vector<T> value) where T : struct;
}
}