Pow2MontgomeryModWindowedConvertToStandardCpu usages replaced with a comparison to MontgomeryOne avoiding unnecessary conversions. Results updated.

This commit is contained in:
mlemanczyk committed 2026-01-03 01:37:40 +01:00
1 parent 3f59cdc14b
commit 6b80e31e6c
7 files changed
+57 -34

No files matched your search

@@ -99,7 +99,7 @@ public struct MersenneDivisorCyclesTemplate
return cycleLength == exponent;
}
return exponent.Pow2MontgomeryModWindowedConvertToStandardCpu(divisorData) == 1UL;
return exponent.Pow2MontgomeryModWindowedKeepMontgomeryCpu(divisorData) == divisorData.MontgomeryOne;
}
public static bool CycleEqualsExponentForMersenneCandidate(ulong divisor, in MontgomeryDivisorData divisorData, ulong exponent)
@@ -125,7 +125,7 @@ public struct MersenneDivisorCyclesTemplate
}
}
return exponent.Pow2MontgomeryModWindowedConvertToStandardCpu(divisorData) == 1UL;
return exponent.Pow2MontgomeryModWindowedKeepMontgomeryCpu(divisorData) == divisorData.MontgomeryOne;
}
private static bool IsValidMersenneDivisorCandidate(ulong divisor, ulong exponent)