125 references to As
System.Numerics.Tensors (93)
System\Numerics\Tensors\netcore\TensorPrimitives.Cbrt.cs (2)
63return ExpOperator<float>.Invoke(LogOperator<float>.Invoke(x.AsSingle()) / Vector512.Create(3f)).As<float, T>(); 68return ExpOperator<double>.Invoke(LogOperator<double>.Invoke(x.AsDouble()) / Vector512.Create(3d)).As<double, T>();
System\Numerics\Tensors\netcore\TensorPrimitives.Ceiling.cs (2)
68return Vector512.Ceiling(x.AsSingle()).As<float, T>(); 73return Vector512.Ceiling(x.AsDouble()).As<double, T>();
System\Numerics\Tensors\netcore\TensorPrimitives.ConvertToInteger.cs (4)
81Vector512.ConvertToInt32(x.AsSingle()).As<int, TTo>() : 82Vector512.ConvertToUInt32(x.AsSingle()).As<uint, TTo>(); 88Vector512.ConvertToInt64(x.AsDouble()).As<long, TTo>() : 89Vector512.ConvertToUInt64(x.AsDouble()).As<ulong, TTo>();
System\Numerics\Tensors\netcore\TensorPrimitives.ConvertToIntegerNative.cs (4)
80Vector512.ConvertToInt32Native(x.AsSingle()).As<int, TTo>() : 81Vector512.ConvertToUInt32Native(x.AsSingle()).As<uint, TTo>(); 87Vector512.ConvertToInt64Native(x.AsDouble()).As<long, TTo>() : 88Vector512.ConvertToUInt64Native(x.AsDouble()).As<ulong, TTo>();
System\Numerics\Tensors\netcore\TensorPrimitives.Cos.cs (2)
131return Vector512.Cos(x.AsDouble()).As<double, T>(); 136return Vector512.Cos(x.AsSingle()).As<float, T>();
System\Numerics\Tensors\netcore\TensorPrimitives.Cosh.cs (2)
130return (Vector512.Create((float)Single_HALFV) * (z + (Vector512.Create((float)Single_INVV2) / z))).As<float, T>(); 139return (Vector512.Create(Double_HALFV) * (z + (Vector512.Create(Double_INVV2) / z))).As<double, T>();
System\Numerics\Tensors\netcore\TensorPrimitives.CosPi.cs (2)
102return ApplyScalar<CosPiOperator<float>>(x.AsSingle()).As<float, T>(); 110return ApplyScalar<CosPiOperator<double>>(x.AsDouble()).As<double, T>();
System\Numerics\Tensors\netcore\TensorPrimitives.DegreesToRadians.cs (2)
78return Vector512.DegreesToRadians(x.AsDouble()).As<double, T>(); 83return Vector512.DegreesToRadians(x.AsSingle()).As<float, T>();
System\Numerics\Tensors\netcore\TensorPrimitives.Exp.cs (2)
104return Vector512.Exp(x.AsDouble()).As<double, T>(); 109return Vector512.Exp(x.AsSingle()).As<float, T>();
System\Numerics\Tensors\netcore\TensorPrimitives.Floor.cs (2)
68return Vector512.Floor(x.AsSingle()).As<float, T>(); 73return Vector512.Floor(x.AsDouble()).As<double, T>();
System\Numerics\Tensors\netcore\TensorPrimitives.FusedMultiplyAdd.cs (2)
207return Vector512.FusedMultiplyAdd(x.AsDouble(), y.AsDouble(), z.AsDouble()).As<double, T>(); 212return Vector512.FusedMultiplyAdd(x.AsSingle(), y.AsSingle(), z.AsSingle()).As<float, T>();
System\Numerics\Tensors\netcore\TensorPrimitives.Hypot.cs (2)
82return Vector512.Hypot(x.AsDouble(), y.AsDouble()).As<double, T>(); 87return Vector512.Hypot(x.AsSingle(), y.AsSingle()).As<float, T>();
System\Numerics\Tensors\netcore\TensorPrimitives.IndexOfMax.cs (19)
99Vector512<T> sameSign = Vector512.Equals(IsNegative(result).AsInt32(), currentNegative.AsInt32()).As<int, T>(); 154sizeof(T) == sizeof(long) ? Vector512.Create((long)i).As<long, T>() : 155sizeof(T) == sizeof(int) ? Vector512.Create(i).As<int, T>() : 156sizeof(T) == sizeof(short) ? Vector512.Create((short)i).As<short, T>() : 157Vector512.Create((byte)i).As<byte, T>(); 162sizeof(T) == sizeof(long) ? Vector512<long>.Indices.As<long, T>() : 163sizeof(T) == sizeof(int) ? Vector512<int>.Indices.As<int, T>() : 164sizeof(T) == sizeof(short) ? Vector512<short>.Indices.As<short, T>() : 165Vector512<byte>.Indices.As<byte, T>(); 227(int)(long)(object)currentIndex.As<T, long>()[indexInVectorOfFirstMatch] : 228(int)(object)currentIndex.As<T, int>()[indexInVectorOfFirstMatch]; 461sizeof(T) == sizeof(long) ? Vector512.LessThan(indices1.AsInt64(), indices2.AsInt64()).As<long, T>() : 462sizeof(T) == sizeof(int) ? Vector512.LessThan(indices1.AsInt32(), indices2.AsInt32()).As<int, T>() : 463sizeof(T) == sizeof(short) ? Vector512.LessThan(indices1.AsInt16(), indices2.AsInt16()).As<short, T>() : 464Vector512.LessThan(indices1.AsByte(), indices2.AsByte()).As<byte, T>(); 508if (typeof(T) == typeof(float)) return Avx512F.BlendVariable(left.AsSingle(), right.AsSingle(), (~mask).AsSingle()).As<float, T>(); 509if (typeof(T) == typeof(double)) return Avx512F.BlendVariable(left.AsDouble(), right.AsDouble(), (~mask).AsDouble()).As<double, T>(); 511if (sizeof(T) == 4) return Avx512F.BlendVariable(left.AsUInt32(), right.AsUInt32(), (~mask).AsUInt32()).As<uint, T>(); 512if (sizeof(T) == 8) return Avx512F.BlendVariable(left.AsUInt64(), right.AsUInt64(), (~mask).AsUInt64()).As<ulong, T>();
System\Numerics\Tensors\netcore\TensorPrimitives.IndexOfMaxMagnitude.cs (1)
99Vector512<T> sameSign = Vector512.Equals(IsNegative(result).AsInt32(), currentNegative.AsInt32()).As<int, T>();
System\Numerics\Tensors\netcore\TensorPrimitives.IndexOfMin.cs (1)
96Vector512<T> sameSign = Vector512.Equals(resultNegative.AsInt32(), IsNegative(current).AsInt32()).As<int, T>();
System\Numerics\Tensors\netcore\TensorPrimitives.IndexOfMinMagnitude.cs (1)
99Vector512<T> sameSign = Vector512.Equals(resultNegative.AsInt32(), IsNegative(current).AsInt32()).As<int, T>();
System\Numerics\Tensors\netcore\TensorPrimitives.LeadingZeroCount.cs (4)
155return Avx512F.And(bit7ZeroMask, Avx512Vbmi.PermuteVar64x8x2(lookupVectorA, x.AsByte(), lookupVectorB)).As<byte, T>(); 168return Avx512F.Or(lz_bot16, lz_top16_shift).AsUInt16().As<ushort, T>(); 173return Avx512CD.LeadingZeroCount(x.AsUInt32()).As<uint, T>(); 178return Avx512CD.LeadingZeroCount(x.AsUInt64()).As<ulong, T>();
System\Numerics\Tensors\netcore\TensorPrimitives.Lerp.cs (2)
142return Vector512.Lerp(x.AsDouble(), y.AsDouble(), amount.AsDouble()).As<double, T>(); 147return Vector512.Lerp(x.AsSingle(), y.AsSingle(), amount.AsSingle()).As<float, T>();
System\Numerics\Tensors\netcore\TensorPrimitives.Log.cs (2)
160return Vector512.Log(x.AsDouble()).As<double, T>(); 165return Vector512.Log(x.AsSingle()).As<float, T>();
System\Numerics\Tensors\netcore\TensorPrimitives.Log2.cs (2)
106return Vector512.Log2(x.AsDouble()).As<double, T>(); 111return Vector512.Log2(x.AsSingle()).As<float, T>();
System\Numerics\Tensors\netcore\TensorPrimitives.MultiplyAddEstimate.cs (2)
208return Vector512.MultiplyAddEstimate(x.AsDouble(), y.AsDouble(), z.AsDouble()).As<double, T>(); 212return Vector512.MultiplyAddEstimate(x.AsSingle(), y.AsSingle(), z.AsSingle()).As<float, T>();
System\Numerics\Tensors\netcore\TensorPrimitives.PopCount.cs (3)
199return ((tmp + (tmp.AsUInt16() >> 4).AsByte()) & c3).As<byte, T>(); 213return tmp.As<ushort, T>(); 227return tmp.As<uint, T>();
System\Numerics\Tensors\netcore\TensorPrimitives.Pow.cs (2)
96return ExpOperator<float>.Invoke(y.AsSingle() * LogOperator<float>.Invoke(x.AsSingle())).As<float, T>(); 101return ExpOperator<double>.Invoke(y.AsDouble() * LogOperator<double>.Invoke(x.AsDouble())).As<double, T>();
System\Numerics\Tensors\netcore\TensorPrimitives.RadiansToDegrees.cs (2)
71return Vector512.RadiansToDegrees(x.AsDouble()).As<double, T>(); 76return Vector512.RadiansToDegrees(x.AsSingle()).As<float, T>();
System\Numerics\Tensors\netcore\TensorPrimitives.Reciprocal.cs (4)
175if (typeof(T) == typeof(float)) return Avx512F.Reciprocal14(x.AsSingle()).As<float, T>(); 176if (typeof(T) == typeof(double)) return Avx512F.Reciprocal14(x.AsDouble()).As<double, T>(); 241if (typeof(T) == typeof(float)) return Avx512F.ReciprocalSqrt14(x.AsSingle()).As<float, T>(); 242if (typeof(T) == typeof(double)) return Avx512F.ReciprocalSqrt14(x.AsDouble()).As<double, T>();
System\Numerics\Tensors\netcore\TensorPrimitives.Remainder.cs (2)
108typeof(T) == typeof(float) ? x - (TruncateOperator<float>.Invoke((x / y).AsSingle()).As<float, T>() * y) : 109typeof(T) == typeof(double) ? x - (TruncateOperator<double>.Invoke((x / y).AsDouble()).As<double, T>() * y) :
System\Numerics\Tensors\netcore\TensorPrimitives.RootN.cs (2)
65return ExpOperator<float>.Invoke(LogOperator<float>.Invoke(x.AsSingle()) / Vector512.Create((float)_n)).As<float, T>(); 70return ExpOperator<double>.Invoke(LogOperator<double>.Invoke(x.AsDouble()) / Vector512.Create((double)_n)).As<double, T>();
System\Numerics\Tensors\netcore\TensorPrimitives.Round.cs (4)
234return Vector512.Round(x.AsDouble()).As<double, T>(); 239return Vector512.Round(x.AsSingle()).As<float, T>(); 296return TruncateOperator<float>.Invoke(x.AsSingle() + CopySignOperator<float>.Invoke(Vector512.Create(0.49999997f), x.AsSingle())).As<float, T>(); 301return TruncateOperator<double>.Invoke(x.AsDouble() + CopySignOperator<double>.Invoke(Vector512.Create(0.49999999999999994), x.AsDouble())).As<double, T>();
System\Numerics\Tensors\netcore\TensorPrimitives.Sin.cs (2)
120return Vector512.Sin(x.AsDouble()).As<double, T>(); 125return Vector512.Sin(x.AsSingle()).As<float, T>();
System\Numerics\Tensors\netcore\TensorPrimitives.Sinh.cs (2)
122return (sign ^ result.AsUInt32()).As<uint, T>(); 133return (sign ^ result.AsUInt64()).As<ulong, T>();
System\Numerics\Tensors\netcore\TensorPrimitives.SinPi.cs (2)
102return ApplyScalar<SinPiOperator<float>>(x.AsSingle()).As<float, T>(); 110return ApplyScalar<SinPiOperator<double>>(x.AsDouble()).As<double, T>();
System\Numerics\Tensors\netcore\TensorPrimitives.Tan.cs (2)
98return TanOperatorSingle.Invoke(x.AsSingle()).As<float, T>(); 103return TanOperatorDouble.Invoke(x.AsDouble()).As<double, T>();
System\Numerics\Tensors\netcore\TensorPrimitives.Tanh.cs (2)
123return (sign ^ (-z / (z + Vector512.Create(2f))).AsUInt32()).As<uint, T>(); 132return (sign ^ (-z / (z + Vector512.Create(2d))).AsUInt64()).As<ulong, T>();
System\Numerics\Tensors\netcore\TensorPrimitives.Truncate.cs (2)
115return Vector512.Truncate(x.AsDouble()).As<double, T>(); 120return Vector512.Truncate(x.AsSingle()).As<float, T>();
System.Private.CoreLib (32)
src\libraries\System.Private.CoreLib\src\System\Runtime\Intrinsics\Vector512.cs (30)
186public static Vector512<byte> AsByte<T>(this Vector512<T> vector) => vector.As<T, byte>(); 194public static Vector512<double> AsDouble<T>(this Vector512<T> vector) => vector.As<T, double>(); 202public static Vector512<short> AsInt16<T>(this Vector512<T> vector) => vector.As<T, short>(); 210public static Vector512<int> AsInt32<T>(this Vector512<T> vector) => vector.As<T, int>(); 218public static Vector512<long> AsInt64<T>(this Vector512<T> vector) => vector.As<T, long>(); 226public static Vector512<nint> AsNInt<T>(this Vector512<T> vector) => vector.As<T, nint>(); 235public static Vector512<nuint> AsNUInt<T>(this Vector512<T> vector) => vector.As<T, nuint>(); 244public static Vector512<sbyte> AsSByte<T>(this Vector512<T> vector) => vector.As<T, sbyte>(); 252public static Vector512<float> AsSingle<T>(this Vector512<T> vector) => vector.As<T, float>(); 261public static Vector512<ushort> AsUInt16<T>(this Vector512<T> vector) => vector.As<T, ushort>(); 270public static Vector512<uint> AsUInt32<T>(this Vector512<T> vector) => vector.As<T, uint>(); 279public static Vector512<ulong> AsUInt64<T>(this Vector512<T> vector) => vector.As<T, ulong>(); 2001return VectorMath.IsEvenIntegerSingle<Vector512<float>, Vector512<uint>>(vector.AsSingle()).As<float, T>(); 2005return VectorMath.IsEvenIntegerDouble<Vector512<double>, Vector512<ulong>>(vector.AsDouble()).As<double, T>(); 2017return ~IsZero(AndNot(Create<uint>(float.PositiveInfinityBits), vector.AsUInt32())).As<uint, T>(); 2021return ~IsZero(AndNot(Create<ulong>(double.PositiveInfinityBits), vector.AsUInt64())).As<ulong, T>(); 2077return LessThan(vector.AsInt32(), Vector512<int>.Zero).As<int, T>(); 2081return LessThan(vector.AsInt64(), Vector512<long>.Zero).As<long, T>(); 2096return Equals(vector, Create(float.NegativeInfinity).As<float, T>()); 2100return Equals(vector, Create(double.NegativeInfinity).As<double, T>()); 2112return LessThan(Abs(vector).AsUInt32() - Create<uint>(float.SmallestNormalBits), Create<uint>(float.PositiveInfinityBits - float.SmallestNormalBits)).As<uint, T>(); 2116return LessThan(Abs(vector).AsUInt64() - Create<ulong>(double.SmallestNormalBits), Create<ulong>(double.PositiveInfinityBits - double.SmallestNormalBits)).As<ulong, T>(); 2128return VectorMath.IsOddIntegerSingle<Vector512<float>, Vector512<uint>>(vector.AsSingle()).As<float, T>(); 2132return VectorMath.IsOddIntegerDouble<Vector512<double>, Vector512<ulong>>(vector.AsDouble()).As<double, T>(); 2152return GreaterThanOrEqual(vector.AsInt32(), Vector512<int>.Zero).As<int, T>(); 2156return GreaterThanOrEqual(vector.AsInt64(), Vector512<long>.Zero).As<long, T>(); 2171return Equals(vector, Create(float.PositiveInfinity).As<float, T>()); 2175return Equals(vector, Create(double.PositiveInfinity).As<double, T>()); 2187return LessThan(Abs(vector).AsUInt32() - Vector512<uint>.One, Create<uint>(float.MaxTrailingSignificand)).As<uint, T>(); 2191return LessThan(Abs(vector).AsUInt64() - Vector512<ulong>.One, Create<ulong>(double.MaxTrailingSignificand)).As<ulong, T>();
src\libraries\System.Private.CoreLib\src\System\Runtime\Intrinsics\Vector512_1.cs (2)
343return vector ^ Vector512.Create(-0.0f).As<float, T>(); 347return vector ^ Vector512.Create(-0.0).As<double, T>();