1 instantiation of ReadOnlyTensorSpan
System.Numerics.Tensors (1)
System\Numerics\Tensors\netcore\ReadOnlyTensorSpan.cs (1)
641public static implicit operator ReadOnlyTensorSpan<T>(T[]? array) => new ReadOnlyTensorSpan<T>(array);
907 references to ReadOnlyTensorSpan
System.Numerics.Tensors (907)
System\Numerics\Tensors\netcore\IReadOnlyTensor.cs (8)
65/// <returns>The converted <see cref="ReadOnlyTensorSpan{T}"/>.</returns> 66ReadOnlyTensorSpan<T> AsReadOnlyTensorSpan(); 72/// <returns>The converted <see cref="ReadOnlyTensorSpan{T}"/>.</returns> 73ReadOnlyTensorSpan<T> AsReadOnlyTensorSpan(params scoped ReadOnlySpan<nint> start); 79/// <returns>The converted <see cref="ReadOnlyTensorSpan{T}"/>.</returns> 80ReadOnlyTensorSpan<T> AsReadOnlyTensorSpan(params scoped ReadOnlySpan<NIndex> startIndex); 86/// <returns>The converted <see cref="ReadOnlyTensorSpan{T}"/>.</returns> 87ReadOnlyTensorSpan<T> AsReadOnlyTensorSpan(params scoped ReadOnlySpan<NRange> range);
System\Numerics\Tensors\netcore\ReadOnlyTensorSpan.cs (27)
109/// Creates a new <see cref="ReadOnlyTensorSpan{T}"/> over the provided <see cref="ReadOnlySpan{T}"/>. The new <see cref="ReadOnlyTensorSpan{T}"/> will 116/// Creates a new <see cref="ReadOnlyTensorSpan{T}"/> over the provided <see cref="Span{T}"/> using the specified lengths and strides. 139/// Creates a new <see cref="ReadOnlyTensorSpan{T}"/> over the provided <see cref="Array"/>. The new <see cref="ReadOnlyTensorSpan{T}"/> will 156/// Creates a new <see cref="ReadOnlyTensorSpan{T}"/> over the provided <see cref="Array"/> using the specified start offsets, lengths, and strides. 204/// Creates a new <see cref="ReadOnlyTensorSpan{T}"/> over the provided <see cref="Array"/> using the specified start offsets, lengths, and strides. 370public ReadOnlyTensorSpan<T> this[params scoped ReadOnlySpan<NRange> ranges] 413public static bool operator !=(ReadOnlyTensorSpan<T> left, ReadOnlyTensorSpan<T> right) => !(left == right); 419public static bool operator ==(ReadOnlyTensorSpan<T> left, ReadOnlyTensorSpan<T> right) => 452public static ReadOnlyTensorSpan<T> Empty => default; 461public static ReadOnlyTensorSpan<T> CastUp<TDerived>(ReadOnlyTensorSpan<TDerived> items) where TDerived : class?, T 469/// <summary>Enumerates the elements of a <see cref="ReadOnlyTensorSpan{T}"/>.</summary> 473private readonly ReadOnlyTensorSpan<T> _span; 482internal Enumerator(ReadOnlyTensorSpan<T> span) 562ReadOnlyTensorSpan<T> srcSlice = Tensor.LazyBroadcast(this, tempLengths); 618ReadOnlyTensorSpan<T> srcSlice = Tensor.LazyBroadcast(this, tempLengths); 641public static implicit operator ReadOnlyTensorSpan<T>(T[]? array) => new ReadOnlyTensorSpan<T>(array); 655public ReadOnlyTensorSpan<T> Slice(params scoped ReadOnlySpan<NIndex> indexes) 669/// <returns>A <see cref="ReadOnlyTensorSpan{T}"/> based on the provided <paramref name="lengths"/>.</returns> 670internal ReadOnlyTensorSpan<T> Slice(scoped ReadOnlySpan<nint> lengths) 684/// <returns>A <see cref="ReadOnlyTensorSpan{T}"/> based on the provided <paramref name="ranges"/>.</returns> 686public ReadOnlyTensorSpan<T> Slice(params scoped ReadOnlySpan<NRange> ranges) 691ReadOnlyTensorSpan<T> toReturn;
System\Numerics\Tensors\netcore\Tensor.cs (14)
383public static implicit operator ReadOnlyTensorSpan<T>(Tensor<T> value) => new ReadOnlyTensorSpan<T>(ref MemoryMarshal.GetArrayDataReference(value._values), value._lengths, value._strides, value.FlattenedLength); 413/// Converts this <see cref="Tensor{T}"/> to a <see cref="ReadOnlyTensorSpan{T}"/> pointing to the same backing memory."/> 415/// <returns><see cref="ReadOnlyTensorSpan{T}"/></returns> 416public ReadOnlyTensorSpan<T> AsReadOnlyTensorSpan() => new ReadOnlyTensorSpan<T>(ref MemoryMarshal.GetArrayDataReference(_values), _lengths, _strides, _flattenedLength); 419/// Converts this <see cref="Tensor{T}"/> to a <see cref="ReadOnlyTensorSpan{T}"/> pointing to the same backing memory based on the provided ranges."/> 421/// <param name="start">The ranges you want in the <see cref="ReadOnlyTensorSpan{T}"/></param> 423public ReadOnlyTensorSpan<T> AsReadOnlyTensorSpan(params scoped ReadOnlySpan<NRange> start) => AsTensorSpan().Slice(start); 426/// Converts this <see cref="Tensor{T}"/> to a <see cref="ReadOnlyTensorSpan{T}"/> pointing to the same backing memory based on the provided start locations."/> 428/// <param name="start">The start locations you want in the <see cref="ReadOnlyTensorSpan{T}"/></param> 430public ReadOnlyTensorSpan<T> AsReadOnlyTensorSpan(params scoped ReadOnlySpan<nint> start) => Slice(start); 433/// Converts this <see cref="Tensor{T}"/> to a <see cref="ReadOnlyTensorSpan{T}"/> pointing to the same backing memory based on the provided start indexes."/> 435/// <param name="startIndex">The start indexes you want in the <see cref="ReadOnlyTensorSpan{T}"/></param> 437public ReadOnlyTensorSpan<T> AsReadOnlyTensorSpan(params scoped ReadOnlySpan<NIndex> startIndex) => AsTensorSpan().Slice(startIndex); 670((ReadOnlyTensorSpan<T>)AsTensorSpan()).ToString(sb, maximumLengths);
System\Numerics\Tensors\netcore\TensorExtensions.cs (843)
34public static ReadOnlyTensorSpan<T> AsReadOnlyTensorSpan<T>(this T[]? array, params scoped ReadOnlySpan<nint> lengths) => new(array, 0, lengths, default); 54public static T Average<T>(scoped in ReadOnlyTensorSpan<T> x) 68public static Tensor<T> Broadcast<T>(scoped in ReadOnlyTensorSpan<T> source, scoped in ReadOnlyTensorSpan<T> lengthsSource) 80public static Tensor<T> Broadcast<T>(scoped in ReadOnlyTensorSpan<T> source, scoped ReadOnlySpan<nint> lengths) 84ReadOnlyTensorSpan<T> intermediate = LazyBroadcast(source, newSize); 103ReadOnlyTensorSpan<T> intermediate = LazyBroadcast(source, newSize); 118ReadOnlyTensorSpan<T> intermediate = LazyBroadcast(source, newSize); 127public static void BroadcastTo<T>(in this ReadOnlyTensorSpan<T> source, in TensorSpan<T> destination) 133ReadOnlyTensorSpan<T> intermediate = LazyBroadcast(source, newSize); 189internal static ReadOnlyTensorSpan<T> LazyBroadcast<T>(in ReadOnlyTensorSpan<T> input, ReadOnlySpan<nint> shape) 447/// Compares the elements of two <see cref="ReadOnlyTensorSpan{T}"/> for equality. If the shapes are not the same, the tensors are broadcasted to the smallest broadcastable size 450/// <param name="x">First <see cref="ReadOnlyTensorSpan{T}"/> to compare.</param> 451/// <param name="y">Second <see cref="ReadOnlyTensorSpan{T}"/> to compare.</param> 453public static Tensor<bool> Equals<T>(in ReadOnlyTensorSpan<T> x, in ReadOnlyTensorSpan<T> y) 472/// Compares the elements of two <see cref="ReadOnlyTensorSpan{T}"/> for equality. If the shapes are not the same, the tensors are broadcasted to the smallest broadcastable size 475/// <param name="x">First <see cref="ReadOnlyTensorSpan{T}"/> to compare.</param> 476/// <param name="y">Second <see cref="ReadOnlyTensorSpan{T}"/> to compare.</param> 479public static ref readonly TensorSpan<bool> Equals<T>(scoped in ReadOnlyTensorSpan<T> x, scoped in ReadOnlyTensorSpan<T> y, in TensorSpan<bool> destination) 528/// Compares the elements of two <see cref="ReadOnlyTensorSpan{T}"/> for equality. If the shapes are not the same, the tensors are broadcasted to the smallest broadcastable size 531/// <param name="x">First <see cref="ReadOnlyTensorSpan{T}"/> to compare.</param> 534public static Tensor<bool> Equals<T>(in ReadOnlyTensorSpan<T> x, T y) 543/// Compares the elements of two <see cref="ReadOnlyTensorSpan{T}"/> for equality. If the shapes are not the same, the tensors are broadcasted to the smallest broadcastable size 546/// <param name="x">First <see cref="ReadOnlyTensorSpan{T}"/> to compare.</param> 550public static ref readonly TensorSpan<bool> Equals<T>(scoped in ReadOnlyTensorSpan<T> x, T y, in TensorSpan<bool> destination) 586/// Compares the elements of two <see cref="ReadOnlyTensorSpan{T}"/> to see if all elements of <paramref name="x"/> are equal to <paramref name="y"/>. 590/// <param name="x">First <see cref="ReadOnlyTensorSpan{T}"/> to compare.</param> 591/// <param name="y">Second <see cref="ReadOnlyTensorSpan{T}"/> to compare against.</param> 593public static bool EqualsAll<T>(in ReadOnlyTensorSpan<T> x, in ReadOnlyTensorSpan<T> y) 598ReadOnlyTensorSpan<T> broadcastedLeft = LazyBroadcast(x, newSize); 599ReadOnlyTensorSpan<T> broadcastedRight = LazyBroadcast(y, newSize); 630/// Compares the elements of two <see cref="ReadOnlyTensorSpan{T}"/> to see if all elements of <paramref name="x"/> are equal to <paramref name="y"/>. 634/// <param name="x">First <see cref="ReadOnlyTensorSpan{T}"/> to compare.</param> 635/// <param name="y">Second <see cref="ReadOnlyTensorSpan{T}"/> to compare against.</param> 637public static bool EqualsAll<T>(in ReadOnlyTensorSpan<T> x, T y) 671/// Compares the elements of two <see cref="ReadOnlyTensorSpan{T}"/> to see if any elements of <paramref name="x"/> are equal to <paramref name="y"/>. 675/// <param name="x">First <see cref="ReadOnlyTensorSpan{T}"/> to compare.</param> 676/// <param name="y">Second <see cref="ReadOnlyTensorSpan{T}"/> to compare against.</param> 678public static bool EqualsAny<T>(in ReadOnlyTensorSpan<T> x, in ReadOnlyTensorSpan<T> y) 682ReadOnlyTensorSpan<T> broadcastedLeft = LazyBroadcast(x, newSize); 683ReadOnlyTensorSpan<T> broadcastedRight = LazyBroadcast(y, newSize); 714/// Compares the elements of two <see cref="ReadOnlyTensorSpan{T}"/> to see if any elements of <paramref name="x"/> are equal to <paramref name="y"/>. 718/// <param name="x">First <see cref="ReadOnlyTensorSpan{T}"/> to compare.</param> 721public static bool EqualsAny<T>(in ReadOnlyTensorSpan<T> x, T y) 760public static ref readonly TensorSpan<T> FilteredUpdate<T>(in this TensorSpan<T> tensor, scoped in ReadOnlyTensorSpan<bool> filter, T value) 786public static ref readonly TensorSpan<T> FilteredUpdate<T>(in this TensorSpan<T> tensor, scoped in ReadOnlyTensorSpan<bool> filter, scoped in ReadOnlyTensorSpan<T> values) 812/// Compares the elements of two <see cref="ReadOnlyTensorSpan{T}"/> to see which elements of <paramref name="x"/> are greater than <paramref name="y"/>. 817/// <param name="x">First <see cref="ReadOnlyTensorSpan{T}"/> to compare.</param> 818/// <param name="y">Second <see cref="ReadOnlyTensorSpan{T}"/> to compare.</param> 821public static Tensor<bool> GreaterThan<T>(in ReadOnlyTensorSpan<T> x, in ReadOnlyTensorSpan<T> y) 840/// Compares the elements of two <see cref="ReadOnlyTensorSpan{T}"/> to see which elements of <paramref name="x"/> are greater than <paramref name="y"/>. 845/// <param name="x">First <see cref="ReadOnlyTensorSpan{T}"/> to compare.</param> 846/// <param name="y">Second <see cref="ReadOnlyTensorSpan{T}"/> to compare.</param> 850public static ref readonly TensorSpan<bool> GreaterThan<T>(scoped in ReadOnlyTensorSpan<T> x, scoped in ReadOnlyTensorSpan<T> y, in TensorSpan<bool> destination) 899/// Compares the elements of a <see cref="ReadOnlyTensorSpan{T}"/> to see which elements are greater than <paramref name="y"/>. 903/// <param name="x"><see cref="ReadOnlyTensorSpan{T}"/> to compare.</param> 907public static Tensor<bool> GreaterThan<T>(in ReadOnlyTensorSpan<T> x, T y) 916/// Compares the elements of a <see cref="ReadOnlyTensorSpan{T}"/> to see which elements are greater than <paramref name="y"/>. 920/// <param name="x"><see cref="ReadOnlyTensorSpan{T}"/> to compare.</param> 925public static ref readonly TensorSpan<bool> GreaterThan<T>(scoped in ReadOnlyTensorSpan<T> x, T y, in TensorSpan<bool> destination) 963/// <param name="x"><see cref="ReadOnlyTensorSpan{T}"/> to compare.</param> 967public static Tensor<bool> GreaterThan<T>(T x, in ReadOnlyTensorSpan<T> y) 980/// <param name="x"><see cref="ReadOnlyTensorSpan{T}"/> to compare.</param> 985public static ref readonly TensorSpan<bool> GreaterThan<T>(T x, scoped in ReadOnlyTensorSpan<T> y, in TensorSpan<bool> destination) 1021/// Compares the elements of two <see cref="ReadOnlyTensorSpan{T}"/> to see which elements of <paramref name="x"/> are greater than or equal to <paramref name="y"/>. 1026/// <param name="x">First <see cref="ReadOnlyTensorSpan{T}"/> to compare.</param> 1027/// <param name="y">Second <see cref="ReadOnlyTensorSpan{T}"/> to compare.</param> 1030public static Tensor<bool> GreaterThanOrEqual<T>(in ReadOnlyTensorSpan<T> x, in ReadOnlyTensorSpan<T> y) 1049/// Compares the elements of two <see cref="ReadOnlyTensorSpan{T}"/> to see which elements of <paramref name="x"/> are greater than or equal to <paramref name="y"/>. 1054/// <param name="x">First <see cref="ReadOnlyTensorSpan{T}"/> to compare.</param> 1055/// <param name="y">Second <see cref="ReadOnlyTensorSpan{T}"/> to compare.</param> 1059public static ref readonly TensorSpan<bool> GreaterThanOrEqual<T>(scoped in ReadOnlyTensorSpan<T> x, scoped in ReadOnlyTensorSpan<T> y, in TensorSpan<bool> destination) 1108/// Compares the elements of a <see cref="ReadOnlyTensorSpan{T}"/> to see which elements are greater than or equal to <paramref name="y"/>. 1112/// <param name="x"><see cref="ReadOnlyTensorSpan{T}"/> to compare.</param> 1116public static Tensor<bool> GreaterThanOrEqual<T>(in ReadOnlyTensorSpan<T> x, T y) 1125/// Compares the elements of a <see cref="ReadOnlyTensorSpan{T}"/> to see which elements are greater than or equal to <paramref name="y"/>. 1129/// <param name="x"><see cref="ReadOnlyTensorSpan{T}"/> to compare.</param> 1134public static ref readonly TensorSpan<bool> GreaterThanOrEqual<T>(scoped in ReadOnlyTensorSpan<T> x, T y, in TensorSpan<bool> destination) 1172/// <param name="x"><see cref="ReadOnlyTensorSpan{T}"/> to compare.</param> 1176public static Tensor<bool> GreaterThanOrEqual<T>(T x, in ReadOnlyTensorSpan<T> y) 1189/// <param name="x"><see cref="ReadOnlyTensorSpan{T}"/> to compare.</param> 1194public static ref readonly TensorSpan<bool> GreaterThanOrEqual<T>(T x, scoped in ReadOnlyTensorSpan<T> y, in TensorSpan<bool> destination) 1230/// Compares the elements of two <see cref="ReadOnlyTensorSpan{T}"/> to see if any elements of <paramref name="x"/> are greater than <paramref name="y"/>. 1234/// <param name="x">First <see cref="ReadOnlyTensorSpan{T}"/> to compare.</param> 1235/// <param name="y">Second <see cref="ReadOnlyTensorSpan{T}"/> to compare against.</param> 1237public static bool GreaterThanAny<T>(in ReadOnlyTensorSpan<T> x, in ReadOnlyTensorSpan<T> y) 1241ReadOnlyTensorSpan<T> broadcastedLeft = LazyBroadcast(x, newSize); 1242ReadOnlyTensorSpan<T> broadcastedRight = LazyBroadcast(y, newSize); 1273/// Compares the elements of two <see cref="ReadOnlyTensorSpan{T}"/> to see if any elements of <paramref name="x"/> are greater than <paramref name="y"/>. 1277/// <param name="x">First <see cref="ReadOnlyTensorSpan{T}"/> to compare.</param> 1280public static bool GreaterThanAny<T>(in ReadOnlyTensorSpan<T> x, T y) 1312/// Compares the elements of two <see cref="ReadOnlyTensorSpan{T}"/> to see if any elements of <paramref name="y"/> are greater than <paramref name="x"/>. 1316/// <param name="y">First <see cref="ReadOnlyTensorSpan{T}"/> to compare.</param> 1319public static bool GreaterThanAny<T>(T x, in ReadOnlyTensorSpan<T> y) 1353/// Compares the elements of two <see cref="ReadOnlyTensorSpan{T}"/> to see if any elements of <paramref name="x"/> are greater than <paramref name="y"/>. 1357/// <param name="x">First <see cref="ReadOnlyTensorSpan{T}"/> to compare.</param> 1358/// <param name="y">Second <see cref="ReadOnlyTensorSpan{T}"/> to compare against.</param> 1360public static bool GreaterThanOrEqualAny<T>(in ReadOnlyTensorSpan<T> x, in ReadOnlyTensorSpan<T> y) 1364ReadOnlyTensorSpan<T> broadcastedLeft = LazyBroadcast(x, newSize); 1365ReadOnlyTensorSpan<T> broadcastedRight = LazyBroadcast(y, newSize); 1396/// Compares the elements of two <see cref="ReadOnlyTensorSpan{T}"/> to see if any elements of <paramref name="x"/> are greater than <paramref name="y"/>. 1400/// <param name="x">First <see cref="ReadOnlyTensorSpan{T}"/> to compare.</param> 1403public static bool GreaterThanOrEqualAny<T>(in ReadOnlyTensorSpan<T> x, T y) 1435/// Compares the elements of two <see cref="ReadOnlyTensorSpan{T}"/> to see if any elements of <paramref name="y"/> are greater than <paramref name="x"/>. 1439/// <param name="y">First <see cref="ReadOnlyTensorSpan{T}"/> to compare.</param> 1442public static bool GreaterThanOrEqualAny<T>(T x, in ReadOnlyTensorSpan<T> y) 1476/// Compares the elements of two <see cref="ReadOnlyTensorSpan{T}"/> to see if all elements of <paramref name="x"/> are greater than <paramref name="y"/>. 1480/// <param name="x">First <see cref="ReadOnlyTensorSpan{T}"/> to compare.</param> 1481/// <param name="y">Second <see cref="ReadOnlyTensorSpan{T}"/> to compare against.</param> 1483public static bool GreaterThanAll<T>(in ReadOnlyTensorSpan<T> x, in ReadOnlyTensorSpan<T> y) 1488ReadOnlyTensorSpan<T> broadcastedLeft = LazyBroadcast(x, newSize); 1489ReadOnlyTensorSpan<T> broadcastedRight = LazyBroadcast(y, newSize); 1520/// Compares the elements of two <see cref="ReadOnlyTensorSpan{T}"/> to see if all elements of <paramref name="x"/> are greater than <paramref name="y"/>. 1524/// <param name="x">First <see cref="ReadOnlyTensorSpan{T}"/> to compare.</param> 1525/// <param name="y">Second <see cref="ReadOnlyTensorSpan{T}"/> to compare against.</param> 1527public static bool GreaterThanAll<T>(in ReadOnlyTensorSpan<T> x, T y) 1559/// Compares the elements of two <see cref="ReadOnlyTensorSpan{T}"/> to see if all elements of <paramref name="y"/> are greater than <paramref name="y"/>. 1563/// <param name="x">First <see cref="ReadOnlyTensorSpan{T}"/> to compare.</param> 1564/// <param name="y">Second <see cref="ReadOnlyTensorSpan{T}"/> to compare against.</param> 1566public static bool GreaterThanAll<T>(T x, in ReadOnlyTensorSpan<T> y) 1600/// Compares the elements of two <see cref="ReadOnlyTensorSpan{T}"/> to see if all elements of <paramref name="x"/> are greater than <paramref name="y"/>. 1604/// <param name="x">First <see cref="ReadOnlyTensorSpan{T}"/> to compare.</param> 1605/// <param name="y">Second <see cref="ReadOnlyTensorSpan{T}"/> to compare against.</param> 1607public static bool GreaterThanOrEqualAll<T>(in ReadOnlyTensorSpan<T> x, in ReadOnlyTensorSpan<T> y) 1612ReadOnlyTensorSpan<T> broadcastedLeft = LazyBroadcast(x, newSize); 1613ReadOnlyTensorSpan<T> broadcastedRight = LazyBroadcast(y, newSize); 1644/// Compares the elements of two <see cref="ReadOnlyTensorSpan{T}"/> to see if all elements of <paramref name="x"/> are greater than <paramref name="y"/>. 1648/// <param name="x">First <see cref="ReadOnlyTensorSpan{T}"/> to compare.</param> 1649/// <param name="y">Second <see cref="ReadOnlyTensorSpan{T}"/> to compare against.</param> 1651public static bool GreaterThanOrEqualAll<T>(in ReadOnlyTensorSpan<T> x, T y) 1683/// Compares the elements of two <see cref="ReadOnlyTensorSpan{T}"/> to see if all elements of <paramref name="y"/> are greater than <paramref name="y"/>. 1687/// <param name="x">First <see cref="ReadOnlyTensorSpan{T}"/> to compare.</param> 1688/// <param name="y">Second <see cref="ReadOnlyTensorSpan{T}"/> to compare against.</param> 1690public static bool GreaterThanOrEqualAll<T>(T x, in ReadOnlyTensorSpan<T> y) 1724/// Compares the elements of two <see cref="ReadOnlyTensorSpan{T}"/> to see which elements of <paramref name="x"/> are less than <paramref name="y"/>. 1729/// <param name="x">First <see cref="ReadOnlyTensorSpan{T}"/> to compare.</param> 1730/// <param name="y">Second <see cref="ReadOnlyTensorSpan{T}"/> to compare.</param> 1733public static Tensor<bool> LessThan<T>(in ReadOnlyTensorSpan<T> x, in ReadOnlyTensorSpan<T> y) 1752/// Compares the elements of two <see cref="ReadOnlyTensorSpan{T}"/> to see which elements of <paramref name="x"/> are less than <paramref name="y"/>. 1757/// <param name="x">First <see cref="ReadOnlyTensorSpan{T}"/> to compare.</param> 1758/// <param name="y">Second <see cref="ReadOnlyTensorSpan{T}"/> to compare.</param> 1762public static ref readonly TensorSpan<bool> LessThan<T>(scoped in ReadOnlyTensorSpan<T> x, scoped in ReadOnlyTensorSpan<T> y, in TensorSpan<bool> destination) 1819public static Tensor<bool> LessThan<T>(in ReadOnlyTensorSpan<T> x, T y) 1837public static ref readonly TensorSpan<bool> LessThan<T>(scoped in ReadOnlyTensorSpan<T> x, T y, in TensorSpan<bool> destination) 1879public static Tensor<bool> LessThan<T>(T x, in ReadOnlyTensorSpan<T> y) 1897public static ref readonly TensorSpan<bool> LessThan<T>(T x, scoped in ReadOnlyTensorSpan<T> y, in TensorSpan<bool> destination) 1933/// Compares the elements of two <see cref="ReadOnlyTensorSpan{T}"/> to see which elements of <paramref name="x"/> are less than <paramref name="y"/>. 1938/// <param name="x">First <see cref="ReadOnlyTensorSpan{T}"/> to compare.</param> 1939/// <param name="y">Second <see cref="ReadOnlyTensorSpan{T}"/> to compare.</param> 1942public static Tensor<bool> LessThanOrEqual<T>(in ReadOnlyTensorSpan<T> x, in ReadOnlyTensorSpan<T> y) 1961/// Compares the elements of two <see cref="ReadOnlyTensorSpan{T}"/> to see which elements of <paramref name="x"/> are less than <paramref name="y"/>. 1966/// <param name="x">First <see cref="ReadOnlyTensorSpan{T}"/> to compare.</param> 1967/// <param name="y">Second <see cref="ReadOnlyTensorSpan{T}"/> to compare.</param> 1971public static ref readonly TensorSpan<bool> LessThanOrEqual<T>(scoped in ReadOnlyTensorSpan<T> x, scoped in ReadOnlyTensorSpan<T> y, in TensorSpan<bool> destination) 2028public static Tensor<bool> LessThanOrEqual<T>(in ReadOnlyTensorSpan<T> x, T y) 2046public static ref readonly TensorSpan<bool> LessThanOrEqual<T>(scoped in ReadOnlyTensorSpan<T> x, T y, in TensorSpan<bool> destination) 2088public static Tensor<bool> LessThanOrEqual<T>(T x, in ReadOnlyTensorSpan<T> y) 2106public static ref readonly TensorSpan<bool> LessThanOrEqual<T>(T x, scoped in ReadOnlyTensorSpan<T> y, in TensorSpan<bool> destination) 2142/// Compares the elements of two <see cref="ReadOnlyTensorSpan{T}"/> to see if any elements of <paramref name="x"/> are less than <paramref name="y"/>. 2146/// <param name="x">First <see cref="ReadOnlyTensorSpan{T}"/> to compare.</param> 2147/// <param name="y">Second <see cref="ReadOnlyTensorSpan{T}"/> to compare against.</param> 2149public static bool LessThanAny<T>(in ReadOnlyTensorSpan<T> x, in ReadOnlyTensorSpan<T> y) 2154ReadOnlyTensorSpan<T> broadcastedLeft = LazyBroadcast(x, newSize); 2155ReadOnlyTensorSpan<T> broadcastedRight = LazyBroadcast(y, newSize); 2186/// Compares the elements of two <see cref="ReadOnlyTensorSpan{T}"/> to see if any elements of <paramref name="x"/> are less than <paramref name="y"/>. 2190/// <param name="x">First <see cref="ReadOnlyTensorSpan{T}"/> to compare.</param> 2193public static bool LessThanAny<T>(in ReadOnlyTensorSpan<T> x, T y) 2225/// Compares the elements of two <see cref="ReadOnlyTensorSpan{T}"/> to see if any elements of <paramref name="y"/> are less than <paramref name="y"/>. 2232public static bool LessThanAny<T>(T x, in ReadOnlyTensorSpan<T> y) 2266/// Compares the elements of two <see cref="ReadOnlyTensorSpan{T}"/> to see if any elements of <paramref name="x"/> are less than <paramref name="y"/>. 2270/// <param name="x">First <see cref="ReadOnlyTensorSpan{T}"/> to compare.</param> 2271/// <param name="y">Second <see cref="ReadOnlyTensorSpan{T}"/> to compare against.</param> 2273public static bool LessThanOrEqualAny<T>(in ReadOnlyTensorSpan<T> x, in ReadOnlyTensorSpan<T> y) 2278ReadOnlyTensorSpan<T> broadcastedLeft = LazyBroadcast(x, newSize); 2279ReadOnlyTensorSpan<T> broadcastedRight = LazyBroadcast(y, newSize); 2310/// Compares the elements of two <see cref="ReadOnlyTensorSpan{T}"/> to see if any elements of <paramref name="x"/> are less than <paramref name="y"/>. 2314/// <param name="x">First <see cref="ReadOnlyTensorSpan{T}"/> to compare.</param> 2317public static bool LessThanOrEqualAny<T>(in ReadOnlyTensorSpan<T> x, T y) 2349/// Compares the elements of two <see cref="ReadOnlyTensorSpan{T}"/> to see if any elements of <paramref name="y"/> are less than <paramref name="y"/>. 2356public static bool LessThanOrEqualAny<T>(T x, in ReadOnlyTensorSpan<T> y) 2390/// Compares the elements of two <see cref="ReadOnlyTensorSpan{T}"/> to see if all elements of <paramref name="x"/> are less than <paramref name="y"/>. 2394/// <param name="x">First <see cref="ReadOnlyTensorSpan{T}"/> to compare.</param> 2395/// <param name="y">Second <see cref="ReadOnlyTensorSpan{T}"/> to compare against.</param> 2397public static bool LessThanAll<T>(in ReadOnlyTensorSpan<T> x, in ReadOnlyTensorSpan<T> y) 2401ReadOnlyTensorSpan<T> broadcastedLeft = LazyBroadcast(x, newSize); 2402ReadOnlyTensorSpan<T> broadcastedRight = LazyBroadcast(y, newSize); 2433/// Compares the elements of two <see cref="ReadOnlyTensorSpan{T}"/> to see if all elements of <paramref name="x"/> are less than <paramref name="y"/>. 2437/// <param name="x">First <see cref="ReadOnlyTensorSpan{T}"/> to compare.</param> 2440public static bool LessThanAll<T>(in ReadOnlyTensorSpan<T> x, T y) 2472/// Compares the elements of two <see cref="ReadOnlyTensorSpan{T}"/> to see if all elements of <paramref name="y"/> are less than <paramref name="x"/>. 2479public static bool LessThanAll<T>(T x, in ReadOnlyTensorSpan<T> y) 2513/// Compares the elements of two <see cref="ReadOnlyTensorSpan{T}"/> to see if all elements of <paramref name="x"/> are less than <paramref name="y"/>. 2517/// <param name="x">First <see cref="ReadOnlyTensorSpan{T}"/> to compare.</param> 2518/// <param name="y">Second <see cref="ReadOnlyTensorSpan{T}"/> to compare against.</param> 2520public static bool LessThanOrEqualAll<T>(in ReadOnlyTensorSpan<T> x, in ReadOnlyTensorSpan<T> y) 2524ReadOnlyTensorSpan<T> broadcastedLeft = LazyBroadcast(x, newSize); 2525ReadOnlyTensorSpan<T> broadcastedRight = LazyBroadcast(y, newSize); 2556/// Compares the elements of two <see cref="ReadOnlyTensorSpan{T}"/> to see if all elements of <paramref name="x"/> are less than <paramref name="y"/>. 2560/// <param name="x">First <see cref="ReadOnlyTensorSpan{T}"/> to compare.</param> 2563public static bool LessThanOrEqualAll<T>(in ReadOnlyTensorSpan<T> x, T y) 2595/// Compares the elements of two <see cref="ReadOnlyTensorSpan{T}"/> to see if all elements of <paramref name="y"/> are less than <paramref name="x"/>. 2602public static bool LessThanOrEqualAll<T>(T x, in ReadOnlyTensorSpan<T> y) 2869public static ReadOnlyTensorSpan<T> Reshape<T>(in this ReadOnlyTensorSpan<T> tensor, params scoped ReadOnlySpan<nint> lengths) 2927ReadOnlyTensorSpan<T> output = new ReadOnlyTensorSpan<T>(ref tensor._reference, arrLengths, strides, tensor._shape._memoryLength); 2990/// <param name="tensor">Input <see cref="ReadOnlyTensorSpan{T}"/>.</param> 2992public static void ResizeTo<T>(scoped in ReadOnlyTensorSpan<T> tensor, in TensorSpan<T> destination) 3008public static Tensor<T> Reverse<T>(in ReadOnlyTensorSpan<T> tensor) 3022public static Tensor<T> ReverseDimension<T>(in ReadOnlyTensorSpan<T> tensor, int dimension) 3035public static ref readonly TensorSpan<T> Reverse<T>(scoped in ReadOnlyTensorSpan<T> tensor, in TensorSpan<T> destination) 3047public static ref readonly TensorSpan<T> ReverseDimension<T>(scoped in ReadOnlyTensorSpan<T> tensor, in TensorSpan<T> destination, int dimension) 3093ReadOnlyTensorSpan<T> islice = tensor.Slice(tensor.Lengths); 3118public static bool SequenceEqual<T>(this scoped in TensorSpan<T> tensor, scoped in ReadOnlyTensorSpan<T> other) 3130public static bool SequenceEqual<T>(this scoped in ReadOnlyTensorSpan<T> tensor, scoped in ReadOnlyTensorSpan<T> other) 3147public static Tensor<T> SetSlice<T>(this Tensor<T> tensor, in ReadOnlyTensorSpan<T> values, params ReadOnlySpan<NRange> ranges) 3160public static ref readonly TensorSpan<T> SetSlice<T>(this in TensorSpan<T> tensor, scoped in ReadOnlyTensorSpan<T> values, params scoped ReadOnlySpan<NRange> ranges) 3192public static Tensor<T>[] Split<T>(scoped in ReadOnlyTensorSpan<T> tensor, int splitCount, nint dimension) 3239ReadOnlyTensorSpan<T> islice = tensor.Slice(tensor.Lengths); 3378/// <param name="tensor">The <see cref="ReadOnlyTensorSpan{T}"/> to remove all dimensions of length 1.</param> 3379public static ReadOnlyTensorSpan<T> Squeeze<T>(in this ReadOnlyTensorSpan<T> tensor) 3388/// <param name="tensor">The <see cref="ReadOnlyTensorSpan{T}"/> to remove dimension of length 1.</param> 3390public static ReadOnlyTensorSpan<T> SqueezeDimension<T>(in this ReadOnlyTensorSpan<T> tensor, int dimension) 3514public static T StdDev<T>(in ReadOnlyTensorSpan<T> x) 3546((ReadOnlyTensorSpan<T>)tensor).ToString(maximumLengths); 3549/// Creates a <see cref="string"/> representation of the <see cref="ReadOnlyTensorSpan{T}"/>."/> 3552/// <param name="tensor">The <see cref="ReadOnlyTensorSpan{T}"/> you want to represent as a string.</param> 3554public static string ToString<T>(this in ReadOnlyTensorSpan<T> tensor, params ReadOnlySpan<nint> maximumLengths) 3561internal static void ToString<T>(this in ReadOnlyTensorSpan<T> tensor, StringBuilder sb, params ReadOnlySpan<nint> maximumLengths) 3585var sp = new ReadOnlyTensorSpan<T>(ref Unsafe.Add(ref tensor._reference, TensorSpanHelpers.ComputeLinearIndex(curIndexes, tensor.Strides, tensor.Lengths)), [tensor.Lengths[tensor.Rank - 1]], [1], tensor.Lengths[tensor.Rank - 1]); 3605public static string ToString<T>(this Tensor<T> tensor, params ReadOnlySpan<nint> maximumLengths) => ((ReadOnlyTensorSpan<T>)tensor).ToString(maximumLengths); 3639return TryBroadcastTo((ReadOnlyTensorSpan<T>)tensor, destination); 3650return TryBroadcastTo((ReadOnlyTensorSpan<T>)tensor, destination); 3657/// <param name="tensor">Input <see cref="ReadOnlyTensorSpan{T}"/>.</param> 3659public static bool TryBroadcastTo<T>(in this ReadOnlyTensorSpan<T> tensor, in TensorSpan<T> destination) 3751/// <param name="tensor">The <see cref="ReadOnlyTensorSpan{T}"/> to add a dimension of length 1.</param> 3753public static ReadOnlyTensorSpan<T> Unsqueeze<T>(in this ReadOnlyTensorSpan<T> tensor, int dimension) 3791/// <param name="x">The <see cref="ReadOnlyTensorSpan{T}"/> to take the abs of.</param> 3792public static Tensor<T> Abs<T>(in ReadOnlyTensorSpan<T> x) 3801/// Takes the absolute value of each element of the <see cref="ReadOnlyTensorSpan{T}"/> and returns a new <see cref="TensorSpan{T}"/> with the result. 3805public static ref readonly TensorSpan<T> Abs<T>(scoped in ReadOnlyTensorSpan<T> x, in TensorSpan<T> destination) 3816/// <param name="x">The <see cref="ReadOnlyTensorSpan{T}"/> to take the sin of.</param> 3817public static Tensor<T> Acos<T>(in ReadOnlyTensorSpan<T> x) 3830public static ref readonly TensorSpan<T> Acos<T>(scoped in ReadOnlyTensorSpan<T> x, in TensorSpan<T> destination) 3839/// Takes the inverse hyperbolic cosine of each element of the <see cref="ReadOnlyTensorSpan{T}"/> and returns a new <see cref="Tensor{T}"/> with the result. 3841/// <param name="x">The <see cref="ReadOnlyTensorSpan{T}"/> to take the sin of.</param> 3842public static Tensor<T> Acosh<T>(in ReadOnlyTensorSpan<T> x) 3855public static ref readonly TensorSpan<T> Acosh<T>(scoped in ReadOnlyTensorSpan<T> x, in TensorSpan<T> destination) 3866/// <param name="x">The <see cref="ReadOnlyTensorSpan{T}"/> to take the sin of.</param> 3867public static Tensor<T> AcosPi<T>(in ReadOnlyTensorSpan<T> x) 3878/// <param name="x">The <see cref="ReadOnlyTensorSpan{T}"/> to take the sin of.</param> 3880public static ref readonly TensorSpan<T> AcosPi<T>(scoped in ReadOnlyTensorSpan<T> x, in TensorSpan<T> destination) 3891/// <param name="x">The <see cref="ReadOnlyTensorSpan{T}"/> of values to add.</param> 3892/// <param name="y">The second <see cref="ReadOnlyTensorSpan{T}"/> of values to add.</param> 3893public static Tensor<T> Add<T>(in ReadOnlyTensorSpan<T> x, in ReadOnlyTensorSpan<T> y) 3913/// <param name="x">The <see cref="ReadOnlyTensorSpan{T}"/> of values to add.</param> 3915public static Tensor<T> Add<T>(in ReadOnlyTensorSpan<T> x, T y) 3924/// Adds each element of <paramref name="x"/> to each element of <paramref name="y"/> and returns a new <see cref="ReadOnlyTensorSpan{T}"/> with the result. 3926/// <param name="x">The <see cref="ReadOnlyTensorSpan{T}"/> of values to add.</param> 3927/// <param name="y">The second <see cref="ReadOnlyTensorSpan{T}"/> of values to add.</param> 3929public static ref readonly TensorSpan<T> Add<T>(scoped in ReadOnlyTensorSpan<T> x, scoped in ReadOnlyTensorSpan<T> y, in TensorSpan<T> destination) 3938/// <param name="x">The <see cref="ReadOnlyTensorSpan{T}"/> of values to add.</param> 3941public static ref readonly TensorSpan<T> Add<T>(scoped in ReadOnlyTensorSpan<T> x, T y, in TensorSpan<T> destination) 3950/// Takes the inverse sin of each element of the <see cref="ReadOnlyTensorSpan{T}"/> and returns a new <see cref="Tensor{T}"/> with the result. 3952/// <param name="x">The <see cref="ReadOnlyTensorSpan{T}"/> to take the sin of.</param> 3953public static Tensor<T> Asin<T>(in ReadOnlyTensorSpan<T> x) 3962/// Takes the inverse sin of each element of the <see cref="ReadOnlyTensorSpan{T}"/> and returns a new <see cref="TensorSpan{T}"/> with the result. 3964/// <param name="x">The <see cref="ReadOnlyTensorSpan{T}"/> to take the sin of.</param> 3966public static ref readonly TensorSpan<T> Asin<T>(scoped in ReadOnlyTensorSpan<T> x, in TensorSpan<T> destination) 3975/// Takes the inverse hyperbolic sine of each element of the <see cref="ReadOnlyTensorSpan{T}"/> and returns a new <see cref="Tensor{T}"/> with the result. 3977/// <param name="x">The <see cref="ReadOnlyTensorSpan{T}"/> to take the sin of.</param> 3978public static Tensor<T> Asinh<T>(in ReadOnlyTensorSpan<T> x) 3987/// Takes the inverse hyperbolic sine of each element of the <see cref="ReadOnlyTensorSpan{T}"/> and returns a new <see cref="TensorSpan{T}"/> with the result. 3989/// <param name="x">The <see cref="ReadOnlyTensorSpan{T}"/> to take the sin of.</param> 3991public static ref readonly TensorSpan<T> Asinh<T>(scoped in ReadOnlyTensorSpan<T> x, in TensorSpan<T> destination) 4000/// Takes the inverse hyperbolic sine divided by pi of each element of the <see cref="ReadOnlyTensorSpan{T}"/> and returns a new <see cref="Tensor{T}"/> with the result. 4002/// <param name="x">The <see cref="ReadOnlyTensorSpan{T}"/> to take the sin of.</param> 4003public static Tensor<T> AsinPi<T>(in ReadOnlyTensorSpan<T> x) 4012/// Takes the inverse hyperbolic sine divided by pi of each element of the <see cref="ReadOnlyTensorSpan{T}"/> and returns a new <see cref="TensorSpan{T}"/> with the result. 4014/// <param name="x">The <see cref="ReadOnlyTensorSpan{T}"/> to take the sin of.</param> 4016public static ref readonly TensorSpan<T> AsinPi<T>(scoped in ReadOnlyTensorSpan<T> x, in TensorSpan<T> destination) 4025/// Takes the arc tangent of each element of the <see cref="ReadOnlyTensorSpan{T}"/> and returns a new <see cref="Tensor{T}"/> with the result. 4027/// <param name="x">The input <see cref="ReadOnlyTensorSpan{T}"/></param> 4028public static Tensor<T> Atan<T>(in ReadOnlyTensorSpan<T> x) 4037/// Takes the arc tangent of each element of the <see cref="ReadOnlyTensorSpan{T}"/> and returns a new <see cref="TensorSpan{T}"/> with the result. 4039/// <param name="x">The input <see cref="ReadOnlyTensorSpan{T}"/></param> 4041public static ref readonly TensorSpan<T> Atan<T>(scoped in ReadOnlyTensorSpan<T> x, in TensorSpan<T> destination) 4050/// Takes the arc tangent of the two input <see cref="ReadOnlyTensorSpan{T}"/> and returns a new <see cref="Tensor{T}"/> with the result. 4052/// <param name="x">The left <see cref="ReadOnlyTensorSpan{T}"/>.</param> 4053/// <param name="y">The right <see cref="ReadOnlyTensorSpan{T}"/>.</param> 4054public static Tensor<T> Atan2<T>(in ReadOnlyTensorSpan<T> x, in ReadOnlyTensorSpan<T> y) 4072/// Takes the arc tangent of the two input <see cref="ReadOnlyTensorSpan{T}"/> and returns a new <see cref="TensorSpan{T}"/> with the result. 4074/// <param name="x">The left <see cref="ReadOnlyTensorSpan{T}"/>.</param> 4075/// <param name="y">The right <see cref="ReadOnlyTensorSpan{T}"/>.</param> 4077public static ref readonly TensorSpan<T> Atan2<T>(scoped in ReadOnlyTensorSpan<T> x, scoped in ReadOnlyTensorSpan<T> y, in TensorSpan<T> destination) 4084/// Takes the arc tangent of the two input <see cref="ReadOnlyTensorSpan{T}"/> and returns a new <see cref="Tensor{T}"/> with the result. 4086/// <param name="x">The left <see cref="ReadOnlyTensorSpan{T}"/>.</param> 4087/// <param name="y">The right <see cref="ReadOnlyTensorSpan{T}"/>.</param> 4088public static Tensor<T> Atan2<T>(in ReadOnlyTensorSpan<T> x, T y) 4098/// Takes the arc tangent of the two input <see cref="ReadOnlyTensorSpan{T}"/> and returns a new <see cref="TensorSpan{T}"/> with the result. 4100/// <param name="x">The left <see cref="ReadOnlyTensorSpan{T}"/>.</param> 4101/// <param name="y">The right <see cref="ReadOnlyTensorSpan{T}"/>.</param> 4103public static ref readonly TensorSpan<T> Atan2<T>(scoped in ReadOnlyTensorSpan<T> x, T y, in TensorSpan<T> destination) 4110/// Takes the arc tangent of the two input <see cref="ReadOnlyTensorSpan{T}"/> and returns a new <see cref="Tensor{T}"/> with the result. 4112/// <param name="x">The left <see cref="ReadOnlyTensorSpan{T}"/>.</param> 4113/// <param name="y">The right <see cref="ReadOnlyTensorSpan{T}"/>.</param> 4114public static Tensor<T> Atan2<T>(T x, in ReadOnlyTensorSpan<T> y) 4124/// Takes the arc tangent of the two input <see cref="ReadOnlyTensorSpan{T}"/> and returns a new <see cref="TensorSpan{T}"/> with the result. 4126/// <param name="x">The left <see cref="ReadOnlyTensorSpan{T}"/>.</param> 4127/// <param name="y">The right <see cref="ReadOnlyTensorSpan{T}"/>.</param> 4129public static ref readonly TensorSpan<T> Atan2<T>(T x, scoped in ReadOnlyTensorSpan<T> y, in TensorSpan<T> destination) 4138/// Takes the arc tangent of the two input <see cref="ReadOnlyTensorSpan{T}"/>, divides each element by pi, and returns a new <see cref="Tensor{T}"/> with the result. 4140/// <param name="x">The left <see cref="ReadOnlyTensorSpan{T}"/>.</param> 4141/// <param name="y">The right <see cref="ReadOnlyTensorSpan{T}"/>.</param> 4142public static Tensor<T> Atan2Pi<T>(in ReadOnlyTensorSpan<T> x, in ReadOnlyTensorSpan<T> y) 4160/// Takes the arc tangent of the two input <see cref="ReadOnlyTensorSpan{T}"/>, divides each element by pi, and returns a new <see cref="TensorSpan{T}"/> with the result. 4162/// <param name="x">The left <see cref="ReadOnlyTensorSpan{T}"/>.</param> 4163/// <param name="y">The right <see cref="ReadOnlyTensorSpan{T}"/>.</param> 4165public static ref readonly TensorSpan<T> Atan2Pi<T>(scoped in ReadOnlyTensorSpan<T> x, scoped in ReadOnlyTensorSpan<T> y, in TensorSpan<T> destination) 4172/// Takes the arc tangent of the two input <see cref="ReadOnlyTensorSpan{T}"/>, divides each element by pi, and returns a new <see cref="TensorSpan{T}"/> with the result. 4174/// <param name="x">The left <see cref="ReadOnlyTensorSpan{T}"/>.</param> 4175/// <param name="y">The right <see cref="ReadOnlyTensorSpan{T}"/>.</param> 4176public static Tensor<T> Atan2Pi<T>(in ReadOnlyTensorSpan<T> x, T y) 4186/// Takes the arc tangent of the two input <see cref="ReadOnlyTensorSpan{T}"/>, divides each element by pi, and returns a new <see cref="TensorSpan{T}"/> with the result. 4188/// <param name="x">The left <see cref="ReadOnlyTensorSpan{T}"/>.</param> 4189/// <param name="y">The right <see cref="ReadOnlyTensorSpan{T}"/>.</param> 4191public static ref readonly TensorSpan<T> Atan2Pi<T>(scoped in ReadOnlyTensorSpan<T> x, T y, in TensorSpan<T> destination) 4198/// Takes the arc tangent of the two input <see cref="ReadOnlyTensorSpan{T}"/>, divides each element by pi, and returns a new <see cref="TensorSpan{T}"/> with the result. 4200/// <param name="x">The left <see cref="ReadOnlyTensorSpan{T}"/>.</param> 4201/// <param name="y">The right <see cref="ReadOnlyTensorSpan{T}"/>.</param> 4202public static Tensor<T> Atan2Pi<T>(T x, in ReadOnlyTensorSpan<T> y) 4212/// Takes the arc tangent of the two input <see cref="ReadOnlyTensorSpan{T}"/>, divides each element by pi, and returns a new <see cref="TensorSpan{T}"/> with the result. 4214/// <param name="x">The left <see cref="ReadOnlyTensorSpan{T}"/>.</param> 4215/// <param name="y">The right <see cref="ReadOnlyTensorSpan{T}"/>.</param> 4217public static ref readonly TensorSpan<T> Atan2Pi<T>(T x, scoped in ReadOnlyTensorSpan<T> y, in TensorSpan<T> destination) 4227/// Takes the inverse hyperbolic tangent of each element of the <see cref="ReadOnlyTensorSpan{T}"/> and returns a new <see cref="Tensor{T}"/> with the result. 4229/// <param name="x">The input <see cref="ReadOnlyTensorSpan{T}"/>.</param> 4230public static Tensor<T> Atanh<T>(in ReadOnlyTensorSpan<T> x) 4239/// Takes the inverse hyperbolic tangent of each element of the <see cref="ReadOnlyTensorSpan{T}"/> and returns a new <see cref="TensorSpan{T}"/> with the result. 4241/// <param name="x">The input <see cref="ReadOnlyTensorSpan{T}"/>.</param> 4243public static ref readonly TensorSpan<T> Atanh<T>(scoped in ReadOnlyTensorSpan<T> x, in TensorSpan<T> destination) 4252/// Takes the inverse hyperbolic tangent divided by pi of each element of the <see cref="ReadOnlyTensorSpan{T}"/> and returns a new <see cref="Tensor{T}"/> with the result. 4254/// <param name="x">The input<see cref="ReadOnlyTensorSpan{T}"/>.</param> 4255public static Tensor<T> AtanPi<T>(in ReadOnlyTensorSpan<T> x) 4264/// Takes the inverse hyperbolic tangent divided by pi of each element of the <see cref="ReadOnlyTensorSpan{T}"/> and returns a new <see cref="TensorSpan{T}"/> with the result. 4266/// <param name="x">The input<see cref="ReadOnlyTensorSpan{T}"/>.</param> 4268public static ref readonly TensorSpan<T> AtanPi<T>(scoped in ReadOnlyTensorSpan<T> x, in TensorSpan<T> destination) 4277/// Computes the element-wise bitwise and of the two input <see cref="ReadOnlyTensorSpan{T}"/> and returns a new <see cref="Tensor{T}"/> with the result. 4279/// <param name="x">The left <see cref="ReadOnlyTensorSpan{T}"/>.</param> 4280/// <param name="y">The right <see cref="ReadOnlyTensorSpan{T}"/>.</param> 4281public static Tensor<T> BitwiseAnd<T>(in ReadOnlyTensorSpan<T> x, in ReadOnlyTensorSpan<T> y) 4299/// Computes the element-wise bitwise and of the two input <see cref="ReadOnlyTensorSpan{T}"/> and returns a new <see cref="TensorSpan{T}"/> with the result. 4301/// <param name="x">The left <see cref="ReadOnlyTensorSpan{T}"/>.</param> 4302/// <param name="y">The right <see cref="ReadOnlyTensorSpan{T}"/>.</param> 4304public static ref readonly TensorSpan<T> BitwiseAnd<T>(scoped in ReadOnlyTensorSpan<T> x, scoped in ReadOnlyTensorSpan<T> y, in TensorSpan<T> destination) 4311/// Computes the element-wise bitwise and of the two input <see cref="ReadOnlyTensorSpan{T}"/> and returns a new <see cref="Tensor{T}"/> with the result. 4313/// <param name="x">The left <see cref="ReadOnlyTensorSpan{T}"/>.</param> 4315public static Tensor<T> BitwiseAnd<T>(in ReadOnlyTensorSpan<T> x, T y) 4325/// Computes the element-wise bitwise and of the two input <see cref="ReadOnlyTensorSpan{T}"/> and returns a new <see cref="TensorSpan{T}"/> with the result. 4327/// <param name="x">The left <see cref="ReadOnlyTensorSpan{T}"/>.</param> 4330public static ref readonly TensorSpan<T> BitwiseAnd<T>(scoped in ReadOnlyTensorSpan<T> x, T y, in TensorSpan<T> destination) 4339/// Computes the element-wise bitwise of of the two input <see cref="ReadOnlyTensorSpan{T}"/> and returns a new <see cref="Tensor{T}"/> with the result. 4341/// <param name="x">The left <see cref="ReadOnlyTensorSpan{T}"/>.</param> 4342/// <param name="y">The right <see cref="ReadOnlyTensorSpan{T}"/>.</param> 4343public static Tensor<T> BitwiseOr<T>(in ReadOnlyTensorSpan<T> x, in ReadOnlyTensorSpan<T> y) 4361/// Computes the element-wise bitwise of of the two input <see cref="ReadOnlyTensorSpan{T}"/> and returns a new <see cref="TensorSpan{T}"/> with the result. 4363/// <param name="x">The left <see cref="ReadOnlyTensorSpan{T}"/>.</param> 4364/// <param name="y">The right <see cref="ReadOnlyTensorSpan{T}"/>.</param> 4366public static ref readonly TensorSpan<T> BitwiseOr<T>(scoped in ReadOnlyTensorSpan<T> x, scoped in ReadOnlyTensorSpan<T> y, in TensorSpan<T> destination) 4373/// Computes the element-wise bitwise or of the two input <see cref="ReadOnlyTensorSpan{T}"/> and returns a new <see cref="Tensor{T}"/> with the result. 4375/// <param name="x">The left <see cref="ReadOnlyTensorSpan{T}"/>.</param> 4377public static Tensor<T> BitwiseOr<T>(in ReadOnlyTensorSpan<T> x, T y) 4387/// Computes the element-wise bitwise or of the two input <see cref="ReadOnlyTensorSpan{T}"/> and returns a new <see cref="TensorSpan{T}"/> with the result. 4389/// <param name="x">The left <see cref="ReadOnlyTensorSpan{T}"/>.</param> 4392public static ref readonly TensorSpan<T> BitwiseOr<T>(scoped in ReadOnlyTensorSpan<T> x, T y, in TensorSpan<T> destination) 4401/// Computes the element-wise cube root of the input <see cref="ReadOnlyTensorSpan{T}"/> and returns a new <see cref="Tensor{T}"/> with the result. 4403/// <param name="x">The left <see cref="ReadOnlyTensorSpan{T}"/>.</param> 4404public static Tensor<T> Cbrt<T>(in ReadOnlyTensorSpan<T> x) 4413/// Computes the element-wise cube root of the input <see cref="ReadOnlyTensorSpan{T}"/> and returns a new <see cref="TensorSpan{T}"/> with the result. 4415/// <param name="x">The left <see cref="ReadOnlyTensorSpan{T}"/>.</param> 4417public static ref readonly TensorSpan<T> Cbrt<T>(scoped in ReadOnlyTensorSpan<T> x, in TensorSpan<T> destination) 4426/// Computes the element-wise ceiling of the input <see cref="ReadOnlyTensorSpan{T}"/> and returns a new <see cref="Tensor{T}"/> with the result. 4428/// <param name="x">The left <see cref="ReadOnlyTensorSpan{T}"/>.</param> 4429public static Tensor<T> Ceiling<T>(in ReadOnlyTensorSpan<T> x) 4438/// Computes the element-wise ceiling of the input <see cref="ReadOnlyTensorSpan{T}"/> and returns a new <see cref="TensorSpan{T}"/> with the result. 4440/// <param name="x">The left <see cref="ReadOnlyTensorSpan{T}"/>.</param> 4442public static ref readonly TensorSpan<T> Ceiling<T>(scoped in ReadOnlyTensorSpan<T> x, in TensorSpan<T> destination) 4451/// Copies <paramref name="source"/> to a new <see cref="ReadOnlyTensorSpan{TTO}"/> converting each <typeparamref name="TFrom"/> 4454/// <param name="source">The input <see cref="ReadOnlyTensorSpan{T}"/>.</param> 4455public static Tensor<TTo> ConvertChecked<TFrom, TTo>(in ReadOnlyTensorSpan<TFrom> source) 4471public static ref readonly TensorSpan<TTo> ConvertChecked<TFrom, TTo>(scoped in ReadOnlyTensorSpan<TFrom> source, in TensorSpan<TTo> destination) 4481/// Copies <paramref name="source"/> to a new <see cref="ReadOnlyTensorSpan{TTO}"/> converting each <typeparamref name="TFrom"/> 4484/// <param name="source">The input <see cref="ReadOnlyTensorSpan{T}"/>.</param> 4485public static Tensor<TTo> ConvertSaturating<TFrom, TTo>(in ReadOnlyTensorSpan<TFrom> source) 4501public static ref readonly TensorSpan<TTo> ConvertSaturating<TFrom, TTo>(scoped in ReadOnlyTensorSpan<TFrom> source, in TensorSpan<TTo> destination) 4511/// Copies <paramref name="source"/> to a new <see cref="ReadOnlyTensorSpan{TTO}"/> converting each <typeparamref name="TFrom"/> 4514/// <param name="source">The input <see cref="ReadOnlyTensorSpan{T}"/>.</param> 4515public static Tensor<TTo> ConvertTruncating<TFrom, TTo>(in ReadOnlyTensorSpan<TFrom> source) 4531public static ref readonly TensorSpan<TTo> ConvertTruncating<TFrom, TTo>(scoped in ReadOnlyTensorSpan<TFrom> source, in TensorSpan<TTo> destination) 4543/// <param name="x">Input <see cref="ReadOnlyTensorSpan{T}"/>.</param> 4545public static Tensor<T> CopySign<T>(in ReadOnlyTensorSpan<T> x, T sign) 4557/// <param name="x">Input <see cref="ReadOnlyTensorSpan{T}"/>.</param> 4558/// <param name="sign">The <see cref="ReadOnlyTensorSpan{T}"/> with the associated signs.</param> 4559public static Tensor<T> CopySign<T>(in ReadOnlyTensorSpan<T> x, in ReadOnlyTensorSpan<T> sign) 4579/// <param name="x">Input <see cref="ReadOnlyTensorSpan{T}"/>.</param> 4582public static ref readonly TensorSpan<T> CopySign<T>(scoped in ReadOnlyTensorSpan<T> x, T sign, in TensorSpan<T> destination) 4591/// <param name="x">Input <see cref="ReadOnlyTensorSpan{T}"/>.</param> 4592/// <param name="sign">The <see cref="ReadOnlyTensorSpan{T}"/> with the associated signs.</param> 4594public static ref readonly TensorSpan<T> CopySign<T>(scoped in ReadOnlyTensorSpan<T> x, scoped in ReadOnlyTensorSpan<T> sign, in TensorSpan<T> destination) 4603/// Takes the cosine of each element of the <see cref="ReadOnlyTensorSpan{T}"/> and returns a new <see cref="Tensor{T}"/> with the result. 4605/// <param name="x">The <see cref="ReadOnlyTensorSpan{T}"/> to take the cosine of.</param> 4606public static Tensor<T> Cos<T>(in ReadOnlyTensorSpan<T> x) 4615/// Takes the cosine of each element of the <see cref="ReadOnlyTensorSpan{T}"/> and returns a new <see cref="TensorSpan{T}"/> with the result. 4617/// <param name="x">The <see cref="ReadOnlyTensorSpan{T}"/> to take the cosine of.</param> 4619public static ref readonly TensorSpan<T> Cos<T>(scoped in ReadOnlyTensorSpan<T> x, in TensorSpan<T> destination) 4628/// Takes the hyperbolic cosine of each element of the <see cref="ReadOnlyTensorSpan{T}"/> and returns a new <see cref="Tensor{T}"/> with the result. 4630/// <param name="x">The <see cref="ReadOnlyTensorSpan{T}"/> to take the cosine of.</param> 4631public static Tensor<T> Cosh<T>(in ReadOnlyTensorSpan<T> x) 4640/// Takes the hyperbolic cosine of each element of the <see cref="ReadOnlyTensorSpan{T}"/> and returns a new <see cref="TensorSpan{T}"/> with the result. 4642/// <param name="x">The <see cref="ReadOnlyTensorSpan{T}"/> to take the cosine of.</param> 4644public static ref readonly TensorSpan<T> Cosh<T>(scoped in ReadOnlyTensorSpan<T> x, in TensorSpan<T> destination) 4655/// <param name="x">The first <see cref="ReadOnlyTensorSpan{T}"/></param> 4656/// <param name="y">The second <see cref="ReadOnlyTensorSpan{T}"/></param> 4657public static Tensor<T> CosineSimilarity<T>(in ReadOnlyTensorSpan<T> x, in ReadOnlyTensorSpan<T> y) 4684/// <param name="x">The first <see cref="ReadOnlyTensorSpan{T}"/></param> 4685/// <param name="y">The second <see cref="ReadOnlyTensorSpan{T}"/></param> 4687public static ref readonly TensorSpan<T> CosineSimilarity<T>(scoped in ReadOnlyTensorSpan<T> x, scoped in ReadOnlyTensorSpan<T> y, in TensorSpan<T> destination) 4735/// <param name="x">The input <see cref="ReadOnlyTensorSpan{T}"/></param> 4748public static Tensor<T> CosPi<T>(in ReadOnlyTensorSpan<T> x) 4757/// <param name="x">The input <see cref="ReadOnlyTensorSpan{T}"/></param> 4771public static ref readonly TensorSpan<T> CosPi<T>(scoped in ReadOnlyTensorSpan<T> x, in TensorSpan<T> destination) 4782/// <param name="x">The input <see cref="ReadOnlyTensorSpan{T}"/>.</param> 4783public static Tensor<T> DegreesToRadians<T>(in ReadOnlyTensorSpan<T> x) 4794/// <param name="x">The input <see cref="ReadOnlyTensorSpan{T}"/>.</param> 4796public static ref readonly TensorSpan<T> DegreesToRadians<T>(scoped in ReadOnlyTensorSpan<T> x, in TensorSpan<T> destination) 4807/// <param name="x">The input <see cref="ReadOnlyTensorSpan{T}"/>.</param> 4808/// <param name="y">The input <see cref="ReadOnlyTensorSpan{T}"/>.</param> 4809public static T Distance<T>(scoped in ReadOnlyTensorSpan<T> x, scoped in ReadOnlyTensorSpan<T> y) 4820/// <param name="x">Input <see cref="ReadOnlyTensorSpan{T}"/>.</param> 4822public static Tensor<T> Divide<T>(in ReadOnlyTensorSpan<T> x, T y) 4834/// <param name="y">The <see cref="ReadOnlyTensorSpan{T}"/> divisor.</param> 4835public static Tensor<T> Divide<T>(T x, in ReadOnlyTensorSpan<T> y) 4845/// a new <see cref="ReadOnlyTensorSpan{T}"/> with the result. 4847/// <param name="x">The <see cref="ReadOnlyTensorSpan{T}"/> to be divided.</param> 4848/// <param name="y">The <see cref="ReadOnlyTensorSpan{T}"/> divisor.</param> 4849public static Tensor<T> Divide<T>(in ReadOnlyTensorSpan<T> x, in ReadOnlyTensorSpan<T> y) 4869/// <param name="x">Input <see cref="ReadOnlyTensorSpan{T}"/>.</param> 4872public static ref readonly TensorSpan<T> Divide<T>(scoped in ReadOnlyTensorSpan<T> x, T y, in TensorSpan<T> destination) 4882/// <param name="y">The <see cref="ReadOnlyTensorSpan{T}"/> divisor.</param> 4884public static ref readonly TensorSpan<T> Divide<T>(T x, scoped in ReadOnlyTensorSpan<T> y, in TensorSpan<T> destination) 4894/// <param name="x">The <see cref="ReadOnlyTensorSpan{T}"/> to be divided.</param> 4895/// <param name="y">The <see cref="ReadOnlyTensorSpan{T}"/> divisor.</param> 4897public static ref readonly TensorSpan<T> Divide<T>(scoped in ReadOnlyTensorSpan<T> x, scoped in ReadOnlyTensorSpan<T> y, in TensorSpan<T> destination) 4908/// <param name="x">The input <see cref="ReadOnlyTensorSpan{T}"/>.</param> 4909/// <param name="y">The input <see cref="ReadOnlyTensorSpan{T}"/>.</param> 4910public static T Dot<T>(in ReadOnlyTensorSpan<T> x, in ReadOnlyTensorSpan<T> y) 4921/// <param name="x">The input <see cref="ReadOnlyTensorSpan{T}"/>.</param> 4922public static Tensor<T> Exp<T>(in ReadOnlyTensorSpan<T> x) 4933/// <param name="x">The input <see cref="ReadOnlyTensorSpan{T}"/>.</param> 4935public static ref readonly TensorSpan<T> Exp<T>(scoped in ReadOnlyTensorSpan<T> x, in TensorSpan<T> destination) 4946/// <param name="x">The input <see cref="ReadOnlyTensorSpan{T}"/>.</param> 4947public static Tensor<T> Exp10<T>(in ReadOnlyTensorSpan<T> x) 4958/// <param name="x">The input <see cref="ReadOnlyTensorSpan{T}"/>.</param> 4960public static ref readonly TensorSpan<T> Exp10<T>(scoped in ReadOnlyTensorSpan<T> x, in TensorSpan<T> destination) 4969/// <param name="x">The input <see cref="ReadOnlyTensorSpan{T}"/>.</param> 4970public static Tensor<T> Exp10M1<T>(in ReadOnlyTensorSpan<T> x) 4979/// <param name="x">The input <see cref="ReadOnlyTensorSpan{T}"/>.</param> 4981public static ref readonly TensorSpan<T> Exp10M1<T>(scoped in ReadOnlyTensorSpan<T> x, in TensorSpan<T> destination) 4990/// <param name="x">The input <see cref="ReadOnlyTensorSpan{T}"/>.</param> 4991public static Tensor<T> Exp2<T>(in ReadOnlyTensorSpan<T> x) 5000/// <param name="x">The input <see cref="ReadOnlyTensorSpan{T}"/>.</param> 5002public static ref readonly TensorSpan<T> Exp2<T>(scoped in ReadOnlyTensorSpan<T> x, in TensorSpan<T> destination) 5011/// <param name="x">The input <see cref="ReadOnlyTensorSpan{T}"/>.</param> 5012public static Tensor<T> Exp2M1<T>(in ReadOnlyTensorSpan<T> x) 5021/// <param name="x">The input <see cref="ReadOnlyTensorSpan{T}"/>.</param> 5023public static ref readonly TensorSpan<T> Exp2M1<T>(scoped in ReadOnlyTensorSpan<T> x, in TensorSpan<T> destination) 5032/// <param name="x">The input <see cref="ReadOnlyTensorSpan{T}"/>.</param> 5033public static Tensor<T> ExpM1<T>(in ReadOnlyTensorSpan<T> x) 5042/// <param name="x">The input <see cref="ReadOnlyTensorSpan{T}"/>.</param> 5044public static ref readonly TensorSpan<T> ExpM1<T>(scoped in ReadOnlyTensorSpan<T> x, in TensorSpan<T> destination) 5053/// <param name="x">The input <see cref="ReadOnlyTensorSpan{T}"/>.</param> 5054public static Tensor<T> Floor<T>(in ReadOnlyTensorSpan<T> x) 5063/// <param name="x">The input <see cref="ReadOnlyTensorSpan{T}"/>.</param> 5065public static ref readonly TensorSpan<T> Floor<T>(scoped in ReadOnlyTensorSpan<T> x, in TensorSpan<T> destination) 5077/// <param name="x">Left <see cref="ReadOnlyTensorSpan{T}"/>.</param> 5078/// <param name="y">Right <see cref="ReadOnlyTensorSpan{T}"/>.</param> 5079public static Tensor<T> Hypot<T>(in ReadOnlyTensorSpan<T> x, in ReadOnlyTensorSpan<T> y) 5100/// <param name="x">Left <see cref="ReadOnlyTensorSpan{T}"/>.</param> 5101/// <param name="y">Right <see cref="ReadOnlyTensorSpan{T}"/>.</param> 5103public static ref readonly TensorSpan<T> Hypot<T>(scoped in ReadOnlyTensorSpan<T> x, scoped in ReadOnlyTensorSpan<T> y, in TensorSpan<T> destination) 5113/// <param name="x">Left <see cref="ReadOnlyTensorSpan{T}"/>.</param> 5114/// <param name="y">Right <see cref="ReadOnlyTensorSpan{T}"/>.</param> 5115public static Tensor<T> Ieee754Remainder<T>(in ReadOnlyTensorSpan<T> x, in ReadOnlyTensorSpan<T> y) 5134/// <param name="x">Left <see cref="ReadOnlyTensorSpan{T}"/>.</param> 5135/// <param name="y">Right <see cref="ReadOnlyTensorSpan{T}"/>.</param> 5137public static ref readonly TensorSpan<T> Ieee754Remainder<T>(scoped in ReadOnlyTensorSpan<T> x, scoped in ReadOnlyTensorSpan<T> y, in TensorSpan<T> destination) 5144/// <param name="x">The left <see cref="ReadOnlyTensorSpan{T}"/>.</param> 5145/// <param name="y">The right <see cref="ReadOnlyTensorSpan{T}"/>.</param> 5146public static Tensor<T> Ieee754Remainder<T>(in ReadOnlyTensorSpan<T> x, T y) 5156/// <param name="x">The left <see cref="ReadOnlyTensorSpan{T}"/>.</param> 5157/// <param name="y">The right <see cref="ReadOnlyTensorSpan{T}"/>.</param> 5159public static ref readonly TensorSpan<T> Ieee754Remainder<T>(scoped in ReadOnlyTensorSpan<T> x, T y, in TensorSpan<T> destination) 5166/// <param name="x">The left <see cref="ReadOnlyTensorSpan{T}"/>.</param> 5167/// <param name="y">The right <see cref="ReadOnlyTensorSpan{T}"/>.</param> 5168public static Tensor<T> Ieee754Remainder<T>(T x, in ReadOnlyTensorSpan<T> y) 5178/// <param name="x">The left <see cref="ReadOnlyTensorSpan{T}"/>.</param> 5179/// <param name="y">The right <see cref="ReadOnlyTensorSpan{T}"/>.</param> 5181public static ref readonly TensorSpan<T> Ieee754Remainder<T>(T x, scoped in ReadOnlyTensorSpan<T> y, in TensorSpan<T> destination) 5190/// <param name="x">The input <see cref="ReadOnlyTensorSpan{T}"/>.</param> 5191public static Tensor<int> ILogB<T>(in ReadOnlyTensorSpan<T> x) 5200/// <param name="x">The input <see cref="ReadOnlyTensorSpan{T}"/>.</param> 5202public static ref readonly TensorSpan<int> ILogB<T>(scoped in ReadOnlyTensorSpan<T> x, in TensorSpan<int> destination) 5211/// <param name="x">The input <see cref="ReadOnlyTensorSpan{T}"/>.</param> 5212public static int IndexOfMax<T>(scoped in ReadOnlyTensorSpan<T> x) 5222/// <param name="x">The input <see cref="ReadOnlyTensorSpan{T}"/>.</param> 5223public static int IndexOfMaxMagnitude<T>(scoped in ReadOnlyTensorSpan<T> x) 5233/// <param name="x">The input <see cref="ReadOnlyTensorSpan{T}"/>.</param> 5234public static int IndexOfMin<T>(scoped in ReadOnlyTensorSpan<T> x) 5246/// <param name="x">The input <see cref="ReadOnlyTensorSpan{T}"/>.</param> 5247public static int IndexOfMinMagnitude<T>(scoped in ReadOnlyTensorSpan<T> x) 5259/// <param name="x">The input <see cref="ReadOnlyTensorSpan{T}"/>.</param> 5260public static Tensor<T> LeadingZeroCount<T>(in ReadOnlyTensorSpan<T> x) 5271/// <param name="x">The input <see cref="ReadOnlyTensorSpan{T}"/>.</param> 5273public static ref readonly TensorSpan<T> LeadingZeroCount<T>(scoped in ReadOnlyTensorSpan<T> x, in TensorSpan<T> destination) 5282/// Takes the natural logarithm of each element of the <see cref="ReadOnlyTensorSpan{T}"/> and returns a new <see cref="Tensor{T}"/> with the result. 5284/// <param name="x">The <see cref="ReadOnlyTensorSpan{T}"/> to take the natural logarithm of.</param> 5285public static Tensor<T> Log<T>(in ReadOnlyTensorSpan<T> x) 5294/// Takes the natural logarithm of each element of the <see cref="ReadOnlyTensorSpan{T}"/> and returns a new <see cref="TensorSpan{T}"/> with the result. 5296/// <param name="x">The <see cref="ReadOnlyTensorSpan{T}"/> to take the natural logarithm of.</param> 5298public static ref readonly TensorSpan<T> Log<T>(scoped in ReadOnlyTensorSpan<T> x, in TensorSpan<T> destination) 5307public static Tensor<T> Log<T>(in ReadOnlyTensorSpan<T> x, in ReadOnlyTensorSpan<T> y) 5328public static ref readonly TensorSpan<T> Log<T>(scoped in ReadOnlyTensorSpan<T> x, scoped in ReadOnlyTensorSpan<T> y, in TensorSpan<T> destination) 5337public static Tensor<T> Log<T>(in ReadOnlyTensorSpan<T> x, T y) 5350public static ref readonly TensorSpan<T> Log<T>(scoped in ReadOnlyTensorSpan<T> x, T y, in TensorSpan<T> destination) 5359/// Takes the base 10 logarithm of each element of the <see cref="ReadOnlyTensorSpan{T}"/> and returns a new <see cref="Tensor{T}"/> with the result. 5361/// <param name="x">The <see cref="ReadOnlyTensorSpan{T}"/> to take the base 10 logarithm of.</param> 5362public static Tensor<T> Log10<T>(in ReadOnlyTensorSpan<T> x) 5371/// Takes the base 10 logarithm of each element of the <see cref="ReadOnlyTensorSpan{T}"/> and returns a new <see cref="TensorSpan{T}"/> with the result. 5373/// <param name="x">The <see cref="ReadOnlyTensorSpan{T}"/> to take the base 10 logarithm of.</param> 5375public static ref readonly TensorSpan<T> Log10<T>(scoped in ReadOnlyTensorSpan<T> x, in TensorSpan<T> destination) 5384/// Takes the base 10 logarithm plus 1 of each element of the <see cref="ReadOnlyTensorSpan{T}"/> and returns a new <see cref="Tensor{T}"/> with the result. 5386/// <param name="x">The <see cref="ReadOnlyTensorSpan{T}"/> to take the base 10 logarithm of.</param> 5387public static Tensor<T> Log10P1<T>(in ReadOnlyTensorSpan<T> x) 5396/// Takes the base 10 logarithm plus 1 of each element of the <see cref="ReadOnlyTensorSpan{T}"/> and returns a new <see cref="TensorSpan{T}"/> with the result. 5398/// <param name="x">The <see cref="ReadOnlyTensorSpan{T}"/> to take the base 10 logarithm of.</param> 5400public static ref readonly TensorSpan<T> Log10P1<T>(scoped in ReadOnlyTensorSpan<T> x, in TensorSpan<T> destination) 5409/// Takes the base 2 logarithm of each element of the <see cref="ReadOnlyTensorSpan{T}"/> and returns a new <see cref="Tensor{T}"/> with the result. 5411/// <param name="x">The <see cref="ReadOnlyTensorSpan{T}"/> to take the base 2 logarithm of.</param> 5412public static Tensor<T> Log2<T>(in ReadOnlyTensorSpan<T> x) 5421/// Takes the base 2 logarithm of each element of the <see cref="ReadOnlyTensorSpan{T}"/> and returns a new <see cref="TensorSpan{T}"/> with the result. 5423/// <param name="x">The <see cref="ReadOnlyTensorSpan{T}"/> to take the base 2 logarithm of.</param> 5425public static ref readonly TensorSpan<T> Log2<T>(scoped in ReadOnlyTensorSpan<T> x, in TensorSpan<T> destination) 5434/// Takes the base 2 logarithm plus 1 of each element of the <see cref="ReadOnlyTensorSpan{T}"/> and returns a new <see cref="Tensor{T}"/> with the result. 5436/// <param name="x">The <see cref="ReadOnlyTensorSpan{T}"/> to take the base 2 logarithm of.</param> 5437public static Tensor<T> Log2P1<T>(in ReadOnlyTensorSpan<T> x) 5446/// Takes the base 2 logarithm plus 1 of each element of the <see cref="ReadOnlyTensorSpan{T}"/> and returns a new <see cref="TensorSpan{T}"/> with the result. 5448/// <param name="x">The <see cref="ReadOnlyTensorSpan{T}"/> to take the base 2 logarithm of.</param> 5450public static ref readonly TensorSpan<T> Log2P1<T>(scoped in ReadOnlyTensorSpan<T> x, in TensorSpan<T> destination) 5459/// Takes the natural logarithm plus 1 of each element of the <see cref="ReadOnlyTensorSpan{T}"/> and returns a new <see cref="Tensor{T}"/> with the result. 5461/// <param name="x">The <see cref="ReadOnlyTensorSpan{T}"/> to take the natural logarithm of.</param> 5462public static Tensor<T> LogP1<T>(in ReadOnlyTensorSpan<T> x) 5471/// Takes the natural logarithm plus 1 of each element of the <see cref="ReadOnlyTensorSpan{T}"/> and returns a new <see cref="TensorSpan{T}"/> with the result. 5473/// <param name="x">The <see cref="ReadOnlyTensorSpan{T}"/> to take the natural logarithm of.</param> 5475public static ref readonly TensorSpan<T> LogP1<T>(scoped in ReadOnlyTensorSpan<T> x, in TensorSpan<T> destination) 5484/// <param name="x">The input <see cref="ReadOnlyTensorSpan{T}"/>..</param> 5485public static T Max<T>(scoped in ReadOnlyTensorSpan<T> x) 5494public static Tensor<T> Max<T>(in ReadOnlyTensorSpan<T> x, in ReadOnlyTensorSpan<T> y) 5515public static ref readonly TensorSpan<T> Max<T>(scoped in ReadOnlyTensorSpan<T> x, scoped in ReadOnlyTensorSpan<T> y, in TensorSpan<T> destination) 5524public static Tensor<T> Max<T>(in ReadOnlyTensorSpan<T> x, T y) 5536public static ref readonly TensorSpan<T> Max<T>(scoped in ReadOnlyTensorSpan<T> x, T y, in TensorSpan<T> destination) 5545/// <param name="x">The input <see cref="ReadOnlyTensorSpan{T}"/>..</param> 5546public static T MaxMagnitude<T>(scoped in ReadOnlyTensorSpan<T> x) 5555public static Tensor<T> MaxMagnitude<T>(in ReadOnlyTensorSpan<T> x, in ReadOnlyTensorSpan<T> y) 5576public static ref readonly TensorSpan<T> MaxMagnitude<T>(scoped in ReadOnlyTensorSpan<T> x, scoped in ReadOnlyTensorSpan<T> y, in TensorSpan<T> destination) 5585public static Tensor<T> MaxMagnitude<T>(in ReadOnlyTensorSpan<T> x, T y) 5597public static ref readonly TensorSpan<T> MaxMagnitude<T>(scoped in ReadOnlyTensorSpan<T> x, T y, in TensorSpan<T> destination) 5606/// <param name="x">The input <see cref="ReadOnlyTensorSpan{T}"/>..</param> 5607public static T MaxMagnitudeNumber<T>(scoped in ReadOnlyTensorSpan<T> x) 5616public static Tensor<T> MaxMagnitudeNumber<T>(in ReadOnlyTensorSpan<T> x, in ReadOnlyTensorSpan<T> y) 5637public static ref readonly TensorSpan<T> MaxMagnitudeNumber<T>(scoped in ReadOnlyTensorSpan<T> x, scoped in ReadOnlyTensorSpan<T> y, in TensorSpan<T> destination) 5646public static Tensor<T> MaxMagnitudeNumber<T>(in ReadOnlyTensorSpan<T> x, T y) 5658public static ref readonly TensorSpan<T> MaxMagnitudeNumber<T>(scoped in ReadOnlyTensorSpan<T> x, T y, in TensorSpan<T> destination) 5667/// <param name="x">The input <see cref="ReadOnlyTensorSpan{T}"/>..</param> 5668public static T MaxNumber<T>(scoped in ReadOnlyTensorSpan<T> x) 5677public static Tensor<T> MaxNumber<T>(in ReadOnlyTensorSpan<T> x, in ReadOnlyTensorSpan<T> y) 5698public static ref readonly TensorSpan<T> MaxNumber<T>(scoped in ReadOnlyTensorSpan<T> x, scoped in ReadOnlyTensorSpan<T> y, in TensorSpan<T> destination) 5707public static Tensor<T> MaxNumber<T>(in ReadOnlyTensorSpan<T> x, T y) 5719public static ref readonly TensorSpan<T> MaxNumber<T>(scoped in ReadOnlyTensorSpan<T> x, T y, in TensorSpan<T> destination) 5728/// <param name="x">The input <see cref="ReadOnlyTensorSpan{T}"/>.</param> 5729public static T Min<T>(scoped in ReadOnlyTensorSpan<T> x) 5738public static Tensor<T> Min<T>(in ReadOnlyTensorSpan<T> x, in ReadOnlyTensorSpan<T> y) 5759public static ref readonly TensorSpan<T> Min<T>(scoped in ReadOnlyTensorSpan<T> x, scoped in ReadOnlyTensorSpan<T> y, in TensorSpan<T> destination) 5768public static Tensor<T> Min<T>(in ReadOnlyTensorSpan<T> x, T y) 5780public static ref readonly TensorSpan<T> Min<T>(scoped in ReadOnlyTensorSpan<T> x, T y, in TensorSpan<T> destination) 5789/// <param name="x">The input <see cref="ReadOnlyTensorSpan{T}"/>.</param> 5790public static T MinMagnitude<T>(scoped in ReadOnlyTensorSpan<T> x) 5799public static Tensor<T> MinMagnitude<T>(in ReadOnlyTensorSpan<T> x, in ReadOnlyTensorSpan<T> y) 5820public static ref readonly TensorSpan<T> MinMagnitude<T>(scoped in ReadOnlyTensorSpan<T> x, scoped in ReadOnlyTensorSpan<T> y, in TensorSpan<T> destination) 5829public static Tensor<T> MinMagnitude<T>(in ReadOnlyTensorSpan<T> x, T y) 5841public static ref readonly TensorSpan<T> MinMagnitude<T>(scoped in ReadOnlyTensorSpan<T> x, T y, in TensorSpan<T> destination) 5850/// <param name="x">The input <see cref="ReadOnlyTensorSpan{T}"/>..</param> 5851public static T MinMagnitudeNumber<T>(scoped in ReadOnlyTensorSpan<T> x) 5860public static Tensor<T> MinMagnitudeNumber<T>(in ReadOnlyTensorSpan<T> x, in ReadOnlyTensorSpan<T> y) 5881public static ref readonly TensorSpan<T> MinMagnitudeNumber<T>(scoped in ReadOnlyTensorSpan<T> x, scoped in ReadOnlyTensorSpan<T> y, in TensorSpan<T> destination) 5890public static Tensor<T> MinMagnitudeNumber<T>(in ReadOnlyTensorSpan<T> x, T y) 5902public static ref readonly TensorSpan<T> MinMagnitudeNumber<T>(scoped in ReadOnlyTensorSpan<T> x, T y, in TensorSpan<T> destination) 5912public static T MinNumber<T>(scoped in ReadOnlyTensorSpan<T> x) 5921public static Tensor<T> MinNumber<T>(in ReadOnlyTensorSpan<T> x, in ReadOnlyTensorSpan<T> y) 5942public static ref readonly TensorSpan<T> MinNumber<T>(scoped in ReadOnlyTensorSpan<T> x, scoped in ReadOnlyTensorSpan<T> y, in TensorSpan<T> destination) 5951public static Tensor<T> MinNumber<T>(in ReadOnlyTensorSpan<T> x, T y) 5963public static ref readonly TensorSpan<T> MinNumber<T>(scoped in ReadOnlyTensorSpan<T> x, T y, in TensorSpan<T> destination) 5974/// <param name="x">Input <see cref="ReadOnlyTensorSpan{T}"/></param> 5976public static Tensor<T> Multiply<T>(in ReadOnlyTensorSpan<T> x, T y) 5980Multiply((ReadOnlyTensorSpan<T>)x, y, output); 5988/// <param name="x">Left <see cref="ReadOnlyTensorSpan{T}"/> for multiplication.</param> 5989/// <param name="y">Right <see cref="ReadOnlyTensorSpan{T}"/> for multiplication.</param> 5990public static Tensor<T> Multiply<T>(in ReadOnlyTensorSpan<T> x, in ReadOnlyTensorSpan<T> y) 6003Multiply((ReadOnlyTensorSpan<T>)x, y, output); 6010/// <param name="x">Input <see cref="ReadOnlyTensorSpan{T}"/></param> 6013public static ref readonly TensorSpan<T> Multiply<T>(scoped in ReadOnlyTensorSpan<T> x, T y, in TensorSpan<T> destination) 6026/// <param name="x">Left <see cref="ReadOnlyTensorSpan{T}"/> for multiplication.</param> 6027/// <param name="y">Right <see cref="ReadOnlyTensorSpan{T}"/> for multiplication.</param> 6029public static ref readonly TensorSpan<T> Multiply<T>(scoped in ReadOnlyTensorSpan<T> x, scoped in ReadOnlyTensorSpan<T> y, in TensorSpan<T> destination) 6038/// <param name="x">The <see cref="ReadOnlyTensorSpan{T}"/></param> 6039public static Tensor<T> Negate<T>(in ReadOnlyTensorSpan<T> x) 6048/// <param name="x">The <see cref="ReadOnlyTensorSpan{T}"/></param> 6050public static ref readonly TensorSpan<T> Negate<T>(scoped in ReadOnlyTensorSpan<T> x, in TensorSpan<T> destination) 6059/// Takes the norm of the <see cref="ReadOnlyTensorSpan{T}"/> and returns the result. 6061/// <param name="x">The <see cref="ReadOnlyTensorSpan{T}"/> to take the norm of.</param> 6062public static T Norm<T>(scoped in ReadOnlyTensorSpan<T> x) 6071/// <param name="x">The <see cref="ReadOnlyTensorSpan{T}"/></param> 6072public static Tensor<T> OnesComplement<T>(in ReadOnlyTensorSpan<T> x) 6081/// <param name="y">The <see cref="ReadOnlyTensorSpan{T}"/></param> 6083public static ref readonly TensorSpan<T> OnesComplement<T>(scoped in ReadOnlyTensorSpan<T> y, in TensorSpan<T> destination) 6092/// <param name="x">The <see cref="ReadOnlyTensorSpan{T}"/></param> 6093public static Tensor<T> PopCount<T>(in ReadOnlyTensorSpan<T> x) 6102/// <param name="y">The <see cref="ReadOnlyTensorSpan{T}"/></param> 6104public static ref readonly TensorSpan<T> PopCount<T>(scoped in ReadOnlyTensorSpan<T> y, in TensorSpan<T> destination) 6113/// <param name="x">The input <see cref="ReadOnlyTensorSpan{T}"/>.</param> 6114/// <param name="y">The second input <see cref="ReadOnlyTensorSpan{T}"/></param> 6115public static Tensor<T> Pow<T>(in ReadOnlyTensorSpan<T> x, in ReadOnlyTensorSpan<T> y) 6133/// <param name="x">The input <see cref="ReadOnlyTensorSpan{T}"/>.</param> 6134/// <param name="y">The second input <see cref="ReadOnlyTensorSpan{T}"/></param> 6136public static ref readonly TensorSpan<T> Pow<T>(scoped in ReadOnlyTensorSpan<T> x, scoped in ReadOnlyTensorSpan<T> y, in TensorSpan<T> destination) 6143/// <param name="x">The input <see cref="ReadOnlyTensorSpan{T}"/>.</param> 6145public static Tensor<T> Pow<T>(in ReadOnlyTensorSpan<T> x, T y) 6155/// <param name="x">The input <see cref="ReadOnlyTensorSpan{T}"/>.</param> 6156/// <param name="y">The second input <see cref="ReadOnlyTensorSpan{T}"/></param> 6158public static ref readonly TensorSpan<T> Pow<T>(scoped in ReadOnlyTensorSpan<T> x, T y, in TensorSpan<T> destination) 6165/// <param name="x">The input <see cref="ReadOnlyTensorSpan{T}"/>.</param> 6167public static Tensor<T> Pow<T>(T x, in ReadOnlyTensorSpan<T> y) 6177/// <param name="x">The input <see cref="ReadOnlyTensorSpan{T}"/>.</param> 6178/// <param name="y">The second input <see cref="ReadOnlyTensorSpan{T}"/></param> 6180public static ref readonly TensorSpan<T> Pow<T>(T x, scoped in ReadOnlyTensorSpan<T> y, in TensorSpan<T> destination) 6189/// <param name="x">The input <see cref="ReadOnlyTensorSpan{T}"/>.</param> 6190public static T Product<T>(scoped in ReadOnlyTensorSpan<T> x) 6199/// <param name="x">The input <see cref="ReadOnlyTensorSpan{T}"/>.</param> 6200public static Tensor<T> RadiansToDegrees<T>(in ReadOnlyTensorSpan<T> x) 6209/// <param name="x">The input <see cref="ReadOnlyTensorSpan{T}"/>.</param> 6211public static ref readonly TensorSpan<T> RadiansToDegrees<T>(scoped in ReadOnlyTensorSpan<T> x, in TensorSpan<T> destination) 6220/// <param name="x">The input <see cref="ReadOnlyTensorSpan{T}"/>.</param> 6221public static Tensor<T> Reciprocal<T>(in ReadOnlyTensorSpan<T> x) 6230/// <param name="x">The input <see cref="ReadOnlyTensorSpan{T}"/>.</param> 6232public static ref readonly TensorSpan<T> Reciprocal<T>(scoped in ReadOnlyTensorSpan<T> x, in TensorSpan<T> destination) 6243public static Tensor<T> RootN<T>(in ReadOnlyTensorSpan<T> x, int n) 6255public static ref readonly TensorSpan<T> RootN<T>(scoped in ReadOnlyTensorSpan<T> x, int n, in TensorSpan<T> destination) 6273public static Tensor<T> RotateLeft<T>(in ReadOnlyTensorSpan<T> x, int rotateAmount) 6286public static ref readonly TensorSpan<T> RotateLeft<T>(scoped in ReadOnlyTensorSpan<T> x, int rotateAmount, in TensorSpan<T> destination) 6304public static Tensor<T> RotateRight<T>(in ReadOnlyTensorSpan<T> x, int rotateAmount) 6317public static ref readonly TensorSpan<T> RotateRight<T>(scoped in ReadOnlyTensorSpan<T> x, int rotateAmount, in TensorSpan<T> destination) 6332/// <param name="x">The input <see cref="ReadOnlyTensorSpan{T}"/>.</param> 6333public static Tensor<T> Round<T>(in ReadOnlyTensorSpan<T> x) 6342/// <param name="x">The input <see cref="ReadOnlyTensorSpan{T}"/>.</param> 6344public static ref readonly TensorSpan<T> Round<T>(scoped in ReadOnlyTensorSpan<T> x, in TensorSpan<T> destination) 6351/// <param name="x">The input <see cref="ReadOnlyTensorSpan{T}"/>.</param> 6354public static Tensor<T> Round<T>(in ReadOnlyTensorSpan<T> x, int digits, MidpointRounding mode) 6363/// <param name="x">The input <see cref="ReadOnlyTensorSpan{T}"/>.</param> 6367public static ref readonly TensorSpan<T> Round<T>(scoped in ReadOnlyTensorSpan<T> x, int digits, MidpointRounding mode, in TensorSpan<T> destination) 6380/// <param name="x">The input <see cref="ReadOnlyTensorSpan{T}"/>.</param> 6382public static Tensor<T> Round<T>(in ReadOnlyTensorSpan<T> x, int digits) 6391/// <param name="x">The input <see cref="ReadOnlyTensorSpan{T}"/>.</param> 6394public static ref readonly TensorSpan<T> Round<T>(scoped in ReadOnlyTensorSpan<T> x, int digits, in TensorSpan<T> destination) 6407/// <param name="x">The input <see cref="ReadOnlyTensorSpan{T}"/>.</param> 6409public static Tensor<T> Round<T>(in ReadOnlyTensorSpan<T> x, MidpointRounding mode) 6418/// <param name="x">The input <see cref="ReadOnlyTensorSpan{T}"/>.</param> 6421public static ref readonly TensorSpan<T> Round<T>(scoped in ReadOnlyTensorSpan<T> x, MidpointRounding mode, in TensorSpan<T> destination) 6436/// <param name="x">The input <see cref="ReadOnlyTensorSpan{T}"/>.</param> 6437public static Tensor<T> Sigmoid<T>(in ReadOnlyTensorSpan<T> x) 6446/// <param name="x">The input <see cref="ReadOnlyTensorSpan{T}"/>.</param> 6448public static ref readonly TensorSpan<T> Sigmoid<T>(scoped in ReadOnlyTensorSpan<T> x, in TensorSpan<T> destination) 6457/// Takes the sin of each element of the <see cref="ReadOnlyTensorSpan{T}"/> and returns a new <see cref="Tensor{T}"/> with the result. 6459/// <param name="x">The <see cref="ReadOnlyTensorSpan{T}"/> to take the sin of.</param> 6460public static Tensor<T> Sin<T>(in ReadOnlyTensorSpan<T> x) 6469/// Takes the sin of each element of the <see cref="ReadOnlyTensorSpan{T}"/> and returns a new <see cref="TensorSpan{T}"/> with the result. 6471/// <param name="x">The <see cref="ReadOnlyTensorSpan{T}"/> to take the sin of.</param> 6473public static ref readonly TensorSpan<T> Sin<T>(scoped in ReadOnlyTensorSpan<T> x, in TensorSpan<T> destination) 6482/// <param name="x">The <see cref="ReadOnlyTensorSpan{T}"/> to take the sin of.</param> 6483public static Tensor<T> Sinh<T>(in ReadOnlyTensorSpan<T> x) 6492/// <param name="x">The <see cref="ReadOnlyTensorSpan{T}"/> to take the sin of.</param> 6494public static ref readonly TensorSpan<T> Sinh<T>(scoped in ReadOnlyTensorSpan<T> x, in TensorSpan<T> destination) 6503/// <param name="x">The <see cref="ReadOnlyTensorSpan{T}"/> to take the sin of.</param> 6504public static Tensor<T> SinPi<T>(in ReadOnlyTensorSpan<T> x) 6513/// <param name="x">The <see cref="ReadOnlyTensorSpan{T}"/> to take the sin of.</param> 6515public static ref readonly TensorSpan<T> SinPi<T>(scoped in ReadOnlyTensorSpan<T> x, in TensorSpan<T> destination) 6524/// <param name="x">The <see cref="ReadOnlyTensorSpan{T}"/> to take the sin of.</param> 6525public static Tensor<T> SoftMax<T>(in ReadOnlyTensorSpan<T> x) 6534/// <param name="x">The <see cref="ReadOnlyTensorSpan{T}"/> to take the sin of.</param> 6536public static ref readonly TensorSpan<T> SoftMax<T>(scoped in ReadOnlyTensorSpan<T> x, in TensorSpan<T> destination) 6545/// Takes the square root of each element of the <see cref="ReadOnlyTensorSpan{T}"/> and returns a new <see cref="Tensor{T}"/> with the result. 6547/// <param name="x">The <see cref="ReadOnlyTensorSpan{T}"/> to take the square root of.</param> 6548public static Tensor<T> Sqrt<T>(in ReadOnlyTensorSpan<T> x) 6559/// <param name="x">The <see cref="ReadOnlyTensorSpan{T}"/> to take the square root of.</param> 6561public static ref readonly TensorSpan<T> Sqrt<T>(scoped in ReadOnlyTensorSpan<T> x, in TensorSpan<T> destination) 6572/// <param name="x">The <see cref="ReadOnlyTensorSpan{T}"/>.</param> 6574public static Tensor<T> Subtract<T>(in ReadOnlyTensorSpan<T> x, T y) 6586/// <param name="y">The <see cref="ReadOnlyTensorSpan{T}"/> of values to subtract.</param> 6587public static Tensor<T> Subtract<T>(T x, in ReadOnlyTensorSpan<T> y) 6598/// <param name="x">The <see cref="ReadOnlyTensorSpan{T}"/> with values to be subtracted from.</param> 6599/// <param name="y">The <see cref="ReadOnlyTensorSpan{T}"/> with values to subtract.</param> 6600public static Tensor<T> Subtract<T>(in ReadOnlyTensorSpan<T> x, in ReadOnlyTensorSpan<T> y) 6620/// <param name="x">The <see cref="ReadOnlyTensorSpan{T}"/> with values to be subtracted from.</param> 6623public static ref readonly TensorSpan<T> Subtract<T>(scoped in ReadOnlyTensorSpan<T> x, T y, in TensorSpan<T> destination) 6633/// <param name="y">The <see cref="ReadOnlyTensorSpan{T}"/> values to subtract.</param> 6635public static ref readonly TensorSpan<T> Subtract<T>(T x, scoped in ReadOnlyTensorSpan<T> y, in TensorSpan<T> destination) 6644/// <param name="x">The <see cref="ReadOnlyTensorSpan{T}"/> of values to be subtracted from.</param> 6645/// <param name="y">The <see cref="ReadOnlyTensorSpan{T}"/>of values to subtract.</param> 6647public static ref readonly TensorSpan<T> Subtract<T>(scoped in ReadOnlyTensorSpan<T> x, scoped in ReadOnlyTensorSpan<T> y, in TensorSpan<T> destination) 6660public static T Sum<T>(scoped in ReadOnlyTensorSpan<T> x) 6669/// <param name="x">The <see cref="ReadOnlyTensorSpan{T}"/> to take the sin of.</param> 6670public static Tensor<T> Tan<T>(in ReadOnlyTensorSpan<T> x) 6679/// <param name="x">The <see cref="ReadOnlyTensorSpan{T}"/> to take the sin of.</param> 6681public static ref readonly TensorSpan<T> Tan<T>(scoped in ReadOnlyTensorSpan<T> x, in TensorSpan<T> destination) 6690/// <param name="x">The <see cref="ReadOnlyTensorSpan{T}"/> to take the sin of.</param> 6691public static Tensor<T> Tanh<T>(in ReadOnlyTensorSpan<T> x) 6700/// <param name="x">The <see cref="ReadOnlyTensorSpan{T}"/> to take the sin of.</param> 6702public static ref readonly TensorSpan<T> Tanh<T>(scoped in ReadOnlyTensorSpan<T> x, in TensorSpan<T> destination) 6711/// <param name="x">The <see cref="ReadOnlyTensorSpan{T}"/> to take the sin of.</param> 6712public static Tensor<T> TanPi<T>(in ReadOnlyTensorSpan<T> x) 6721/// <param name="x">The <see cref="ReadOnlyTensorSpan{T}"/> to take the sin of.</param> 6723public static ref readonly TensorSpan<T> TanPi<T>(scoped in ReadOnlyTensorSpan<T> x, in TensorSpan<T> destination) 6732/// <param name="x">The input <see cref="ReadOnlyTensorSpan{T}"/>.</param> 6733public static Tensor<T> TrailingZeroCount<T>(in ReadOnlyTensorSpan<T> x) 6742/// <param name="x">The input <see cref="ReadOnlyTensorSpan{T}"/>.</param> 6744public static ref readonly TensorSpan<T> TrailingZeroCount<T>(scoped in ReadOnlyTensorSpan<T> x, in TensorSpan<T> destination) 6753/// <param name="x">The input <see cref="ReadOnlyTensorSpan{T}"/>.</param> 6754public static Tensor<T> Truncate<T>(in ReadOnlyTensorSpan<T> x) 6763/// <param name="x">The input <see cref="ReadOnlyTensorSpan{T}"/>.</param> 6765public static ref readonly TensorSpan<T> Truncate<T>(scoped in ReadOnlyTensorSpan<T> x, in TensorSpan<T> destination) 6774/// <param name="x">The left <see cref="ReadOnlyTensorSpan{T}"/>.</param> 6775/// <param name="y">The right <see cref="ReadOnlyTensorSpan{T}"/>.</param> 6776public static Tensor<T> Xor<T>(in ReadOnlyTensorSpan<T> x, in ReadOnlyTensorSpan<T> y) 6794/// <param name="x">The left <see cref="ReadOnlyTensorSpan{T}"/>.</param> 6795/// <param name="y">The right <see cref="ReadOnlyTensorSpan{T}"/>.</param> 6797public static ref readonly TensorSpan<T> Xor<T>(scoped in ReadOnlyTensorSpan<T> x, scoped in ReadOnlyTensorSpan<T> y, in TensorSpan<T> destination) 6804/// Computes the element-wise Xor of the two input <see cref="ReadOnlyTensorSpan{T}"/> and returns a new <see cref="Tensor{T}"/> with the result. 6806/// <param name="x">The left <see cref="ReadOnlyTensorSpan{T}"/>.</param> 6808public static Tensor<T> Xor<T>(in ReadOnlyTensorSpan<T> x, T y) 6817/// Computes the element-wise Xor of the two input <see cref="ReadOnlyTensorSpan{T}"/> and returns a new <see cref="TensorSpan{T}"/> with the result. 6819/// <param name="x">The left <see cref="ReadOnlyTensorSpan{T}"/>.</param> 6822public static ref readonly TensorSpan<T> Xor<T>(scoped in ReadOnlyTensorSpan<T> x, T y, in TensorSpan<T> destination) 6867private static T TensorPrimitivesHelperSpanInTOut<T>(scoped in ReadOnlyTensorSpan<T> input, PerformCalculationSpanInTOut<T> performCalculation) 6886private static T TensorPrimitivesHelperTwoSpanInTOut<T>(scoped in ReadOnlyTensorSpan<T> left, scoped in ReadOnlyTensorSpan<T> right, PerformCalculationTwoSpanInTOut<T> performCalculation) 6918private static ref readonly TensorSpan<TOut> TensorPrimitivesHelperSpanInSpanOut<TIn, TOut>(scoped in ReadOnlyTensorSpan<TIn> input, in TensorSpan<TOut> destination, PerformCalculationSpanInSpanOut<TIn, TOut> performCalculation) 6972private static ref readonly TensorSpan<T> TensorPrimitivesHelperSpanInTInSpanOut<T>(scoped in ReadOnlyTensorSpan<T> input, T value, in TensorSpan<T> destination, PerformCalculationSpanInTInSpanOut<T> performCalculation) 7024private static ref readonly TensorSpan<T> TensorPrimitivesHelperTInSpanInSpanOut<T>(T value, scoped in ReadOnlyTensorSpan<T> input, in TensorSpan<T> destination, PerformCalculationTInSpanInSpanOut<T> performCalculation) 7076private static ref readonly TensorSpan<T> TensorPrimitivesHelperTwoSpanInSpanOut<T>(scoped in ReadOnlyTensorSpan<T> left, scoped in ReadOnlyTensorSpan<T> right, in TensorSpan<T> destination, PerformCalculationTwoSpanInSpanOut<T> performCalculation) 7099ReadOnlyTensorSpan<T> broadcastedLeft = Tensor.LazyBroadcast(left, newSize); 7100ReadOnlyTensorSpan<T> broadcastedRight = Tensor.LazyBroadcast(right, newSize);
System\Numerics\Tensors\netcore\TensorHelpers.cs (6)
18public static nint CountTrueElements(scoped in ReadOnlyTensorSpan<bool> filter) 89internal static bool IsUnderlyingStorageSameSize<T>(scoped in ReadOnlyTensorSpan<T> tensor1, scoped in ReadOnlyTensorSpan<T> tensor2) 95internal static bool AreLengthsTheSame<T>(scoped in ReadOnlyTensorSpan<T> tensor1, scoped in ReadOnlyTensorSpan<T> tensor2) 101internal static bool IsContiguousAndDense<T>(scoped in ReadOnlyTensorSpan<T> tensor)
System\Numerics\Tensors\netcore\TensorSpan.cs (6)
591ReadOnlyTensorSpan<T> srcSlice = Tensor.LazyBroadcast(this, tempLengths); 645ReadOnlyTensorSpan<T> srcSlice = Tensor.LazyBroadcast(this, tempLengths); 670/// Implicitly converts a <see cref="TensorSpan{T}"/> to a <see cref="ReadOnlyTensorSpan{T}"/> 672public static implicit operator ReadOnlyTensorSpan<T>(TensorSpan<T> span) => 703/// <returns>A <see cref="ReadOnlyTensorSpan{T}"/> based on the provided <paramref name="lengths"/>.</returns> 718/// <returns>A <see cref="ReadOnlyTensorSpan{T}"/> based on the provided <paramref name="ranges"/>.</returns>
System\Numerics\Tensors\netcore\TensorSpanDebugView.cs (1)
21public TensorSpanDebugView(ReadOnlyTensorSpan<T> span)
System\Numerics\Tensors\netcore\TensorSpanHelpers.cs (2)
15internal static bool AreShapesTheSame<T>(ReadOnlyTensorSpan<T> tensor1, ReadOnlyTensorSpan<T> tensor2)