diff options
author | Andrew Arnott <andrewarnott@gmail.com> | 2011-07-20 07:01:58 -0600 |
---|---|---|
committer | Andrew Arnott <andrewarnott@gmail.com> | 2011-07-20 07:01:58 -0600 |
commit | 1328f88a36187d8aa5890a46e35af59c4df04d3f (patch) | |
tree | c42a3aad4aa21d39b91dcc87a912f8cb96c22c11 /src/Mono.Math/PrimeGeneratorBase.cs | |
parent | d15895e626b73b6f96f561786b4b5c941c0a4bb1 (diff) | |
download | DotNetOpenAuth-1328f88a36187d8aa5890a46e35af59c4df04d3f.zip DotNetOpenAuth-1328f88a36187d8aa5890a46e35af59c4df04d3f.tar.gz DotNetOpenAuth-1328f88a36187d8aa5890a46e35af59c4df04d3f.tar.bz2 |
Splitting up the OpenID profile into OpenID RP and OP. The core OpenID DLL compiles, but the RP and OP ones do not.
Diffstat (limited to 'src/Mono.Math/PrimeGeneratorBase.cs')
-rw-r--r-- | src/Mono.Math/PrimeGeneratorBase.cs | 57 |
1 files changed, 57 insertions, 0 deletions
diff --git a/src/Mono.Math/PrimeGeneratorBase.cs b/src/Mono.Math/PrimeGeneratorBase.cs new file mode 100644 index 0000000..12b6a69 --- /dev/null +++ b/src/Mono.Math/PrimeGeneratorBase.cs @@ -0,0 +1,57 @@ +// <auto-generated /> +// +// Permission is hereby granted, free of charge, to any person obtaining +// a copy of this software and associated documentation files (the +// "Software"), to deal in the Software without restriction, including +// without limitation the rights to use, copy, modify, merge, publish, +// distribute, sublicense, and/or sell copies of the Software, and to +// permit persons to whom the Software is furnished to do so, subject to +// the following conditions: +// +// The above copyright notice and this permission notice shall be +// included in all copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +// + +namespace Mono.Math.Prime.Generator { + + //[CLSCompliant(false)] + internal abstract class PrimeGeneratorBase { + + public virtual ConfidenceFactor Confidence { + get { + return ConfidenceFactor.Medium; + } + } + + public virtual Prime.PrimalityTest PrimalityTest { + get { + return new Prime.PrimalityTest (PrimalityTests.SmallPrimeSppTest); + } + } + + public virtual int TrialDivisionBounds { + get { return 4000; } + } + + /// <summary> + /// Performs primality tests on bi, assumes trial division has been done. + /// </summary> + /// <param name="bi">A BigInteger that has been subjected to and passed trial division</param> + /// <returns>False if bi is composite, true if it may be prime.</returns> + /// <remarks>The speed of this method is dependent on Confidence</remarks> + protected bool PostTrialDivisionTests (BigInteger bi) + { + return PrimalityTest (bi, this.Confidence); + } + + public abstract BigInteger GenerateNewPrime (int bits); + } +} |