diff --git a/PerfectNumbers.Core/PrimeOrderCalculator.Cpu.cs b/PerfectNumbers.Core/PrimeOrderCalculator.Cpu.cs index bae7f92..a34b206 100644 --- a/PerfectNumbers.Core/PrimeOrderCalculator.Cpu.cs +++ b/PerfectNumbers.Core/PrimeOrderCalculator.Cpu.cs @@ -687,13 +687,12 @@ internal static partial class PrimeOrderCalculator private static bool GetOrComputePrimality(ulong value) { - if (TryGetCachedPrimality(value, out bool isPrime)) + if (!TryGetCachedPrimality(value, out bool isPrime)) { - return isPrime; + isPrime = Open.Numeric.Primes.Prime.Numbers.IsPrime(value); + CachePrimalityResult(value, isPrime); } - isPrime = Open.Numeric.Primes.Prime.Numbers.IsPrime(value); - CachePrimalityResult(value, isPrime); return isPrime; }