58 references to AsDouble
System.Numerics.Tensors (49)
System\Numerics\Tensors\netcore\TensorPrimitives.Cbrt.cs (1)
42
return ExpOperator<double>.Invoke(LogOperator<double>.Invoke(x.
AsDouble
()) / Vector128.Create(3d)).As<double, T>();
System\Numerics\Tensors\netcore\TensorPrimitives.Ceiling.cs (1)
40
return Vector128.Ceiling(x.
AsDouble
()).As<double, T>();
System\Numerics\Tensors\netcore\TensorPrimitives.ConvertToInteger.cs (2)
50
if (typeof(TTo) == typeof(long)) return Vector128.ConvertToInt64(x.
AsDouble
()).As<long, TTo>();
51
if (typeof(TTo) == typeof(ulong)) return Vector128.ConvertToUInt64(x.
AsDouble
()).As<ulong, TTo>();
System\Numerics\Tensors\netcore\TensorPrimitives.ConvertToIntegerNative.cs (2)
50
if (typeof(TTo) == typeof(long)) return Vector128.ConvertToInt64Native(x.
AsDouble
()).As<long, TTo>();
51
if (typeof(TTo) == typeof(ulong)) return Vector128.ConvertToUInt64Native(x.
AsDouble
()).As<ulong, TTo>();
System\Numerics\Tensors\netcore\TensorPrimitives.Cos.cs (1)
73
return Vector128.Cos(x.
AsDouble
()).As<double, T>();
System\Numerics\Tensors\netcore\TensorPrimitives.Cosh.cs (1)
86
Vector128<double> x = t.
AsDouble
();
System\Numerics\Tensors\netcore\TensorPrimitives.CosPi.cs (1)
57
return ApplyScalar<CosPiOperator<double>>(x.
AsDouble
()).As<double, T>();
System\Numerics\Tensors\netcore\TensorPrimitives.DegreesToRadians.cs (1)
37
return Vector128.DegreesToRadians(x.
AsDouble
()).As<double, T>();
System\Numerics\Tensors\netcore\TensorPrimitives.Exp.cs (1)
47
return Vector128.Exp(x.
AsDouble
()).As<double, T>();
System\Numerics\Tensors\netcore\TensorPrimitives.Floor.cs (1)
40
return Vector128.Floor(x.
AsDouble
()).As<double, T>();
System\Numerics\Tensors\netcore\TensorPrimitives.FusedMultiplyAdd.cs (3)
106
return Vector128.FusedMultiplyAdd(x.
AsDouble
(), y.
AsDouble
(), z.
AsDouble
()).As<double, T>();
System\Numerics\Tensors\netcore\TensorPrimitives.Hypot.cs (2)
41
return Vector128.Hypot(x.
AsDouble
(), y.
AsDouble
()).As<double, T>();
System\Numerics\Tensors\netcore\TensorPrimitives.IndexOfMax.cs (3)
475
if (typeof(T) == typeof(double)) return Sse41.BlendVariable(left.
AsDouble
(), right.
AsDouble
(), (~mask).
AsDouble
()).As<double, T>();
System\Numerics\Tensors\netcore\TensorPrimitives.Lerp.cs (3)
85
return Vector128.Lerp(x.
AsDouble
(), y.
AsDouble
(), amount.
AsDouble
()).As<double, T>();
System\Numerics\Tensors\netcore\TensorPrimitives.Log.cs (1)
89
return Vector128.Log(x.
AsDouble
()).As<double, T>();
System\Numerics\Tensors\netcore\TensorPrimitives.Log2.cs (1)
49
return Vector128.Log2(x.
AsDouble
()).As<double, T>();
System\Numerics\Tensors\netcore\TensorPrimitives.MultiplyAddEstimate.cs (3)
129
return Vector128.MultiplyAddEstimate(x.
AsDouble
(), y.
AsDouble
(), z.
AsDouble
()).As<double, T>();
System\Numerics\Tensors\netcore\TensorPrimitives.Pow.cs (2)
75
return ExpOperator<double>.Invoke(y.
AsDouble
() * LogOperator<double>.Invoke(x.
AsDouble
())).As<double, T>();
System\Numerics\Tensors\netcore\TensorPrimitives.RadiansToDegrees.cs (1)
37
return Vector128.RadiansToDegrees(x.
AsDouble
()).As<double, T>();
System\Numerics\Tensors\netcore\TensorPrimitives.Reciprocal.cs (4)
102
if (typeof(T) == typeof(double)) return Avx512F.VL.Reciprocal14(x.
AsDouble
()).As<double, T>();
118
if (typeof(T) == typeof(double)) return AdvSimd.Arm64.ReciprocalEstimate(x.
AsDouble
()).As<double, T>();
168
if (typeof(T) == typeof(double)) return Avx512F.VL.ReciprocalSqrt14(x.
AsDouble
()).As<double, T>();
184
if (typeof(T) == typeof(double)) return AdvSimd.Arm64.ReciprocalSquareRootEstimate(x.
AsDouble
()).As<double, T>();
System\Numerics\Tensors\netcore\TensorPrimitives.Remainder.cs (1)
78
typeof(T) == typeof(double) ? x - (TruncateOperator<double>.Invoke((x / y).
AsDouble
()).As<double, T>() * y) :
System\Numerics\Tensors\netcore\TensorPrimitives.RootN.cs (1)
44
return ExpOperator<double>.Invoke(LogOperator<double>.Invoke(x.
AsDouble
()) / Vector128.Create((double)_n)).As<double, T>();
System\Numerics\Tensors\netcore\TensorPrimitives.Round.cs (4)
184
return Vector128.Round(x.
AsDouble
()).As<double, T>();
259
return AdvSimd.Arm64.RoundAwayFromZero(x.
AsDouble
()).As<double, T>();
263
return TruncateOperator<double>.Invoke(x.
AsDouble
() + CopySignOperator<double>.Invoke(Vector128.Create(0.49999999999999994), x.
AsDouble
())).As<double, T>();
System\Numerics\Tensors\netcore\TensorPrimitives.Sin.cs (1)
63
return Vector128.Sin(x.
AsDouble
()).As<double, T>();
System\Numerics\Tensors\netcore\TensorPrimitives.Sinh.cs (1)
70
Vector128<double> x = t.
AsDouble
();
System\Numerics\Tensors\netcore\TensorPrimitives.SinPi.cs (1)
57
return ApplyScalar<SinPiOperator<double>>(x.
AsDouble
()).As<double, T>();
System\Numerics\Tensors\netcore\TensorPrimitives.Tan.cs (3)
70
return TanOperatorDouble.Invoke(x.
AsDouble
()).As<double, T>();
295
Vector128<double> result = (poly.AsUInt64() ^ (x.AsUInt64() & Vector128.Create(~SignMask))).
AsDouble
();
296
return Vector128.ConditionalSelect(Vector128.Equals(odd, Vector128<ulong>.Zero).
AsDouble
(),
System\Numerics\Tensors\netcore\TensorPrimitives.Tanh.cs (1)
76
Vector128<double> x = t.
AsDouble
();
System\Numerics\Tensors\netcore\TensorPrimitives.Truncate.cs (1)
38
return Vector128.Truncate(x.
AsDouble
()).As<double, T>();
System.Private.CoreLib (9)
src\libraries\System.Private.CoreLib\src\System\Runtime\Intrinsics\Vector128.cs (9)
382
Vector128<double> result = Sse2.Subtract(upperBits.
AsDouble
(), Create(0x45300000_80100000).
AsDouble
()); // Compute in double precision: (upper - (2^84 + 2^63 + 2^52)) + lower
383
return Sse2.Add(result, lowerBits.
AsDouble
());
423
Vector128<double> result = Sse2.Subtract(upperBits.
AsDouble
(), Create(0x45300000_00100000UL).
AsDouble
()); // Compute in double precision: (upper - (2^84 + 2^52)) + lower
424
return Sse2.Add(result, lowerBits.
AsDouble
());
1863
return VectorMath.IsEvenIntegerDouble<Vector128<double>, Vector128<ulong>>(vector.
AsDouble
()).As<double, T>();
1990
return VectorMath.IsOddIntegerDouble<Vector128<double>, Vector128<ulong>>(vector.
AsDouble
()).As<double, T>();
3752
Unsafe.WriteUnaligned(ref address, source.
AsDouble
().ToScalar());