256 references to Rank
System.Numerics.Tensors (256)
System\Numerics\Tensors\netcore\ReadOnlyTensorSpan.cs (37)
311
if (indexes.Length !=
Rank
)
334
if (indexes.Length !=
Rank
)
357
if (ranges.Length !=
Rank
)
404
left.
Rank
== right.
Rank
&&
469
_curIndexes = new nint[_span.
Rank
];
470
_curIndexes[_span.
Rank
- 1] = -1;
477
TensorSpanHelpers.AdjustIndexes(_span.
Rank
- 1, 1, _curIndexes, _span.Lengths);
528
if (
Rank
> TensorShape.MaxInlineRank)
547
int indexToAdjust = srcSlice.Strides[^1] == 1 && TensorHelpers.IsContiguousAndDense(srcSlice) ? srcSlice.
Rank
- 2 : srcSlice.
Rank
- 1;
584
if (
Rank
> TensorShape.MaxInlineRank)
603
int indexToAdjust = srcSlice.Strides[^1] == 1 && TensorHelpers.IsContiguousAndDense(srcSlice) ? srcSlice.
Rank
- 2 : srcSlice.
Rank
- 1;
679
if (
Rank
> TensorShape.MaxInlineRank)
681
lengthsArray = ArrayPool<nint>.Shared.Rent(
Rank
);
682
lengths = lengthsArray.AsSpan(0,
Rank
);
684
offsetsArray = ArrayPool<nint>.Shared.Rent(
Rank
);
685
offsets = offsetsArray.AsSpan(0,
Rank
);
689
lengths = stackalloc nint[
Rank
];
690
offsets = stackalloc nint[
Rank
];
739
if (
Rank
> TensorShape.MaxInlineRank)
741
curIndexesArray = ArrayPool<nint>.Shared.Rent(
Rank
);
742
curIndexes = curIndexesArray.AsSpan(0,
Rank
);
747
curIndexes = stackalloc nint[
Rank
];
754
TensorSpanHelpers.Memmove(destination.Slice(checked((int)copiedValues)), ref Unsafe.Add(ref _reference, TensorSpanHelpers.ComputeLinearIndex(curIndexes, Strides, Lengths)), Lengths[
Rank
- 1]);
755
TensorSpanHelpers.AdjustIndexes(
Rank
- 2, 1, curIndexes, _shape.Lengths);
756
copiedValues += Lengths[
Rank
- 1];
780
if (
Rank
> TensorShape.MaxInlineRank)
782
curIndexesArray = ArrayPool<nint>.Shared.Rent(
Rank
);
783
curIndexes = curIndexesArray.AsSpan(0,
Rank
);
788
curIndexes = stackalloc nint[
Rank
];
795
if (Strides[
Rank
- 1] == 0)
797
destination.Slice(checked((int)copiedValues), (int)Lengths[
Rank
- 1]).Fill(Unsafe.Add(ref _reference, TensorSpanHelpers.ComputeLinearIndex(curIndexes, Strides, Lengths)));
801
TensorSpanHelpers.Memmove(destination.Slice(checked((int)copiedValues)), ref Unsafe.Add(ref _reference, TensorSpanHelpers.ComputeLinearIndex(curIndexes, Strides, Lengths)), Lengths[
Rank
- 1]);
803
TensorSpanHelpers.AdjustIndexes(
Rank
- 2, 1, curIndexes, _shape.Lengths);
804
copiedValues += Lengths[
Rank
- 1];
System\Numerics\Tensors\netcore\TensorExtensions.cs (215)
560
if (x.
Rank
> TensorShape.MaxInlineRank)
562
curIndexArray = ArrayPool<nint>.Shared.Rent(x.
Rank
);
563
curIndex = curIndexArray.AsSpan(0, x.
Rank
);
568
curIndex = stackalloc nint[x.
Rank
];
575
TensorSpanHelpers.AdjustIndexes(x.
Rank
- 1, 1, curIndex, x.Lengths);
605
if (broadcastedLeft.
Rank
> TensorShape.MaxInlineRank)
607
curIndexArray = ArrayPool<nint>.Shared.Rent(broadcastedRight.
Rank
);
608
curIndex = curIndexArray.AsSpan(0, broadcastedRight.
Rank
);
613
curIndex = stackalloc nint[broadcastedRight.
Rank
];
621
TensorSpanHelpers.AdjustIndexes(broadcastedRight.
Rank
- 1, 1, curIndex, broadcastedRight.Lengths);
644
if (x.
Rank
> TensorShape.MaxInlineRank)
646
curIndexArray = ArrayPool<nint>.Shared.Rent(x.
Rank
);
647
curIndex = curIndexArray.AsSpan(0, x.
Rank
);
652
curIndex = stackalloc nint[x.
Rank
];
660
TensorSpanHelpers.AdjustIndexes(x.
Rank
- 1, 1, curIndex, x.Lengths);
689
if (broadcastedRight.
Rank
> TensorShape.MaxInlineRank)
692
curIndex = curIndexArray.AsSpan(0, broadcastedRight.
Rank
);
705
TensorSpanHelpers.AdjustIndexes(broadcastedRight.
Rank
- 1, 1, curIndex, broadcastedRight.Lengths);
728
if (x.
Rank
> TensorShape.MaxInlineRank)
730
curIndexArray = ArrayPool<nint>.Shared.Rent(x.
Rank
);
731
curIndex = curIndexArray.AsSpan(0, x.
Rank
);
736
curIndex = stackalloc nint[x.
Rank
];
744
TensorSpanHelpers.AdjustIndexes(x.
Rank
- 1, 1, curIndex, x.Lengths);
791
if (values.
Rank
!= 1)
935
if (x.
Rank
> TensorShape.MaxInlineRank)
937
curIndexArray = ArrayPool<nint>.Shared.Rent(x.
Rank
);
938
curIndex = curIndexArray.AsSpan(0, x.
Rank
);
943
curIndex = stackalloc nint[x.
Rank
];
950
TensorSpanHelpers.AdjustIndexes(x.
Rank
- 1, 1, curIndex, x.Lengths);
995
if (y.
Rank
> TensorShape.MaxInlineRank)
997
curIndexArray = ArrayPool<nint>.Shared.Rent(y.
Rank
);
998
curIndex = curIndexArray.AsSpan(0, y.
Rank
);
1003
curIndex = stackalloc nint[y.
Rank
];
1010
TensorSpanHelpers.AdjustIndexes(y.
Rank
- 1, 1, curIndex, y.Lengths);
1144
if (x.
Rank
> TensorShape.MaxInlineRank)
1146
curIndexArray = ArrayPool<nint>.Shared.Rent(x.
Rank
);
1147
curIndex = curIndexArray.AsSpan(0, x.
Rank
);
1152
curIndex = stackalloc nint[x.
Rank
];
1159
TensorSpanHelpers.AdjustIndexes(x.
Rank
- 1, 1, curIndex, x.Lengths);
1204
if (y.
Rank
> TensorShape.MaxInlineRank)
1206
curIndexArray = ArrayPool<nint>.Shared.Rent(y.
Rank
);
1207
curIndex = curIndexArray.AsSpan(0, y.
Rank
);
1212
curIndex = stackalloc nint[y.
Rank
];
1219
TensorSpanHelpers.AdjustIndexes(y.
Rank
- 1, 1, curIndex, y.Lengths);
1248
if (broadcastedRight.
Rank
> TensorShape.MaxInlineRank)
1251
curIndex = curIndexArray.AsSpan(0, broadcastedRight.
Rank
);
1264
TensorSpanHelpers.AdjustIndexes(broadcastedRight.
Rank
- 1, 1, curIndex, broadcastedRight.Lengths);
1287
if (x.
Rank
> TensorShape.MaxInlineRank)
1289
curIndexArray = ArrayPool<nint>.Shared.Rent(x.
Rank
);
1290
curIndex = curIndexArray.AsSpan(0, x.
Rank
);
1295
curIndex = stackalloc nint[x.
Rank
];
1303
TensorSpanHelpers.AdjustIndexes(x.
Rank
- 1, 1, curIndex, x.Lengths);
1326
if (y.
Rank
> TensorShape.MaxInlineRank)
1328
curIndexArray = ArrayPool<nint>.Shared.Rent(y.
Rank
);
1329
curIndex = curIndexArray.AsSpan(0, y.
Rank
);
1334
curIndex = stackalloc nint[y.
Rank
];
1342
TensorSpanHelpers.AdjustIndexes(y.
Rank
- 1, 1, curIndex, y.Lengths);
1371
if (broadcastedRight.
Rank
> TensorShape.MaxInlineRank)
1374
curIndex = curIndexArray.AsSpan(0, broadcastedRight.
Rank
);
1387
TensorSpanHelpers.AdjustIndexes(broadcastedRight.
Rank
- 1, 1, curIndex, broadcastedRight.Lengths);
1410
if (x.
Rank
> TensorShape.MaxInlineRank)
1412
curIndexArray = ArrayPool<nint>.Shared.Rent(x.
Rank
);
1413
curIndex = curIndexArray.AsSpan(0, x.
Rank
);
1418
curIndex = stackalloc nint[x.
Rank
];
1426
TensorSpanHelpers.AdjustIndexes(x.
Rank
- 1, 1, curIndex, x.Lengths);
1449
if (y.
Rank
> TensorShape.MaxInlineRank)
1451
curIndexArray = ArrayPool<nint>.Shared.Rent(y.
Rank
);
1452
curIndex = curIndexArray.AsSpan(0, y.
Rank
);
1457
curIndex = stackalloc nint[y.
Rank
];
1465
TensorSpanHelpers.AdjustIndexes(y.
Rank
- 1, 1, curIndex, y.Lengths);
1495
if (broadcastedLeft.
Rank
> TensorShape.MaxInlineRank)
1497
curIndexArray = ArrayPool<nint>.Shared.Rent(broadcastedRight.
Rank
);
1498
curIndex = curIndexArray.AsSpan(0, broadcastedRight.
Rank
);
1503
curIndex = stackalloc nint[broadcastedRight.
Rank
];
1511
TensorSpanHelpers.AdjustIndexes(broadcastedRight.
Rank
- 1, 1, curIndex, broadcastedRight.Lengths);
1534
if (x.
Rank
> TensorShape.MaxInlineRank)
1536
curIndexArray = ArrayPool<nint>.Shared.Rent(x.
Rank
);
1537
curIndex = curIndexArray.AsSpan(0, x.
Rank
);
1542
curIndex = stackalloc nint[x.
Rank
];
1550
TensorSpanHelpers.AdjustIndexes(x.
Rank
- 1, 1, curIndex, x.Lengths);
1573
if (y.
Rank
> TensorShape.MaxInlineRank)
1575
curIndexArray = ArrayPool<nint>.Shared.Rent(y.
Rank
);
1576
curIndex = curIndexArray.AsSpan(0, y.
Rank
);
1581
curIndex = stackalloc nint[y.
Rank
];
1589
TensorSpanHelpers.AdjustIndexes(y.
Rank
- 1, 1, curIndex, y.Lengths);
1619
if (broadcastedLeft.
Rank
> TensorShape.MaxInlineRank)
1621
curIndexArray = ArrayPool<nint>.Shared.Rent(broadcastedRight.
Rank
);
1622
curIndex = curIndexArray.AsSpan(0, broadcastedRight.
Rank
);
1627
curIndex = stackalloc nint[broadcastedRight.
Rank
];
1635
TensorSpanHelpers.AdjustIndexes(broadcastedRight.
Rank
- 1, 1, curIndex, broadcastedRight.Lengths);
1658
if (x.
Rank
> TensorShape.MaxInlineRank)
1660
curIndexArray = ArrayPool<nint>.Shared.Rent(x.
Rank
);
1661
curIndex = curIndexArray.AsSpan(0, x.
Rank
);
1666
curIndex = stackalloc nint[x.
Rank
];
1674
TensorSpanHelpers.AdjustIndexes(x.
Rank
- 1, 1, curIndex, x.Lengths);
1697
if (y.
Rank
> TensorShape.MaxInlineRank)
1699
curIndexArray = ArrayPool<nint>.Shared.Rent(y.
Rank
);
1700
curIndex = curIndexArray.AsSpan(0, y.
Rank
);
1705
curIndex = stackalloc nint[y.
Rank
];
1713
TensorSpanHelpers.AdjustIndexes(y.
Rank
- 1, 1, curIndex, y.Lengths);
1847
if (x.
Rank
> TensorShape.MaxInlineRank)
1849
curIndexArray = ArrayPool<nint>.Shared.Rent(x.
Rank
);
1850
curIndex = curIndexArray.AsSpan(0, x.
Rank
);
1855
curIndex = stackalloc nint[x.
Rank
];
1862
TensorSpanHelpers.AdjustIndexes(x.
Rank
- 1, 1, curIndex, x.Lengths);
1907
if (y.
Rank
> TensorShape.MaxInlineRank)
1909
curIndexArray = ArrayPool<nint>.Shared.Rent(y.
Rank
);
1910
curIndex = curIndexArray.AsSpan(0, y.
Rank
);
1915
curIndex = stackalloc nint[y.
Rank
];
1922
TensorSpanHelpers.AdjustIndexes(y.
Rank
- 1, 1, curIndex, y.Lengths);
2056
if (x.
Rank
> TensorShape.MaxInlineRank)
2058
curIndexArray = ArrayPool<nint>.Shared.Rent(x.
Rank
);
2059
curIndex = curIndexArray.AsSpan(0, x.
Rank
);
2064
curIndex = stackalloc nint[x.
Rank
];
2071
TensorSpanHelpers.AdjustIndexes(x.
Rank
- 1, 1, curIndex, x.Lengths);
2116
if (y.
Rank
> TensorShape.MaxInlineRank)
2118
curIndexArray = ArrayPool<nint>.Shared.Rent(y.
Rank
);
2119
curIndex = curIndexArray.AsSpan(0, y.
Rank
);
2124
curIndex = stackalloc nint[y.
Rank
];
2131
TensorSpanHelpers.AdjustIndexes(y.
Rank
- 1, 1, curIndex, y.Lengths);
2161
if (broadcastedRight.
Rank
> TensorShape.MaxInlineRank)
2164
curIndex = curIndexArray.AsSpan(0, broadcastedRight.
Rank
);
2177
TensorSpanHelpers.AdjustIndexes(broadcastedRight.
Rank
- 1, 1, curIndex, broadcastedRight.Lengths);
2200
if (x.
Rank
> TensorShape.MaxInlineRank)
2202
curIndexArray = ArrayPool<nint>.Shared.Rent(x.
Rank
);
2203
curIndex = curIndexArray.AsSpan(0, x.
Rank
);
2208
curIndex = stackalloc nint[x.
Rank
];
2216
TensorSpanHelpers.AdjustIndexes(x.
Rank
- 1, 1, curIndex, x.Lengths);
2239
if (y.
Rank
> TensorShape.MaxInlineRank)
2241
curIndexArray = ArrayPool<nint>.Shared.Rent(y.
Rank
);
2242
curIndex = curIndexArray.AsSpan(0, y.
Rank
);
2247
curIndex = stackalloc nint[y.
Rank
];
2255
TensorSpanHelpers.AdjustIndexes(y.
Rank
- 1, 1, curIndex, y.Lengths);
2285
if (broadcastedRight.
Rank
> TensorShape.MaxInlineRank)
2288
curIndex = curIndexArray.AsSpan(0, broadcastedRight.
Rank
);
2301
TensorSpanHelpers.AdjustIndexes(broadcastedRight.
Rank
- 1, 1, curIndex, broadcastedRight.Lengths);
2324
if (x.
Rank
> TensorShape.MaxInlineRank)
2326
curIndexArray = ArrayPool<nint>.Shared.Rent(x.
Rank
);
2327
curIndex = curIndexArray.AsSpan(0, x.
Rank
);
2332
curIndex = stackalloc nint[x.
Rank
];
2340
TensorSpanHelpers.AdjustIndexes(x.
Rank
- 1, 1, curIndex, x.Lengths);
2363
if (y.
Rank
> TensorShape.MaxInlineRank)
2365
curIndexArray = ArrayPool<nint>.Shared.Rent(y.
Rank
);
2366
curIndex = curIndexArray.AsSpan(0, y.
Rank
);
2371
curIndex = stackalloc nint[y.
Rank
];
2379
TensorSpanHelpers.AdjustIndexes(y.
Rank
- 1, 1, curIndex, y.Lengths);
2408
if (broadcastedRight.
Rank
> TensorShape.MaxInlineRank)
2411
curIndex = curIndexArray.AsSpan(0, broadcastedRight.
Rank
);
2424
TensorSpanHelpers.AdjustIndexes(broadcastedRight.
Rank
- 1, 1, curIndex, broadcastedRight.Lengths);
2447
if (x.
Rank
> TensorShape.MaxInlineRank)
2449
curIndexArray = ArrayPool<nint>.Shared.Rent(x.
Rank
);
2450
curIndex = curIndexArray.AsSpan(0, x.
Rank
);
2455
curIndex = stackalloc nint[x.
Rank
];
2463
TensorSpanHelpers.AdjustIndexes(x.
Rank
- 1, 1, curIndex, x.Lengths);
2486
if (y.
Rank
> TensorShape.MaxInlineRank)
2488
curIndexArray = ArrayPool<nint>.Shared.Rent(y.
Rank
);
2489
curIndex = curIndexArray.AsSpan(0, y.
Rank
);
2494
curIndex = stackalloc nint[y.
Rank
];
2502
TensorSpanHelpers.AdjustIndexes(y.
Rank
- 1, 1, curIndex, y.Lengths);
2531
if (broadcastedRight.
Rank
> TensorShape.MaxInlineRank)
2534
curIndex = curIndexArray.AsSpan(0, broadcastedRight.
Rank
);
2547
TensorSpanHelpers.AdjustIndexes(broadcastedRight.
Rank
- 1, 1, curIndex, broadcastedRight.Lengths);
2570
if (x.
Rank
> TensorShape.MaxInlineRank)
2572
curIndexArray = ArrayPool<nint>.Shared.Rent(x.
Rank
);
2573
curIndex = curIndexArray.AsSpan(0, x.
Rank
);
2578
curIndex = stackalloc nint[x.
Rank
];
2586
TensorSpanHelpers.AdjustIndexes(x.
Rank
- 1, 1, curIndex, x.Lengths);
2609
if (y.
Rank
> TensorShape.MaxInlineRank)
2611
curIndexArray = ArrayPool<nint>.Shared.Rent(y.
Rank
);
2612
curIndex = curIndexArray.AsSpan(0, y.
Rank
);
2617
curIndex = stackalloc nint[y.
Rank
];
2625
TensorSpanHelpers.AdjustIndexes(y.
Rank
- 1, 1, curIndex, y.Lengths);
2905
if (lengthOffset < tensor.
Rank
&& arrLengths[i] == tensor.Lengths[lengthOffset])
2909
if (lengthOffset == tensor.
Rank
)
3068
if (tensor.
Rank
> 6)
3070
oIndicesArray = ArrayPool<nint>.Shared.Rent(tensor.
Rank
);
3071
oIndices = oIndicesArray.AsSpan(0, tensor.
Rank
);
3074
iIndicesArray = ArrayPool<nint>.Shared.Rent(tensor.
Rank
);
3075
iIndices = iIndicesArray.AsSpan(0, tensor.
Rank
);
3081
oIndices = stackalloc nint[tensor.
Rank
];
3083
iIndices = stackalloc nint[tensor.
Rank
];
3208
if (tensor.
Rank
> 6)
3210
oIndicesArray = ArrayPool<nint>.Shared.Rent(tensor.
Rank
);
3211
oIndices = oIndicesArray.AsSpan(0, tensor.
Rank
);
3214
iIndicesArray = ArrayPool<nint>.Shared.Rent(tensor.
Rank
);
3215
iIndices = iIndicesArray.AsSpan(0, tensor.
Rank
);
3221
oIndices = stackalloc nint[tensor.
Rank
];
3223
iIndices = stackalloc nint[tensor.
Rank
];
3387
if (dimension >= tensor.
Rank
)
3541
if (maximumLengths.Length != tensor.
Rank
)
3547
if (tensor.
Rank
> 6)
3549
curIndexesArray = ArrayPool<nint>.Shared.Rent(tensor.
Rank
);
3550
curIndexes = curIndexesArray.AsSpan(0, tensor.
Rank
);
3556
curIndexes = stackalloc nint[tensor.
Rank
];
3561
T[] values = new T[tensor.Lengths[tensor.
Rank
- 1]];
3564
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]);
3570
TensorSpanHelpers.AdjustIndexes(tensor.
Rank
- 2, 1, curIndexes, tensor.Lengths);
3571
copiedValues += tensor.Lengths[tensor.
Rank
- 1];
3709
dimension = tensor.
Rank
- dimension;
3715
if (dimension == tensor.
Rank
)
4598
if (x.
Rank
!= 2)
4601
if (y.
Rank
!= 2)
4628
if (x.
Rank
!= 2)
4631
if (y.
Rank
!= 2)
6882
curIndex = curIndexArray.AsSpan(0, input.
Rank
);
6900
TensorSpanHelpers.AdjustIndexes(input.
Rank
- 2, 1, curIndex, input.Lengths);
6934
curIndex = curIndexArray.AsSpan(0, input.
Rank
);
6952
TensorSpanHelpers.AdjustIndexes(input.
Rank
- 2, 1, curIndex, input.Lengths);
6986
curIndex = curIndexArray.AsSpan(0, input.
Rank
);
7004
TensorSpanHelpers.AdjustIndexes(input.
Rank
- 2, 1, curIndex, input.Lengths);
7072
TensorSpanHelpers.AdjustIndexes(broadcastedLeft.
Rank
- 2, 1, curIndex, broadcastedLeft.Lengths);
7085
TensorSpanHelpers.AdjustIndexes(broadcastedLeft.
Rank
- 2, 1, curIndex, broadcastedLeft.Lengths);
7098
TensorSpanHelpers.AdjustIndexes(broadcastedLeft.
Rank
- 2, 1, curIndex, broadcastedLeft.Lengths);
7112
TensorSpanHelpers.AdjustIndexes(broadcastedLeft.
Rank
- 2, 1, curIndex, broadcastedLeft.Lengths);
System\Numerics\Tensors\netcore\TensorSpan.cs (4)
578
int indexToAdjust = srcSlice.Strides[^1] == 1 && TensorHelpers.IsContiguousAndDense(srcSlice) ? srcSlice.
Rank
- 2 : srcSlice.
Rank
- 1;
632
int indexToAdjust = srcSlice.Strides[^1] == 1 && TensorHelpers.IsContiguousAndDense(srcSlice) ? srcSlice.
Rank
- 2 : srcSlice.
Rank
- 1;