public static Vector128 <bool> op_LogicalNot(Vector128 <bool> vector) => (Vector128.Create((byte)1) ^ vector.As <byte>()).As <bool>();
public static Vector128 <long> op_Division(Vector128 <long> vector, long scalar) => Vector128.Create( Sse2.X64.ConvertToInt64(vector) / scalar, Sse41.X64.Extract(vector, 1) / scalar);
public static Vector128 <long> op_Modulus(Vector128 <long> left, Vector128 <long> right) => Vector128.Create( Sse2.X64.ConvertToInt64(left) % Sse2.X64.ConvertToInt64(right), Sse41.X64.Extract(left, 1) % Sse41.X64.Extract(right, 1));
public static Vector128 <long> op_Multiply(Vector128 <long> vector, long scalar) => Vector128.Create( Sse2.X64.ConvertToInt64(vector) * scalar, Sse41.X64.Extract(vector, 1) * scalar);
public static Vector128 <long> op_Division(Vector128 <long> left, Vector128 <long> right) => Vector128.Create( Sse2.X64.ConvertToInt64(left) / Sse2.X64.ConvertToInt64(right), Sse41.X64.Extract(left, 1) / Sse41.X64.Extract(right, 1));
public static Vector128 <uint> op_LessThan(Vector128 <uint> left, Vector128 <uint> right) { var offset = Vector128.Create(int.MinValue); return(Sse2.CompareLessThan(Sse2.Add(left.As <int>(), offset), Sse2.Add(right.As <int>(), offset)).AsUInt32()); }
public static Vector128 <short> op_Multiply(short scalar, Vector128 <short> vector) => op_Multiply(vector, Vector128.Create(scalar));
public static Vector128 <uint> op_Division(Vector128 <uint> vector, uint scalar) => Vector128.Create( Sse2.ConvertToUInt32(vector) / scalar, Sse41.Extract(vector, 1) / scalar, Sse41.Extract(vector, 2) / scalar, Sse41.Extract(vector, 3) / scalar);
public static Vector128 <uint> op_Modulus(Vector128 <uint> left, Vector128 <uint> right) => Vector128.Create( Sse2.ConvertToUInt32(left) % Sse2.ConvertToUInt32(right), Sse41.Extract(left, 1) % Sse41.Extract(right, 1), Sse41.Extract(left, 2) % Sse41.Extract(right, 2), Sse41.Extract(left, 3) % Sse41.Extract(right, 3));
public static Vector128 <uint> op_Multiply(uint scalar, Vector128 <uint> vector) => op_Multiply(vector, Vector128.Create(scalar));
public static Vector128 <uint> op_Division(Vector128 <uint> left, Vector128 <uint> right) => Vector128.Create( Sse2.ConvertToUInt32(left) / Sse2.ConvertToUInt32(right), Sse41.Extract(left, 1) / Sse41.Extract(right, 1), Sse41.Extract(left, 2) / Sse41.Extract(right, 2), Sse41.Extract(left, 3) / Sse41.Extract(right, 3));
public static Vector128 <ulong> op_GreaterThan(Vector128 <ulong> left, Vector128 <ulong> right) { var offset = Vector128.Create(long.MinValue); return(Sse42.CompareGreaterThan(Sse2.Add(left.As <long>(), offset), Sse2.Add(right.As <long>(), offset)).AsUInt64()); }
public static Vector128 <ulong> op_Multiply(Vector128 <ulong> left, Vector128 <ulong> right) => Vector128.Create( Sse2.X64.ConvertToUInt64(left) * Sse2.X64.ConvertToUInt64(right), Sse41.X64.Extract(left, 1) * Sse41.X64.Extract(right, 1));
public static Vector128 <sbyte> op_Multiply(sbyte scalar, Vector128 <sbyte> vector) => op_Multiply(vector, Vector128.Create(scalar));
public static Vector128 <float> op_Modulus(Vector128 <float> left, Vector128 <float> right) => Vector128.Create( ((System.Runtime.Intrinsics.Vector128 <float>)left).ToScalar() % ((System.Runtime.Intrinsics.Vector128 <float>)right).ToScalar(), Sse41.Extract(left, 1) % Sse41.Extract(right, 1), Sse41.Extract(left, 2) % Sse41.Extract(right, 2), Sse41.Extract(left, 3) % Sse41.Extract(right, 3));
public static Vector128 <byte> op_LessThan(Vector128 <byte> left, Vector128 <byte> right) { var offset = Vector128.Create(sbyte.MinValue); return(Sse2.CompareLessThan(Sse2.Add(left.As <sbyte>(), offset), Sse2.Add(right.As <sbyte>(), offset)).AsByte()); }