System\Numerics\Tensors\netcore\TensorExtensions.cs (14)
2721if (!TensorHelpers.IsContiguousAndDense<T>(tensor) && !tensor.Strides.Contains(0))
2751if (tensor.Strides.Contains(0))
2753List<nint> origStrides = new List<nint>(tensor.Strides.ToArray());
2762origStrides.Add(tensor.Strides[lengthOffset - 1]);
2764origStrides.Insert(i, tensor.Strides[i] * tensor.Lengths[i]);
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);
3649Span<nint> strides = tensor.Strides.Length + 1 <= TensorShape.MaxInlineRank ?
3650stackalloc nint[tensor.Strides.Length + 1] :
3651new nint[tensor.Strides.Length + 1];
3654tensor.Strides.CopyTo(strides);
3655strides[dimension] = tensor.Strides[dimension - 1];
3659tensor.Strides.Slice(0, dimension).CopyTo(strides);
3660tensor.Strides.Slice(dimension).CopyTo(strides.Slice(dimension + 1));
3661strides[dimension] = tensor.Strides[dimension] * tensor.Lengths[dimension];