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)
140nint newSize = TensorSpanHelpers.CalculateTotalLength(shape); 183nint newSize = TensorSpanHelpers.CalculateTotalLength(shape); 226nint newSize = TensorSpanHelpers.CalculateTotalLength(lengths); 279totalLength += TensorSpanHelpers.CalculateTotalLength(tensors[i].Lengths); 347totalLength += TensorSpanHelpers.CalculateTotalLength(tensors[i].Lengths); 402srcIndex = TensorSpanHelpers.ComputeLinearIndex(curIndex, tensors[i].Strides, tensors[i].Lengths); 405TensorSpanHelpers.Memmove(dstSpan, srcSpan, copyLength, valuesCopied); 408TensorSpanHelpers.AdjustIndexes(dimension - 1, 1, curIndex, tensors[0].Lengths); 504TensorSpanHelpers.AdjustIndexes(right.Rank - 1, 1, curIndex, right.Lengths); 560TensorSpanHelpers.AdjustIndexes(x.Rank - 1, 1, curIndex, x.Lengths); 606TensorSpanHelpers.AdjustIndexes(broadcastedRight.Rank - 1, 1, curIndex, broadcastedRight.Lengths); 645TensorSpanHelpers.AdjustIndexes(x.Rank - 1, 1, curIndex, x.Lengths); 690TensorSpanHelpers.AdjustIndexes(broadcastedRight.Rank - 1, 1, curIndex, broadcastedRight.Lengths); 729TensorSpanHelpers.AdjustIndexes(x.Rank - 1, 1, curIndex, x.Lengths); 875TensorSpanHelpers.AdjustIndexes(right.Rank - 1, 1, curIndex, right.Lengths); 935TensorSpanHelpers.AdjustIndexes(x.Rank - 1, 1, curIndex, x.Lengths); 995TensorSpanHelpers.AdjustIndexes(y.Rank - 1, 1, curIndex, y.Lengths); 1084TensorSpanHelpers.AdjustIndexes(right.Rank - 1, 1, curIndex, right.Lengths); 1144TensorSpanHelpers.AdjustIndexes(x.Rank - 1, 1, curIndex, x.Lengths); 1204TensorSpanHelpers.AdjustIndexes(y.Rank - 1, 1, curIndex, y.Lengths); 1249TensorSpanHelpers.AdjustIndexes(broadcastedRight.Rank - 1, 1, curIndex, broadcastedRight.Lengths); 1288TensorSpanHelpers.AdjustIndexes(x.Rank - 1, 1, curIndex, x.Lengths); 1327TensorSpanHelpers.AdjustIndexes(y.Rank - 1, 1, curIndex, y.Lengths); 1372TensorSpanHelpers.AdjustIndexes(broadcastedRight.Rank - 1, 1, curIndex, broadcastedRight.Lengths); 1411TensorSpanHelpers.AdjustIndexes(x.Rank - 1, 1, curIndex, x.Lengths); 1450TensorSpanHelpers.AdjustIndexes(y.Rank - 1, 1, curIndex, y.Lengths); 1496TensorSpanHelpers.AdjustIndexes(broadcastedRight.Rank - 1, 1, curIndex, broadcastedRight.Lengths); 1535TensorSpanHelpers.AdjustIndexes(x.Rank - 1, 1, curIndex, x.Lengths); 1574TensorSpanHelpers.AdjustIndexes(y.Rank - 1, 1, curIndex, y.Lengths); 1620TensorSpanHelpers.AdjustIndexes(broadcastedRight.Rank - 1, 1, curIndex, broadcastedRight.Lengths); 1659TensorSpanHelpers.AdjustIndexes(x.Rank - 1, 1, curIndex, x.Lengths); 1698TensorSpanHelpers.AdjustIndexes(y.Rank - 1, 1, curIndex, y.Lengths); 1787TensorSpanHelpers.AdjustIndexes(right.Rank - 1, 1, curIndex, right.Lengths); 1847TensorSpanHelpers.AdjustIndexes(x.Rank - 1, 1, curIndex, x.Lengths); 1907TensorSpanHelpers.AdjustIndexes(y.Rank - 1, 1, curIndex, y.Lengths); 1996TensorSpanHelpers.AdjustIndexes(right.Rank - 1, 1, curIndex, right.Lengths); 2056TensorSpanHelpers.AdjustIndexes(x.Rank - 1, 1, curIndex, x.Lengths); 2116TensorSpanHelpers.AdjustIndexes(y.Rank - 1, 1, curIndex, y.Lengths); 2162TensorSpanHelpers.AdjustIndexes(broadcastedRight.Rank - 1, 1, curIndex, broadcastedRight.Lengths); 2201TensorSpanHelpers.AdjustIndexes(x.Rank - 1, 1, curIndex, x.Lengths); 2240TensorSpanHelpers.AdjustIndexes(y.Rank - 1, 1, curIndex, y.Lengths); 2286TensorSpanHelpers.AdjustIndexes(broadcastedRight.Rank - 1, 1, curIndex, broadcastedRight.Lengths); 2325TensorSpanHelpers.AdjustIndexes(x.Rank - 1, 1, curIndex, x.Lengths); 2364TensorSpanHelpers.AdjustIndexes(y.Rank - 1, 1, curIndex, y.Lengths); 2409TensorSpanHelpers.AdjustIndexes(broadcastedRight.Rank - 1, 1, curIndex, broadcastedRight.Lengths); 2448TensorSpanHelpers.AdjustIndexes(x.Rank - 1, 1, curIndex, x.Lengths); 2487TensorSpanHelpers.AdjustIndexes(y.Rank - 1, 1, curIndex, y.Lengths); 2532TensorSpanHelpers.AdjustIndexes(broadcastedRight.Rank - 1, 1, curIndex, broadcastedRight.Lengths); 2571TensorSpanHelpers.AdjustIndexes(x.Rank - 1, 1, curIndex, x.Lengths); 2610TensorSpanHelpers.AdjustIndexes(y.Rank - 1, 1, curIndex, y.Lengths); 2694TensorSpanHelpers.AdjustIndexes(outTensor.Rank - 1, 1, indexes, tensor._lengths); 2744nint tempLinear = TensorSpanHelpers.CalculateTotalLength(arrLengths); 2772strides = TensorSpanHelpers.CalculateStrides(arrLengths); 2812nint tempLinear = TensorSpanHelpers.CalculateTotalLength(arrLengths); 2842strides = TensorSpanHelpers.CalculateStrides(arrLengths); 2883nint tempLinear = TensorSpanHelpers.CalculateTotalLength(arrLengths); 2911strides = TensorSpanHelpers.CalculateStrides(arrLengths); 2927nint newSize = TensorSpanHelpers.CalculateTotalLength(lengths); 2933TensorSpanHelpers.Memmove(ospan, span, tensor._values.Length); 2935TensorSpanHelpers.Memmove(ospan, span, newSize); 2951TensorSpanHelpers.Memmove(ospan, span, tensor._values.Length); 2953TensorSpanHelpers.Memmove(ospan, span, destination._shape._memoryLength); 2967TensorSpanHelpers.Memmove(ospan, span, tensor._shape._memoryLength); 2969TensorSpanHelpers.Memmove(ospan, span, destination._shape._memoryLength); 2983TensorSpanHelpers.Memmove(ospan, span, tensor._shape._memoryLength); 2985TensorSpanHelpers.Memmove(ospan, span, destination._shape._memoryLength); 3083TensorSpanHelpers.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); 3084TensorSpanHelpers.AdjustIndexes((int)dimension, 1, oIndices, tensor.Lengths); 3085TensorSpanHelpers.AdjustIndexesDown((int)dimension, 1, iIndices, tensor.Lengths); 3231TensorSpanHelpers.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); 3232TensorSpanHelpers.AdjustIndexes((int)dimension, 1, oIndices, outputs[i]._lengths); 3233TensorSpanHelpers.AdjustIndexes((int)dimension - 1, 1, iIndices, tensor.Lengths); 3283strides = TensorSpanHelpers.CalculateStrides(lengths); 3299strides = TensorSpanHelpers.CalculateStrides(lengths); 3339strides = TensorSpanHelpers.CalculateStrides(lengths); 3355strides = TensorSpanHelpers.CalculateStrides(lengths); 3395strides = TensorSpanHelpers.CalculateStrides(lengths); 3411strides = TensorSpanHelpers.CalculateStrides(lengths); 3541var 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]); 3547TensorSpanHelpers.AdjustIndexes(tensor.Rank - 2, 1, curIndexes, tensor.Lengths); 3576TensorSpanHelpers.FillRange(dimension); 4688lspan = MemoryMarshal.CreateReadOnlySpan(ref Unsafe.Add(ref x._reference, TensorSpanHelpers.ComputeLinearIndex(leftIndexes, x.Strides, x.Lengths)), (int)rowLength); 4689rspan = MemoryMarshal.CreateReadOnlySpan(ref Unsafe.Add(ref y._reference, TensorSpanHelpers.ComputeLinearIndex(rightIndexes, y.Strides, y.Lengths)), (int)rowLength); 6901nint newLength = TensorSpanHelpers.CalculateTotalLength(newLengths); 6957TensorSpanHelpers.AdjustIndexes(input.Rank - 2, 1, curIndex, input.Lengths); 7009TensorSpanHelpers.AdjustIndexes(input.Rank - 2, 1, curIndex, input.Lengths); 7061TensorSpanHelpers.AdjustIndexes(input.Rank - 2, 1, curIndex, input.Lengths); 7124ospan = MemoryMarshal.CreateSpan(ref Unsafe.Add(ref slicedDestination._reference, TensorSpanHelpers.ComputeLinearIndex(curIndex, slicedDestination.Strides, slicedDestination.Lengths)), (int)rowLength); 7129TensorSpanHelpers.AdjustIndexes(broadcastedLeft.Rank - 2, 1, curIndex, broadcastedLeft.Lengths); 7137ospan = MemoryMarshal.CreateSpan(ref Unsafe.Add(ref slicedDestination._reference, TensorSpanHelpers.ComputeLinearIndex(curIndex, slicedDestination.Strides, slicedDestination.Lengths)), (int)rowLength); 7139ispan = MemoryMarshal.CreateSpan(ref Unsafe.Add(ref broadcastedRight._reference, TensorSpanHelpers.ComputeLinearIndex(curIndex, broadcastedRight.Strides, broadcastedRight.Lengths)), (int)rowLength); 7142TensorSpanHelpers.AdjustIndexes(broadcastedLeft.Rank - 2, 1, curIndex, broadcastedLeft.Lengths); 7150ospan = MemoryMarshal.CreateSpan(ref Unsafe.Add(ref slicedDestination._reference, TensorSpanHelpers.ComputeLinearIndex(curIndex, slicedDestination.Strides, slicedDestination.Lengths)), (int)rowLength); 7152ispan = MemoryMarshal.CreateSpan(ref Unsafe.Add(ref broadcastedLeft._reference, TensorSpanHelpers.ComputeLinearIndex(curIndex, broadcastedLeft.Strides, broadcastedLeft.Lengths)), (int)rowLength); 7155TensorSpanHelpers.AdjustIndexes(broadcastedLeft.Rank - 2, 1, curIndex, broadcastedLeft.Lengths); 7164ospan = MemoryMarshal.CreateSpan(ref Unsafe.Add(ref slicedDestination._reference, TensorSpanHelpers.ComputeLinearIndex(curIndex, slicedDestination.Strides, slicedDestination.Lengths)), (int)rowLength); 7165ispan = MemoryMarshal.CreateSpan(ref Unsafe.Add(ref broadcastedLeft._reference, TensorSpanHelpers.ComputeLinearIndex(curIndex, broadcastedLeft.Strides, broadcastedLeft.Lengths)), (int)rowLength); 7166rspan = MemoryMarshal.CreateSpan(ref Unsafe.Add(ref broadcastedRight._reference, TensorSpanHelpers.ComputeLinearIndex(curIndex, broadcastedRight.Strides, broadcastedRight.Lengths)), (int)rowLength); 7169TensorSpanHelpers.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);