CreateBigSourceDataWithBlockSize() will yield only items count + block size if the number of blocks fits max array size.
This commit is contained in:
1 parent
78467e5178
commit
cb2ae350ae
1 file changed
+5
-2
@@ -190,7 +190,10 @@ namespace Recyclable.Collections.TestData
|
|||||||
using var testData = CreateTestData(itemsCount).ToRecyclableLongList();
|
using var testData = CreateTestData(itemsCount).ToRecyclableLongList();
|
||||||
foreach (var blockSize in BlockSizeVariants)
|
foreach (var blockSize in BlockSizeVariants)
|
||||||
{
|
{
|
||||||
yield return ($"long[{itemsCount}]", testData, itemsCount, blockSize);
|
if (IsValidBlockSize(itemsCount, blockSize))
|
||||||
|
{
|
||||||
|
yield return ($"long[{itemsCount}]", testData, itemsCount, blockSize);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -439,7 +442,7 @@ namespace Recyclable.Collections.TestData
|
|||||||
yield return index;
|
yield return index;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
public static bool IsValidBlockSize(long itemsCount, long blockSize) => itemsCount is < 1024 || blockSize is > 8;
|
public static bool IsValidBlockSize(long itemsCount, long blockSize) => itemsCount is < 1024 || (itemsCount / blockSize + (itemsCount % blockSize > 0 ? 1 : 0) <= Array.MaxLength);
|
||||||
|
|
||||||
public static IEnumerable<int> BlockSizeVariants { get; }= new int[]
|
public static IEnumerable<int> BlockSizeVariants { get; }= new int[]
|
||||||
{
|
{
|
||||||
|
|||||||
Reference in new issue
Block a user