diff --git a/PerfectNumbers.Core/PrimeOrderCalculator.cs b/PerfectNumbers.Core/PrimeOrderCalculator.cs index 0aaca1d..0829ff9 100644 --- a/PerfectNumbers.Core/PrimeOrderCalculator.cs +++ b/PerfectNumbers.Core/PrimeOrderCalculator.cs @@ -797,8 +797,9 @@ internal static partial class PrimeOrderCalculator int[] exponentSlotsArray = ThreadStaticPools.IntPool.Rent(FactorSlotCount); Span primeSlots = primeSlotsArray.AsSpan(0, FactorSlotCount); Span exponentSlots = exponentSlotsArray.AsSpan(0, FactorSlotCount); - primeSlots.Clear(); - exponentSlots.Clear(); + // We don't need to worry about leftovers, because we always use indexes within the calculated counts + // primeSlots.Clear(); + // exponentSlots.Clear(); int factorCount = 0; Dictionary? counts = null; @@ -819,8 +820,9 @@ internal static partial class PrimeOrderCalculator if (!gpuFactored) { - primeSlots.Clear(); - exponentSlots.Clear(); + // We don't need to worry about leftovers, because we always use indexes within the calculated counts + // primeSlots.Clear(); + // exponentSlots.Clear(); if (!TryPopulateSmallPrimeFactorsCpu(value, limit, primeSlots, exponentSlots, out factorCount, out remaining)) { useDictionary = true;