From 91894637af0045a9b918bb0154f887575819482d Mon Sep 17 00:00:00 2001 From: mlemanczyk Date: Mon, 24 Nov 2025 22:54:04 +0100 Subject: [PATCH] Aggressive inlining added to simple switch methods. --- PerfectNumbers.Core/HeuristicCombinedPrimeTester.cs | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/PerfectNumbers.Core/HeuristicCombinedPrimeTester.cs b/PerfectNumbers.Core/HeuristicCombinedPrimeTester.cs index 18a941a..4d302f2 100644 --- a/PerfectNumbers.Core/HeuristicCombinedPrimeTester.cs +++ b/PerfectNumbers.Core/HeuristicCombinedPrimeTester.cs @@ -269,6 +269,7 @@ public sealed class HeuristicCombinedPrimeTester [MethodImpl(MethodImplOptions.AggressiveInlining)] internal static ulong ComputeHeuristicDivisorSquareLimit(ulong n) => n; + [MethodImpl(MethodImplOptions.AggressiveInlining)] private static ReadOnlySpan GetCombinedDivisors(byte nMod10) => nMod10 switch { 1 => CombinedDivisorsEnding1, @@ -278,6 +279,7 @@ public sealed class HeuristicCombinedPrimeTester _ => throw new InvalidOperationException($"Unsupported combined divisor selector for digit {nMod10}."), }; + [MethodImpl(MethodImplOptions.AggressiveInlining)] private static ReadOnlySpan GetCombinedDivisorSquares(byte nMod10) => nMod10 switch { 1 => CombinedDivisorsEnding1Squares, @@ -287,6 +289,7 @@ public sealed class HeuristicCombinedPrimeTester _ => throw new InvalidOperationException($"Unsupported combined divisor square selector for digit {nMod10}."), }; + [MethodImpl(MethodImplOptions.AggressiveInlining)] internal static ReadOnlySpan GetCombinedDivisors(byte nMod10, CombinedDivisorPattern pattern) => pattern switch { CombinedDivisorPattern.TwoAOneB => nMod10 switch @@ -324,6 +327,7 @@ public sealed class HeuristicCombinedPrimeTester _ => throw new InvalidOperationException($"Unsupported combined divisor pattern: {pattern}."), }; + [MethodImpl(MethodImplOptions.AggressiveInlining)] internal static ReadOnlySpan GetCombinedDivisorSquares(byte nMod10, CombinedDivisorPattern pattern) => pattern switch { CombinedDivisorPattern.TwoAOneB => nMod10 switch