205 references to TensorSpanHelpers
System.Numerics.Tensors (205)
System\Numerics\Tensors\netcore\ReadOnlyTensorSpan.cs (44)
76nint linearLength = TensorSpanHelpers.CalculateTotalLength(lengths); 88strides = strides.IsEmpty ? (ReadOnlySpan<nint>)TensorSpanHelpers.CalculateStrides(lengths, linearLength) : strides; 89TensorSpanHelpers.ValidateStrides(strides, lengths); 90nint maxElements = TensorSpanHelpers.ComputeMaxLinearIndex(strides, lengths); 126nint linearLength = TensorSpanHelpers.CalculateTotalLength(lengths); 128strides = strides.IsEmpty ? (ReadOnlySpan<nint>)TensorSpanHelpers.CalculateStrides(lengths, linearLength) : strides; 129TensorSpanHelpers.ValidateStrides(strides, lengths); 130nint maxElements = TensorSpanHelpers.ComputeMaxLinearIndex(strides, lengths); 148TensorSpanHelpers.FillLengths(array.Rank <= TensorShape.MaxInlineRank ? 166lengths = TensorSpanHelpers.FillLengths( 171nint linearLength = TensorSpanHelpers.CalculateTotalLength(lengths); 182strides = strides.IsEmpty ? (ReadOnlySpan<nint>)TensorSpanHelpers.CalculateStrides(lengths, linearLength) : strides; 183TensorSpanHelpers.ValidateStrides(strides, lengths); 185nint startOffset = TensorSpanHelpers.ComputeStartOffsetSystemArray(array, start); 186nint maxElements = TensorSpanHelpers.ComputeMaxLinearIndex(strides, lengths); 214lengths = TensorSpanHelpers.FillLengths( 219nint linearLength = TensorSpanHelpers.CalculateTotalLength(lengths); 230strides = strides.IsEmpty ? (ReadOnlySpan<nint>)TensorSpanHelpers.CalculateStrides(lengths, linearLength) : strides; 231TensorSpanHelpers.ValidateStrides(strides, lengths); 233nint startOffset = TensorSpanHelpers.ComputeStartOffsetSystemArray(array, startIndex); 234nint maxElements = TensorSpanHelpers.ComputeMaxLinearIndex(strides, lengths); 293nint linearLength = TensorSpanHelpers.CalculateTotalLength(lengths); 295strides = strides.IsEmpty ? (ReadOnlySpan<nint>)TensorSpanHelpers.CalculateStrides(lengths, linearLength) : strides; 296TensorSpanHelpers.ValidateStrides(strides, lengths); 297nint maxElements = TensorSpanHelpers.ComputeMaxLinearIndex(strides, lengths); 309nint linearLength = TensorSpanHelpers.CalculateTotalLength(lengths); 331nint index = TensorSpanHelpers.ComputeLinearIndex(indexes, Strides, Lengths); 354nint index = TensorSpanHelpers.ComputeLinearIndex(indexes, Strides, Lengths); 494TensorSpanHelpers.AdjustIndexes(_span.Rank - 1, 1, _curIndexes, _span.Lengths); 568TensorSpanHelpers.Memmove(ref Unsafe.Add(ref destinationSlice._reference, TensorSpanHelpers.ComputeLinearIndex(curIndexes, destinationSlice.Strides, destinationSlice.Lengths)), ref Unsafe.Add(ref srcSlice._reference, TensorSpanHelpers.ComputeLinearIndex(curIndexes, srcSlice.Strides, srcSlice.Lengths)), copyLength); 569TensorSpanHelpers.AdjustIndexes(indexToAdjust, 1, curIndexes, tempLengths); 624TensorSpanHelpers.Memmove(ref Unsafe.Add(ref destinationSlice._reference, TensorSpanHelpers.ComputeLinearIndex(curIndexes, destinationSlice.Strides, destinationSlice.Lengths)), ref Unsafe.Add(ref srcSlice._reference, TensorSpanHelpers.ComputeLinearIndex(curIndexes, srcSlice.Strides, srcSlice.Lengths)), copyLength); 625TensorSpanHelpers.AdjustIndexes(indexToAdjust, 1, curIndexes, tempLengths); 771TensorSpanHelpers.Memmove(destination.Slice(checked((int)copiedValues)), ref Unsafe.Add(ref _reference, TensorSpanHelpers.ComputeLinearIndex(curIndexes, Strides, Lengths)), Lengths[Rank - 1]); 772TensorSpanHelpers.AdjustIndexes(Rank - 2, 1, curIndexes, _shape.Lengths); 814destination.Slice(checked((int)copiedValues), (int)Lengths[Rank - 1]).Fill(Unsafe.Add(ref _reference, TensorSpanHelpers.ComputeLinearIndex(curIndexes, Strides, Lengths))); 818TensorSpanHelpers.Memmove(destination.Slice(checked((int)copiedValues)), ref Unsafe.Add(ref _reference, TensorSpanHelpers.ComputeLinearIndex(curIndexes, Strides, Lengths)), Lengths[Rank - 1]); 820TensorSpanHelpers.AdjustIndexes(Rank - 2, 1, curIndexes, _shape.Lengths);
System\Numerics\Tensors\netcore\Tensor.cs (9)
68_flattenedLength = TensorSpanHelpers.CalculateTotalLength(_lengths); 69_strides = strides.IsEmpty ? TensorSpanHelpers.CalculateStrides(_lengths, _flattenedLength) : strides.ToArray(); 70TensorSpanHelpers.ValidateStrides(_strides, _lengths); 71nint maxElements = TensorSpanHelpers.ComputeMaxLinearIndex(_strides, _lengths); 96nint linearLength = TensorSpanHelpers.CalculateTotalLength(lengths); 109nint linearLength = TensorSpanHelpers.CalculateTotalLength(lengths); 121nint linearLength = TensorSpanHelpers.CalculateTotalLength(lengths); 134nint linearLength = TensorSpanHelpers.CalculateTotalLength(lengths); 593TensorSpanHelpers.AdjustIndexes(_tensor.Rank - 1, 1, ref _curIndices, _tensor.Lengths);
System\Numerics\Tensors\netcore\Tensor.Factory.cs (5)
27nint linearLength = TensorSpanHelpers.CalculateTotalLength(lengths); 40nint linearLength = TensorSpanHelpers.CalculateTotalLength(lengths); 115nint linearLength = TensorSpanHelpers.CalculateTotalLength(lengths); 152nint linearLength = TensorSpanHelpers.CalculateTotalLength(lengths); 176nint linearLength = TensorSpanHelpers.CalculateTotalLength(lengths);
System\Numerics\Tensors\netcore\TensorExtensions.cs (103)
154nint newSize = TensorSpanHelpers.CalculateTotalLength(shape); 197nint newSize = TensorSpanHelpers.CalculateTotalLength(shape); 240nint newSize = TensorSpanHelpers.CalculateTotalLength(lengths); 293totalLength += TensorSpanHelpers.CalculateTotalLength(tensors[i].Lengths); 361totalLength += TensorSpanHelpers.CalculateTotalLength(tensors[i].Lengths); 416srcIndex = TensorSpanHelpers.ComputeLinearIndex(curIndex, tensors[i].Strides, tensors[i].Lengths); 419TensorSpanHelpers.Memmove(dstSpan, srcSpan, copyLength, valuesCopied); 422TensorSpanHelpers.AdjustIndexes(dimension - 1, 1, curIndex, tensors[0].Lengths); 518TensorSpanHelpers.AdjustIndexes(right.Rank - 1, 1, curIndex, right.Lengths); 574TensorSpanHelpers.AdjustIndexes(x.Rank - 1, 1, curIndex, x.Lengths); 620TensorSpanHelpers.AdjustIndexes(broadcastedRight.Rank - 1, 1, curIndex, broadcastedRight.Lengths); 659TensorSpanHelpers.AdjustIndexes(x.Rank - 1, 1, curIndex, x.Lengths); 704TensorSpanHelpers.AdjustIndexes(broadcastedRight.Rank - 1, 1, curIndex, broadcastedRight.Lengths); 743TensorSpanHelpers.AdjustIndexes(x.Rank - 1, 1, curIndex, x.Lengths); 889TensorSpanHelpers.AdjustIndexes(right.Rank - 1, 1, curIndex, right.Lengths); 949TensorSpanHelpers.AdjustIndexes(x.Rank - 1, 1, curIndex, x.Lengths); 1009TensorSpanHelpers.AdjustIndexes(y.Rank - 1, 1, curIndex, y.Lengths); 1098TensorSpanHelpers.AdjustIndexes(right.Rank - 1, 1, curIndex, right.Lengths); 1158TensorSpanHelpers.AdjustIndexes(x.Rank - 1, 1, curIndex, x.Lengths); 1218TensorSpanHelpers.AdjustIndexes(y.Rank - 1, 1, curIndex, y.Lengths); 1263TensorSpanHelpers.AdjustIndexes(broadcastedRight.Rank - 1, 1, curIndex, broadcastedRight.Lengths); 1302TensorSpanHelpers.AdjustIndexes(x.Rank - 1, 1, curIndex, x.Lengths); 1341TensorSpanHelpers.AdjustIndexes(y.Rank - 1, 1, curIndex, y.Lengths); 1386TensorSpanHelpers.AdjustIndexes(broadcastedRight.Rank - 1, 1, curIndex, broadcastedRight.Lengths); 1425TensorSpanHelpers.AdjustIndexes(x.Rank - 1, 1, curIndex, x.Lengths); 1464TensorSpanHelpers.AdjustIndexes(y.Rank - 1, 1, curIndex, y.Lengths); 1510TensorSpanHelpers.AdjustIndexes(broadcastedRight.Rank - 1, 1, curIndex, broadcastedRight.Lengths); 1549TensorSpanHelpers.AdjustIndexes(x.Rank - 1, 1, curIndex, x.Lengths); 1588TensorSpanHelpers.AdjustIndexes(y.Rank - 1, 1, curIndex, y.Lengths); 1634TensorSpanHelpers.AdjustIndexes(broadcastedRight.Rank - 1, 1, curIndex, broadcastedRight.Lengths); 1673TensorSpanHelpers.AdjustIndexes(x.Rank - 1, 1, curIndex, x.Lengths); 1712TensorSpanHelpers.AdjustIndexes(y.Rank - 1, 1, curIndex, y.Lengths); 1801TensorSpanHelpers.AdjustIndexes(right.Rank - 1, 1, curIndex, right.Lengths); 1861TensorSpanHelpers.AdjustIndexes(x.Rank - 1, 1, curIndex, x.Lengths); 1921TensorSpanHelpers.AdjustIndexes(y.Rank - 1, 1, curIndex, y.Lengths); 2010TensorSpanHelpers.AdjustIndexes(right.Rank - 1, 1, curIndex, right.Lengths); 2070TensorSpanHelpers.AdjustIndexes(x.Rank - 1, 1, curIndex, x.Lengths); 2130TensorSpanHelpers.AdjustIndexes(y.Rank - 1, 1, curIndex, y.Lengths); 2176TensorSpanHelpers.AdjustIndexes(broadcastedRight.Rank - 1, 1, curIndex, broadcastedRight.Lengths); 2215TensorSpanHelpers.AdjustIndexes(x.Rank - 1, 1, curIndex, x.Lengths); 2254TensorSpanHelpers.AdjustIndexes(y.Rank - 1, 1, curIndex, y.Lengths); 2300TensorSpanHelpers.AdjustIndexes(broadcastedRight.Rank - 1, 1, curIndex, broadcastedRight.Lengths); 2339TensorSpanHelpers.AdjustIndexes(x.Rank - 1, 1, curIndex, x.Lengths); 2378TensorSpanHelpers.AdjustIndexes(y.Rank - 1, 1, curIndex, y.Lengths); 2423TensorSpanHelpers.AdjustIndexes(broadcastedRight.Rank - 1, 1, curIndex, broadcastedRight.Lengths); 2462TensorSpanHelpers.AdjustIndexes(x.Rank - 1, 1, curIndex, x.Lengths); 2501TensorSpanHelpers.AdjustIndexes(y.Rank - 1, 1, curIndex, y.Lengths); 2546TensorSpanHelpers.AdjustIndexes(broadcastedRight.Rank - 1, 1, curIndex, broadcastedRight.Lengths); 2585TensorSpanHelpers.AdjustIndexes(x.Rank - 1, 1, curIndex, x.Lengths); 2624TensorSpanHelpers.AdjustIndexes(y.Rank - 1, 1, curIndex, y.Lengths); 2708TensorSpanHelpers.AdjustIndexes(outTensor.Rank - 1, 1, indexes, tensor._lengths); 2758nint tempLinear = TensorSpanHelpers.CalculateTotalLength(arrLengths); 2786strides = TensorSpanHelpers.CalculateStrides(arrLengths); 2826nint tempLinear = TensorSpanHelpers.CalculateTotalLength(arrLengths); 2856strides = TensorSpanHelpers.CalculateStrides(arrLengths); 2897nint tempLinear = TensorSpanHelpers.CalculateTotalLength(arrLengths); 2925strides = TensorSpanHelpers.CalculateStrides(arrLengths); 2941nint newSize = TensorSpanHelpers.CalculateTotalLength(lengths); 2947TensorSpanHelpers.Memmove(ospan, span, tensor._values.Length); 2949TensorSpanHelpers.Memmove(ospan, span, newSize); 2965TensorSpanHelpers.Memmove(ospan, span, tensor._values.Length); 2967TensorSpanHelpers.Memmove(ospan, span, destination._shape._memoryLength); 2981TensorSpanHelpers.Memmove(ospan, span, tensor._shape._memoryLength); 2983TensorSpanHelpers.Memmove(ospan, span, destination._shape._memoryLength); 2997TensorSpanHelpers.Memmove(ospan, span, tensor._shape._memoryLength); 2999TensorSpanHelpers.Memmove(ospan, span, destination._shape._memoryLength); 3097TensorSpanHelpers.Memmove(ref Unsafe.Add(ref destination._reference, TensorSpanHelpers.ComputeLinearIndex(oIndices, tensor.Strides, tensor.Lengths)), ref Unsafe.Add(ref islice._reference, TensorSpanHelpers.ComputeLinearIndex(iIndices, islice.Strides, islice.Lengths)), copyLength); 3098TensorSpanHelpers.AdjustIndexes((int)dimension, 1, oIndices, tensor.Lengths); 3099TensorSpanHelpers.AdjustIndexesDown((int)dimension, 1, iIndices, tensor.Lengths); 3245TensorSpanHelpers.Memmove(ref Unsafe.Add(ref oslice._reference, TensorSpanHelpers.ComputeLinearIndex(oIndices, outputs[0].Strides, outputs[0].Lengths)), ref Unsafe.Add(ref islice._reference, TensorSpanHelpers.ComputeLinearIndex(iIndices, islice.Strides, islice.Lengths)), copyLength); 3246TensorSpanHelpers.AdjustIndexes((int)dimension, 1, oIndices, outputs[i]._lengths); 3247TensorSpanHelpers.AdjustIndexes((int)dimension - 1, 1, iIndices, tensor.Lengths); 3297strides = TensorSpanHelpers.CalculateStrides(lengths); 3313strides = TensorSpanHelpers.CalculateStrides(lengths); 3353strides = TensorSpanHelpers.CalculateStrides(lengths); 3369strides = TensorSpanHelpers.CalculateStrides(lengths); 3409strides = TensorSpanHelpers.CalculateStrides(lengths); 3425strides = TensorSpanHelpers.CalculateStrides(lengths); 3574var 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]); 3580TensorSpanHelpers.AdjustIndexes(tensor.Rank - 2, 1, curIndexes, tensor.Lengths); 3609TensorSpanHelpers.FillRange(dimension); 4708lspan = MemoryMarshal.CreateReadOnlySpan(ref Unsafe.Add(ref x._reference, TensorSpanHelpers.ComputeLinearIndex(leftIndexes, x.Strides, x.Lengths)), (int)rowLength); 4709rspan = MemoryMarshal.CreateReadOnlySpan(ref Unsafe.Add(ref y._reference, TensorSpanHelpers.ComputeLinearIndex(rightIndexes, y.Strides, y.Lengths)), (int)rowLength); 6908nint newLength = TensorSpanHelpers.CalculateTotalLength(newLengths); 6964TensorSpanHelpers.AdjustIndexes(input.Rank - 2, 1, curIndex, input.Lengths); 7016TensorSpanHelpers.AdjustIndexes(input.Rank - 2, 1, curIndex, input.Lengths); 7068TensorSpanHelpers.AdjustIndexes(input.Rank - 2, 1, curIndex, input.Lengths); 7131ospan = MemoryMarshal.CreateSpan(ref Unsafe.Add(ref slicedDestination._reference, TensorSpanHelpers.ComputeLinearIndex(curIndex, slicedDestination.Strides, slicedDestination.Lengths)), (int)rowLength); 7136TensorSpanHelpers.AdjustIndexes(broadcastedLeft.Rank - 2, 1, curIndex, broadcastedLeft.Lengths); 7144ospan = MemoryMarshal.CreateSpan(ref Unsafe.Add(ref slicedDestination._reference, TensorSpanHelpers.ComputeLinearIndex(curIndex, slicedDestination.Strides, slicedDestination.Lengths)), (int)rowLength); 7146ispan = MemoryMarshal.CreateSpan(ref Unsafe.Add(ref broadcastedRight._reference, TensorSpanHelpers.ComputeLinearIndex(curIndex, broadcastedRight.Strides, broadcastedRight.Lengths)), (int)rowLength); 7149TensorSpanHelpers.AdjustIndexes(broadcastedLeft.Rank - 2, 1, curIndex, broadcastedLeft.Lengths); 7157ospan = MemoryMarshal.CreateSpan(ref Unsafe.Add(ref slicedDestination._reference, TensorSpanHelpers.ComputeLinearIndex(curIndex, slicedDestination.Strides, slicedDestination.Lengths)), (int)rowLength); 7159ispan = MemoryMarshal.CreateSpan(ref Unsafe.Add(ref broadcastedLeft._reference, TensorSpanHelpers.ComputeLinearIndex(curIndex, broadcastedLeft.Strides, broadcastedLeft.Lengths)), (int)rowLength); 7162TensorSpanHelpers.AdjustIndexes(broadcastedLeft.Rank - 2, 1, curIndex, broadcastedLeft.Lengths); 7171ospan = MemoryMarshal.CreateSpan(ref Unsafe.Add(ref slicedDestination._reference, TensorSpanHelpers.ComputeLinearIndex(curIndex, slicedDestination.Strides, slicedDestination.Lengths)), (int)rowLength); 7172ispan = MemoryMarshal.CreateSpan(ref Unsafe.Add(ref broadcastedLeft._reference, TensorSpanHelpers.ComputeLinearIndex(curIndex, broadcastedLeft.Strides, broadcastedLeft.Lengths)), (int)rowLength); 7173rspan = MemoryMarshal.CreateSpan(ref Unsafe.Add(ref broadcastedRight._reference, TensorSpanHelpers.ComputeLinearIndex(curIndex, broadcastedRight.Strides, broadcastedRight.Lengths)), (int)rowLength); 7176TensorSpanHelpers.AdjustIndexes(broadcastedLeft.Rank - 2, 1, curIndex, broadcastedLeft.Lengths);
System\Numerics\Tensors\netcore\TensorShape.cs (1)
62public nint FlattenedLength => TensorSpanHelpers.CalculateTotalLength(Lengths);
System\Numerics\Tensors\netcore\TensorSpan.cs (43)
78nint linearLength = TensorSpanHelpers.CalculateTotalLength(lengths); 90strides = strides.IsEmpty ? (ReadOnlySpan<nint>)TensorSpanHelpers.CalculateStrides(lengths, linearLength) : strides; 91TensorSpanHelpers.ValidateStrides(strides, lengths); 92nint maxElements = TensorSpanHelpers.ComputeMaxLinearIndex(strides, lengths); 128nint linearLength = TensorSpanHelpers.CalculateTotalLength(lengths); 130strides = strides.IsEmpty ? (ReadOnlySpan<nint>)TensorSpanHelpers.CalculateStrides(lengths, linearLength) : strides; 131TensorSpanHelpers.ValidateStrides(strides, lengths); 133nint maxElements = TensorSpanHelpers.ComputeMaxLinearIndex(strides, lengths); 151TensorSpanHelpers.FillLengths(array.Rank <= TensorShape.MaxInlineRank ? stackalloc nint[array.Rank] : new nint[array.Rank], array), 167lengths = TensorSpanHelpers.FillLengths( 172nint linearLength = TensorSpanHelpers.CalculateTotalLength(lengths); 184strides = strides.IsEmpty ? (ReadOnlySpan<nint>)TensorSpanHelpers.CalculateStrides(lengths, linearLength) : strides; 185TensorSpanHelpers.ValidateStrides(strides, lengths); 187nint startOffset = TensorSpanHelpers.ComputeStartOffsetSystemArray(array, start); 188nint maxElements = TensorSpanHelpers.ComputeMaxLinearIndex(strides, lengths); 216lengths = TensorSpanHelpers.FillLengths( 221nint linearLength = TensorSpanHelpers.CalculateTotalLength(lengths); 222strides = strides.IsEmpty ? (ReadOnlySpan<nint>)TensorSpanHelpers.CalculateStrides(lengths, linearLength) : strides; 223TensorSpanHelpers.ValidateStrides(strides, lengths); 234nint startOffset = TensorSpanHelpers.ComputeStartOffsetSystemArray(array, startIndex); 235nint maxElements = TensorSpanHelpers.ComputeMaxLinearIndex(strides, lengths); 294nint linearLength = TensorSpanHelpers.CalculateTotalLength(lengths); 296strides = strides.IsEmpty ? (ReadOnlySpan<nint>)TensorSpanHelpers.CalculateStrides(lengths, linearLength) : strides; 297TensorSpanHelpers.ValidateStrides(strides, lengths); 299nint maxElements = TensorSpanHelpers.ComputeMaxLinearIndex(strides, lengths); 311nint linearLength = TensorSpanHelpers.CalculateTotalLength(lengths); 333nint index = TensorSpanHelpers.ComputeLinearIndex(indexes, Strides, Lengths); 358nint index = TensorSpanHelpers.ComputeLinearIndex(indexes, Strides, Lengths); 488TensorSpanHelpers.AdjustIndexes(_span.Rank - 1, 1, _curIndexes, _span.Lengths); 540TensorSpanHelpers.Clear(ref Unsafe.Add(ref _reference, TensorSpanHelpers.ComputeLinearIndex(curIndexes, Strides, Lengths)), (nuint)Lengths[Rank - 1]); 541TensorSpanHelpers.AdjustIndexes(Rank - 2, 1, curIndexes, _shape.Lengths); 597TensorSpanHelpers.Memmove(ref Unsafe.Add(ref destinationSlice._reference, TensorSpanHelpers.ComputeLinearIndex(curIndexes, destinationSlice.Strides, destinationSlice.Lengths)), ref Unsafe.Add(ref srcSlice._reference, TensorSpanHelpers.ComputeLinearIndex(curIndexes, srcSlice.Strides, srcSlice.Lengths)), copyLength); 598TensorSpanHelpers.AdjustIndexes(indexToAdjust, 1, curIndexes, tempLengths); 651TensorSpanHelpers.Memmove(ref Unsafe.Add(ref destinationSlice._reference, TensorSpanHelpers.ComputeLinearIndex(curIndexes, destinationSlice.Strides, destinationSlice.Lengths)), ref Unsafe.Add(ref srcSlice._reference, TensorSpanHelpers.ComputeLinearIndex(curIndexes, srcSlice.Strides, srcSlice.Lengths)), copyLength); 652TensorSpanHelpers.AdjustIndexes(indexToAdjust, 1, curIndexes, tempLengths); 824TensorSpanHelpers.Memmove(destination.Slice(checked((int)copiedValues)), ref Unsafe.Add(ref _reference, TensorSpanHelpers.ComputeLinearIndex(curIndexes, Strides, Lengths)), Lengths[Rank - 1]); 825TensorSpanHelpers.AdjustIndexes(Rank - 2, 1, curIndexes, _shape.Lengths);