256 references to Rank
System.Numerics.Tensors (256)
System\Numerics\Tensors\netcore\ReadOnlyTensorSpan.cs (37)
328
if (indexes.Length !=
Rank
)
351
if (indexes.Length !=
Rank
)
374
if (ranges.Length !=
Rank
)
421
left.
Rank
== right.
Rank
&&
486
_curIndexes = new nint[_span.
Rank
];
487
_curIndexes[_span.
Rank
- 1] = -1;
494
TensorSpanHelpers.AdjustIndexes(_span.
Rank
- 1, 1, _curIndexes, _span.Lengths);
545
if (
Rank
> TensorShape.MaxInlineRank)
564
int indexToAdjust = srcSlice.Strides[^1] == 1 && TensorHelpers.IsContiguousAndDense(srcSlice) ? srcSlice.
Rank
- 2 : srcSlice.
Rank
- 1;
601
if (
Rank
> TensorShape.MaxInlineRank)
620
int indexToAdjust = srcSlice.Strides[^1] == 1 && TensorHelpers.IsContiguousAndDense(srcSlice) ? srcSlice.
Rank
- 2 : srcSlice.
Rank
- 1;
696
if (
Rank
> TensorShape.MaxInlineRank)
698
lengthsArray = ArrayPool<nint>.Shared.Rent(
Rank
);
699
lengths = lengthsArray.AsSpan(0,
Rank
);
701
offsetsArray = ArrayPool<nint>.Shared.Rent(
Rank
);
702
offsets = offsetsArray.AsSpan(0,
Rank
);
706
lengths = stackalloc nint[
Rank
];
707
offsets = stackalloc nint[
Rank
];
756
if (
Rank
> TensorShape.MaxInlineRank)
758
curIndexesArray = ArrayPool<nint>.Shared.Rent(
Rank
);
759
curIndexes = curIndexesArray.AsSpan(0,
Rank
);
764
curIndexes = stackalloc nint[
Rank
];
771
TensorSpanHelpers.Memmove(destination.Slice(checked((int)copiedValues)), ref Unsafe.Add(ref _reference, TensorSpanHelpers.ComputeLinearIndex(curIndexes, Strides, Lengths)), Lengths[
Rank
- 1]);
772
TensorSpanHelpers.AdjustIndexes(
Rank
- 2, 1, curIndexes, _shape.Lengths);
773
copiedValues += Lengths[
Rank
- 1];
797
if (
Rank
> TensorShape.MaxInlineRank)
799
curIndexesArray = ArrayPool<nint>.Shared.Rent(
Rank
);
800
curIndexes = curIndexesArray.AsSpan(0,
Rank
);
805
curIndexes = stackalloc nint[
Rank
];
812
if (Strides[
Rank
- 1] == 0)
814
destination.Slice(checked((int)copiedValues), (int)Lengths[
Rank
- 1]).Fill(Unsafe.Add(ref _reference, TensorSpanHelpers.ComputeLinearIndex(curIndexes, Strides, Lengths)));
818
TensorSpanHelpers.Memmove(destination.Slice(checked((int)copiedValues)), ref Unsafe.Add(ref _reference, TensorSpanHelpers.ComputeLinearIndex(curIndexes, Strides, Lengths)), Lengths[
Rank
- 1]);
820
TensorSpanHelpers.AdjustIndexes(
Rank
- 2, 1, curIndexes, _shape.Lengths);
821
copiedValues += Lengths[
Rank
- 1];
System\Numerics\Tensors\netcore\TensorExtensions.cs (215)
545
if (x.
Rank
> TensorShape.MaxInlineRank)
547
curIndexArray = ArrayPool<nint>.Shared.Rent(x.
Rank
);
548
curIndex = curIndexArray.AsSpan(0, x.
Rank
);
553
curIndex = stackalloc nint[x.
Rank
];
560
TensorSpanHelpers.AdjustIndexes(x.
Rank
- 1, 1, curIndex, x.Lengths);
590
if (broadcastedLeft.
Rank
> TensorShape.MaxInlineRank)
592
curIndexArray = ArrayPool<nint>.Shared.Rent(broadcastedRight.
Rank
);
593
curIndex = curIndexArray.AsSpan(0, broadcastedRight.
Rank
);
598
curIndex = stackalloc nint[broadcastedRight.
Rank
];
606
TensorSpanHelpers.AdjustIndexes(broadcastedRight.
Rank
- 1, 1, curIndex, broadcastedRight.Lengths);
629
if (x.
Rank
> TensorShape.MaxInlineRank)
631
curIndexArray = ArrayPool<nint>.Shared.Rent(x.
Rank
);
632
curIndex = curIndexArray.AsSpan(0, x.
Rank
);
637
curIndex = stackalloc nint[x.
Rank
];
645
TensorSpanHelpers.AdjustIndexes(x.
Rank
- 1, 1, curIndex, x.Lengths);
674
if (broadcastedRight.
Rank
> TensorShape.MaxInlineRank)
677
curIndex = curIndexArray.AsSpan(0, broadcastedRight.
Rank
);
690
TensorSpanHelpers.AdjustIndexes(broadcastedRight.
Rank
- 1, 1, curIndex, broadcastedRight.Lengths);
713
if (x.
Rank
> TensorShape.MaxInlineRank)
715
curIndexArray = ArrayPool<nint>.Shared.Rent(x.
Rank
);
716
curIndex = curIndexArray.AsSpan(0, x.
Rank
);
721
curIndex = stackalloc nint[x.
Rank
];
729
TensorSpanHelpers.AdjustIndexes(x.
Rank
- 1, 1, curIndex, x.Lengths);
776
if (values.
Rank
!= 1)
920
if (x.
Rank
> TensorShape.MaxInlineRank)
922
curIndexArray = ArrayPool<nint>.Shared.Rent(x.
Rank
);
923
curIndex = curIndexArray.AsSpan(0, x.
Rank
);
928
curIndex = stackalloc nint[x.
Rank
];
935
TensorSpanHelpers.AdjustIndexes(x.
Rank
- 1, 1, curIndex, x.Lengths);
980
if (y.
Rank
> TensorShape.MaxInlineRank)
982
curIndexArray = ArrayPool<nint>.Shared.Rent(y.
Rank
);
983
curIndex = curIndexArray.AsSpan(0, y.
Rank
);
988
curIndex = stackalloc nint[y.
Rank
];
995
TensorSpanHelpers.AdjustIndexes(y.
Rank
- 1, 1, curIndex, y.Lengths);
1129
if (x.
Rank
> TensorShape.MaxInlineRank)
1131
curIndexArray = ArrayPool<nint>.Shared.Rent(x.
Rank
);
1132
curIndex = curIndexArray.AsSpan(0, x.
Rank
);
1137
curIndex = stackalloc nint[x.
Rank
];
1144
TensorSpanHelpers.AdjustIndexes(x.
Rank
- 1, 1, curIndex, x.Lengths);
1189
if (y.
Rank
> TensorShape.MaxInlineRank)
1191
curIndexArray = ArrayPool<nint>.Shared.Rent(y.
Rank
);
1192
curIndex = curIndexArray.AsSpan(0, y.
Rank
);
1197
curIndex = stackalloc nint[y.
Rank
];
1204
TensorSpanHelpers.AdjustIndexes(y.
Rank
- 1, 1, curIndex, y.Lengths);
1233
if (broadcastedRight.
Rank
> TensorShape.MaxInlineRank)
1236
curIndex = curIndexArray.AsSpan(0, broadcastedRight.
Rank
);
1249
TensorSpanHelpers.AdjustIndexes(broadcastedRight.
Rank
- 1, 1, curIndex, broadcastedRight.Lengths);
1272
if (x.
Rank
> TensorShape.MaxInlineRank)
1274
curIndexArray = ArrayPool<nint>.Shared.Rent(x.
Rank
);
1275
curIndex = curIndexArray.AsSpan(0, x.
Rank
);
1280
curIndex = stackalloc nint[x.
Rank
];
1288
TensorSpanHelpers.AdjustIndexes(x.
Rank
- 1, 1, curIndex, x.Lengths);
1311
if (y.
Rank
> TensorShape.MaxInlineRank)
1313
curIndexArray = ArrayPool<nint>.Shared.Rent(y.
Rank
);
1314
curIndex = curIndexArray.AsSpan(0, y.
Rank
);
1319
curIndex = stackalloc nint[y.
Rank
];
1327
TensorSpanHelpers.AdjustIndexes(y.
Rank
- 1, 1, curIndex, y.Lengths);
1356
if (broadcastedRight.
Rank
> TensorShape.MaxInlineRank)
1359
curIndex = curIndexArray.AsSpan(0, broadcastedRight.
Rank
);
1372
TensorSpanHelpers.AdjustIndexes(broadcastedRight.
Rank
- 1, 1, curIndex, broadcastedRight.Lengths);
1395
if (x.
Rank
> TensorShape.MaxInlineRank)
1397
curIndexArray = ArrayPool<nint>.Shared.Rent(x.
Rank
);
1398
curIndex = curIndexArray.AsSpan(0, x.
Rank
);
1403
curIndex = stackalloc nint[x.
Rank
];
1411
TensorSpanHelpers.AdjustIndexes(x.
Rank
- 1, 1, curIndex, x.Lengths);
1434
if (y.
Rank
> TensorShape.MaxInlineRank)
1436
curIndexArray = ArrayPool<nint>.Shared.Rent(y.
Rank
);
1437
curIndex = curIndexArray.AsSpan(0, y.
Rank
);
1442
curIndex = stackalloc nint[y.
Rank
];
1450
TensorSpanHelpers.AdjustIndexes(y.
Rank
- 1, 1, curIndex, y.Lengths);
1480
if (broadcastedLeft.
Rank
> TensorShape.MaxInlineRank)
1482
curIndexArray = ArrayPool<nint>.Shared.Rent(broadcastedRight.
Rank
);
1483
curIndex = curIndexArray.AsSpan(0, broadcastedRight.
Rank
);
1488
curIndex = stackalloc nint[broadcastedRight.
Rank
];
1496
TensorSpanHelpers.AdjustIndexes(broadcastedRight.
Rank
- 1, 1, curIndex, broadcastedRight.Lengths);
1519
if (x.
Rank
> TensorShape.MaxInlineRank)
1521
curIndexArray = ArrayPool<nint>.Shared.Rent(x.
Rank
);
1522
curIndex = curIndexArray.AsSpan(0, x.
Rank
);
1527
curIndex = stackalloc nint[x.
Rank
];
1535
TensorSpanHelpers.AdjustIndexes(x.
Rank
- 1, 1, curIndex, x.Lengths);
1558
if (y.
Rank
> TensorShape.MaxInlineRank)
1560
curIndexArray = ArrayPool<nint>.Shared.Rent(y.
Rank
);
1561
curIndex = curIndexArray.AsSpan(0, y.
Rank
);
1566
curIndex = stackalloc nint[y.
Rank
];
1574
TensorSpanHelpers.AdjustIndexes(y.
Rank
- 1, 1, curIndex, y.Lengths);
1604
if (broadcastedLeft.
Rank
> TensorShape.MaxInlineRank)
1606
curIndexArray = ArrayPool<nint>.Shared.Rent(broadcastedRight.
Rank
);
1607
curIndex = curIndexArray.AsSpan(0, broadcastedRight.
Rank
);
1612
curIndex = stackalloc nint[broadcastedRight.
Rank
];
1620
TensorSpanHelpers.AdjustIndexes(broadcastedRight.
Rank
- 1, 1, curIndex, broadcastedRight.Lengths);
1643
if (x.
Rank
> TensorShape.MaxInlineRank)
1645
curIndexArray = ArrayPool<nint>.Shared.Rent(x.
Rank
);
1646
curIndex = curIndexArray.AsSpan(0, x.
Rank
);
1651
curIndex = stackalloc nint[x.
Rank
];
1659
TensorSpanHelpers.AdjustIndexes(x.
Rank
- 1, 1, curIndex, x.Lengths);
1682
if (y.
Rank
> TensorShape.MaxInlineRank)
1684
curIndexArray = ArrayPool<nint>.Shared.Rent(y.
Rank
);
1685
curIndex = curIndexArray.AsSpan(0, y.
Rank
);
1690
curIndex = stackalloc nint[y.
Rank
];
1698
TensorSpanHelpers.AdjustIndexes(y.
Rank
- 1, 1, curIndex, y.Lengths);
1832
if (x.
Rank
> TensorShape.MaxInlineRank)
1834
curIndexArray = ArrayPool<nint>.Shared.Rent(x.
Rank
);
1835
curIndex = curIndexArray.AsSpan(0, x.
Rank
);
1840
curIndex = stackalloc nint[x.
Rank
];
1847
TensorSpanHelpers.AdjustIndexes(x.
Rank
- 1, 1, curIndex, x.Lengths);
1892
if (y.
Rank
> TensorShape.MaxInlineRank)
1894
curIndexArray = ArrayPool<nint>.Shared.Rent(y.
Rank
);
1895
curIndex = curIndexArray.AsSpan(0, y.
Rank
);
1900
curIndex = stackalloc nint[y.
Rank
];
1907
TensorSpanHelpers.AdjustIndexes(y.
Rank
- 1, 1, curIndex, y.Lengths);
2041
if (x.
Rank
> TensorShape.MaxInlineRank)
2043
curIndexArray = ArrayPool<nint>.Shared.Rent(x.
Rank
);
2044
curIndex = curIndexArray.AsSpan(0, x.
Rank
);
2049
curIndex = stackalloc nint[x.
Rank
];
2056
TensorSpanHelpers.AdjustIndexes(x.
Rank
- 1, 1, curIndex, x.Lengths);
2101
if (y.
Rank
> TensorShape.MaxInlineRank)
2103
curIndexArray = ArrayPool<nint>.Shared.Rent(y.
Rank
);
2104
curIndex = curIndexArray.AsSpan(0, y.
Rank
);
2109
curIndex = stackalloc nint[y.
Rank
];
2116
TensorSpanHelpers.AdjustIndexes(y.
Rank
- 1, 1, curIndex, y.Lengths);
2146
if (broadcastedRight.
Rank
> TensorShape.MaxInlineRank)
2149
curIndex = curIndexArray.AsSpan(0, broadcastedRight.
Rank
);
2162
TensorSpanHelpers.AdjustIndexes(broadcastedRight.
Rank
- 1, 1, curIndex, broadcastedRight.Lengths);
2185
if (x.
Rank
> TensorShape.MaxInlineRank)
2187
curIndexArray = ArrayPool<nint>.Shared.Rent(x.
Rank
);
2188
curIndex = curIndexArray.AsSpan(0, x.
Rank
);
2193
curIndex = stackalloc nint[x.
Rank
];
2201
TensorSpanHelpers.AdjustIndexes(x.
Rank
- 1, 1, curIndex, x.Lengths);
2224
if (y.
Rank
> TensorShape.MaxInlineRank)
2226
curIndexArray = ArrayPool<nint>.Shared.Rent(y.
Rank
);
2227
curIndex = curIndexArray.AsSpan(0, y.
Rank
);
2232
curIndex = stackalloc nint[y.
Rank
];
2240
TensorSpanHelpers.AdjustIndexes(y.
Rank
- 1, 1, curIndex, y.Lengths);
2270
if (broadcastedRight.
Rank
> TensorShape.MaxInlineRank)
2273
curIndex = curIndexArray.AsSpan(0, broadcastedRight.
Rank
);
2286
TensorSpanHelpers.AdjustIndexes(broadcastedRight.
Rank
- 1, 1, curIndex, broadcastedRight.Lengths);
2309
if (x.
Rank
> TensorShape.MaxInlineRank)
2311
curIndexArray = ArrayPool<nint>.Shared.Rent(x.
Rank
);
2312
curIndex = curIndexArray.AsSpan(0, x.
Rank
);
2317
curIndex = stackalloc nint[x.
Rank
];
2325
TensorSpanHelpers.AdjustIndexes(x.
Rank
- 1, 1, curIndex, x.Lengths);
2348
if (y.
Rank
> TensorShape.MaxInlineRank)
2350
curIndexArray = ArrayPool<nint>.Shared.Rent(y.
Rank
);
2351
curIndex = curIndexArray.AsSpan(0, y.
Rank
);
2356
curIndex = stackalloc nint[y.
Rank
];
2364
TensorSpanHelpers.AdjustIndexes(y.
Rank
- 1, 1, curIndex, y.Lengths);
2393
if (broadcastedRight.
Rank
> TensorShape.MaxInlineRank)
2396
curIndex = curIndexArray.AsSpan(0, broadcastedRight.
Rank
);
2409
TensorSpanHelpers.AdjustIndexes(broadcastedRight.
Rank
- 1, 1, curIndex, broadcastedRight.Lengths);
2432
if (x.
Rank
> TensorShape.MaxInlineRank)
2434
curIndexArray = ArrayPool<nint>.Shared.Rent(x.
Rank
);
2435
curIndex = curIndexArray.AsSpan(0, x.
Rank
);
2440
curIndex = stackalloc nint[x.
Rank
];
2448
TensorSpanHelpers.AdjustIndexes(x.
Rank
- 1, 1, curIndex, x.Lengths);
2471
if (y.
Rank
> TensorShape.MaxInlineRank)
2473
curIndexArray = ArrayPool<nint>.Shared.Rent(y.
Rank
);
2474
curIndex = curIndexArray.AsSpan(0, y.
Rank
);
2479
curIndex = stackalloc nint[y.
Rank
];
2487
TensorSpanHelpers.AdjustIndexes(y.
Rank
- 1, 1, curIndex, y.Lengths);
2516
if (broadcastedRight.
Rank
> TensorShape.MaxInlineRank)
2519
curIndex = curIndexArray.AsSpan(0, broadcastedRight.
Rank
);
2532
TensorSpanHelpers.AdjustIndexes(broadcastedRight.
Rank
- 1, 1, curIndex, broadcastedRight.Lengths);
2555
if (x.
Rank
> TensorShape.MaxInlineRank)
2557
curIndexArray = ArrayPool<nint>.Shared.Rent(x.
Rank
);
2558
curIndex = curIndexArray.AsSpan(0, x.
Rank
);
2563
curIndex = stackalloc nint[x.
Rank
];
2571
TensorSpanHelpers.AdjustIndexes(x.
Rank
- 1, 1, curIndex, x.Lengths);
2594
if (y.
Rank
> TensorShape.MaxInlineRank)
2596
curIndexArray = ArrayPool<nint>.Shared.Rent(y.
Rank
);
2597
curIndex = curIndexArray.AsSpan(0, y.
Rank
);
2602
curIndex = stackalloc nint[y.
Rank
];
2610
TensorSpanHelpers.AdjustIndexes(y.
Rank
- 1, 1, curIndex, y.Lengths);
2896
if (lengthOffset < tensor.
Rank
&& arrLengths[i] == tensor.Lengths[lengthOffset])
2900
if (lengthOffset == tensor.
Rank
)
3059
if (tensor.
Rank
> 6)
3061
oIndicesArray = ArrayPool<nint>.Shared.Rent(tensor.
Rank
);
3062
oIndices = oIndicesArray.AsSpan(0, tensor.
Rank
);
3065
iIndicesArray = ArrayPool<nint>.Shared.Rent(tensor.
Rank
);
3066
iIndices = iIndicesArray.AsSpan(0, tensor.
Rank
);
3072
oIndices = stackalloc nint[tensor.
Rank
];
3074
iIndices = stackalloc nint[tensor.
Rank
];
3199
if (tensor.
Rank
> 6)
3201
oIndicesArray = ArrayPool<nint>.Shared.Rent(tensor.
Rank
);
3202
oIndices = oIndicesArray.AsSpan(0, tensor.
Rank
);
3205
iIndicesArray = ArrayPool<nint>.Shared.Rent(tensor.
Rank
);
3206
iIndices = iIndicesArray.AsSpan(0, tensor.
Rank
);
3212
oIndices = stackalloc nint[tensor.
Rank
];
3214
iIndices = stackalloc nint[tensor.
Rank
];
3378
if (dimension >= tensor.
Rank
)
3519
if (maximumLengths.Length != tensor.
Rank
)
3524
if (tensor.
Rank
> 6)
3526
curIndexesArray = ArrayPool<nint>.Shared.Rent(tensor.
Rank
);
3527
curIndexes = curIndexesArray.AsSpan(0, tensor.
Rank
);
3533
curIndexes = stackalloc nint[tensor.
Rank
];
3538
T[] values = new T[tensor.Lengths[tensor.
Rank
- 1]];
3541
var 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]);
3547
TensorSpanHelpers.AdjustIndexes(tensor.
Rank
- 2, 1, curIndexes, tensor.Lengths);
3548
copiedValues += tensor.Lengths[tensor.
Rank
- 1];
3714
dimension = tensor.
Rank
- dimension;
3726
if (dimension == tensor.
Rank
)
4629
if (x.
Rank
!= 2)
4632
if (y.
Rank
!= 2)
4659
if (x.
Rank
!= 2)
4662
if (y.
Rank
!= 2)
6939
curIndex = curIndexArray.AsSpan(0, input.
Rank
);
6957
TensorSpanHelpers.AdjustIndexes(input.
Rank
- 2, 1, curIndex, input.Lengths);
6991
curIndex = curIndexArray.AsSpan(0, input.
Rank
);
7009
TensorSpanHelpers.AdjustIndexes(input.
Rank
- 2, 1, curIndex, input.Lengths);
7043
curIndex = curIndexArray.AsSpan(0, input.
Rank
);
7061
TensorSpanHelpers.AdjustIndexes(input.
Rank
- 2, 1, curIndex, input.Lengths);
7129
TensorSpanHelpers.AdjustIndexes(broadcastedLeft.
Rank
- 2, 1, curIndex, broadcastedLeft.Lengths);
7142
TensorSpanHelpers.AdjustIndexes(broadcastedLeft.
Rank
- 2, 1, curIndex, broadcastedLeft.Lengths);
7155
TensorSpanHelpers.AdjustIndexes(broadcastedLeft.
Rank
- 2, 1, curIndex, broadcastedLeft.Lengths);
7169
TensorSpanHelpers.AdjustIndexes(broadcastedLeft.
Rank
- 2, 1, curIndex, broadcastedLeft.Lengths);
System\Numerics\Tensors\netcore\TensorSpan.cs (4)
593
int indexToAdjust = srcSlice.Strides[^1] == 1 && TensorHelpers.IsContiguousAndDense(srcSlice) ? srcSlice.
Rank
- 2 : srcSlice.
Rank
- 1;
647
int indexToAdjust = srcSlice.Strides[^1] == 1 && TensorHelpers.IsContiguousAndDense(srcSlice) ? srcSlice.
Rank
- 2 : srcSlice.
Rank
- 1;