Пример #1
0
        /// <summary>
        /// Runs an infinite find test to determine time to result.
        /// </summary>
        public void FindTest()
        {
            Console.WriteLine();
              Console.WriteLine();
              Console.WriteLine();
              TimeSpan time0 = new TimeSpan(0);
              int counter = 0;

              while (true)
              {
            DateTime start0 = DateTime.Now;
            Emil.GMP.BigInt p0 = null;
            Emil.GMP.BigInt sp0 = null;
            ThreadedPrimeGenerator g0 = new ThreadedPrimeGenerator(null);
            g0.FindPrimeAndSafePrime(4096, out p0, out sp0);
            time0 = time0.Add(DateTime.Now.Subtract(start0));
            counter++;
            double seconds = time0.TotalSeconds / (double)counter;
            Console.WriteLine("avg={0}", DateTime.Now.AddSeconds(seconds).Subtract(DateTime.Now).ToString());
              }
        }
Пример #2
0
 /// <summary>
 /// Finds both as prime and a larger safe prime.
 /// </summary>
 /// <param name="bitLength">Length in bits of the prime.</param>
 /// <param name="prime">Random prime number.</param>
 /// <param name="safePrime">Random safe prime number.</param>
 /// <param name="feedback">Feedback delegate or null.</param>
 public static void FindPrimeAndSafePrimeThreaded(int bitLength, out BigInt prime, out BigInt safePrime, PrimeGenerationFeedBack feedback)
 {
     ThreadedPrimeGenerator generator = new ThreadedPrimeGenerator(feedback);
       generator.FindPrimeAndSafePrime(bitLength, out prime, out safePrime);
 }