3 writes to _lengths
System.Numerics.Tensors (3)
System\Numerics\Tensors\netcore\Tensor.cs (3)
45_lengths = []; 61_lengths = []; 66_lengths = lengths.IsEmpty ? [values.Length] : lengths.ToArray();
21 references to _lengths
System.Numerics.Tensors (21)
System\Numerics\Tensors\netcore\Tensor.cs (12)
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); 149public bool IsEmpty => _lengths.Length == 0; 161public int Rank => _lengths.Length; 173public ReadOnlySpan<nint> Lengths => _lengths; 179ReadOnlySpan<nint> IReadOnlyTensor<Tensor<T>, T>.Lengths => _lengths; 378public static implicit operator TensorSpan<T>(Tensor<T> value) => new TensorSpan<T>(ref MemoryMarshal.GetArrayDataReference(value._values), value._lengths, value._strides, value._flattenedLength); 383public static implicit operator ReadOnlyTensorSpan<T>(Tensor<T> value) => new ReadOnlyTensorSpan<T>(ref MemoryMarshal.GetArrayDataReference(value._values), value._lengths, value._strides, value.FlattenedLength); 389public TensorSpan<T> AsTensorSpan() => new TensorSpan<T>(ref MemoryMarshal.GetArrayDataReference(_values), _lengths, _strides, _flattenedLength); 416public ReadOnlyTensorSpan<T> AsReadOnlyTensorSpan() => new ReadOnlyTensorSpan<T>(ref MemoryMarshal.GetArrayDataReference(_values), _lengths, _strides, _flattenedLength);
System\Numerics\Tensors\netcore\TensorExtensions.cs (9)
2663lengths[i] = tensor._lengths[tensor.Rank - 1 - i]; 2708TensorSpanHelpers.AdjustIndexes(outTensor.Rank - 1, 1, indexes, tensor._lengths); 3240TensorSpan<T> oslice = outputs[i].AsTensorSpan().Slice(outputs[i]._lengths); 3246TensorSpanHelpers.AdjustIndexes((int)dimension, 1, oIndices, outputs[i]._lengths); 3675Span<nint> lengths = tensor._lengths.Length + 1 <= TensorShape.MaxInlineRank ? 3676stackalloc nint[tensor._lengths.Length + 1] : 3677new nint[tensor._lengths.Length + 1]; 3678tensor._lengths.AsSpan(0, dimension).CopyTo(lengths); 3679tensor._lengths.AsSpan(dimension).CopyTo(lengths.Slice(dimension + 1));