public void TimeFirstHundredThousandPrimes(IPrimeGenerator generator) { var sw = new Stopwatch(); sw.Start(); var primes = generator.Generate().Take(100000).ToList(); sw.Stop(); Console.WriteLine("Time: {0}", sw.Elapsed); }
public PrimeGeneratorTests() { var services = new ServiceCollection(); services.AddStandardPrimeGenerator(); var provider = services.BuildServiceProvider(); _primeGenerator = provider.GetService <IPrimeGenerator>(); }
private static void TestGenerator(IPrimeGenerator generator, int testSize) { List <long> correctPrimes = PrimeGeneratorUtility.GetPrimesSimple(testSize); generator.Begin(); while (generator.LastPrime < testSize) { Thread.Sleep(33); } generator.End(); Debug.Assert(correctPrimes.Count <= generator.Primes.Count); for (int i = 0; i < correctPrimes.Count; i++) { Debug.Assert(correctPrimes[i] == generator.Primes[i]); } }
private static void UpdateOutput(IPrimeGenerator generator, int timeRemaining) { StringBuilder builder = new StringBuilder(); builder.AppendFormat("Remaining Time: {0}\n", timeRemaining / 1000); builder.AppendFormat("Primes Found: {0}\n", generator.PrimesFound); builder.AppendFormat("Last Prime Found: {0}", generator.LastPrime); string thisString = builder.ToString(); if (mLastConsoleOutput != thisString) { Console.Clear(); Console.WriteLine(thisString); mLastConsoleOutput = thisString; } }
public void TestInitialise() { _primeGenerator = new PrimeGenerator(); }
public HomeController(IPrimeGenerator primeGenerator) { _primeGenerator = primeGenerator; }
public void TestCaseSetup() { _primeGenerator = new PrimeGenerator(); _rowCreator = new RowCreator(_primeGenerator); }
public void TestInitialise() { _primeGenerator = new PrimeGenerator(); _rowCreator = new RowCreator(_primeGenerator); }
private void GenerateTable_Click(object sender, EventArgs e) { // Set the generator based on the select menu items. if (AlgorithmSieveOfEratosthenes.Checked) { _primeGenerator = new SieveOfEratosthenes(); } List<int> primeNumbers = _primeGenerator.GeneratePrimes(_limit); int sizeOfTable = 0; bool isConversionSuccessful = Int32.TryParse(NumberOfPrimes.Text, out sizeOfTable); if (! isConversionSuccessful || sizeOfTable == 0) { sizeOfTable = DEFAULT_TABLE_SIZE; } // Now that we've got the requested size of the table from the user we should really check to see if that // size is valid. If not we'll cap it to stop a range error. if (sizeOfTable >= primeNumbers.Count) { sizeOfTable = primeNumbers.Count - 1; } // Grab the prime numbers that the user is interested in. primeNumbers = primeNumbers.GetRange(0, sizeOfTable); // Create the size of the data view. PrimeNumberView.ColumnCount = sizeOfTable; PrimeNumberView.RowCount = sizeOfTable; // Set the sizing of the cells so everything looks good. PrimeNumberView.RowHeadersWidthSizeMode = DataGridViewRowHeadersWidthSizeMode.AutoSizeToAllHeaders; // Set the data contained within the view. int x; int y; // We'll start by setting the headers. for (x = 0; x < PrimeNumberView.ColumnCount; ++x) { PrimeNumberView.Columns[x].HeaderCell.Value = primeNumbers[x].ToString(); } for (y = 0; y < PrimeNumberView.RowCount; ++y) { PrimeNumberView.Rows[y].HeaderCell.Value = primeNumbers[y].ToString(); } // Now that the headers are set we'll do the multiplications... for (x = 0; x < PrimeNumberView.ColumnCount; ++x) { for (y = 0; y < PrimeNumberView.RowCount; ++y) { String firstNumberText = PrimeNumberView.Columns[x].HeaderCell.Value as String; int firstNumber = Int32.Parse(firstNumberText); String secondNumberText = PrimeNumberView.Rows[y].HeaderCell.Value as String; int secondNumber = Int32.Parse(secondNumberText); PrimeNumberView.Rows[x].Cells[y].Value = (firstNumber * secondNumber).ToString(); } } }
private void GenerateTable_Click(object sender, EventArgs e) { // Set the generator based on the select menu items. if (AlgorithmSieveOfEratosthenes.Checked) { _primeGenerator = new SieveOfEratosthenes(); } List <int> primeNumbers = _primeGenerator.GeneratePrimes(_limit); int sizeOfTable = 0; bool isConversionSuccessful = Int32.TryParse(NumberOfPrimes.Text, out sizeOfTable); if (!isConversionSuccessful || sizeOfTable == 0) { sizeOfTable = DEFAULT_TABLE_SIZE; } // Now that we've got the requested size of the table from the user we should really check to see if that // size is valid. If not we'll cap it to stop a range error. if (sizeOfTable >= primeNumbers.Count) { sizeOfTable = primeNumbers.Count - 1; } // Grab the prime numbers that the user is interested in. primeNumbers = primeNumbers.GetRange(0, sizeOfTable); // Create the size of the data view. PrimeNumberView.ColumnCount = sizeOfTable; PrimeNumberView.RowCount = sizeOfTable; // Set the sizing of the cells so everything looks good. PrimeNumberView.RowHeadersWidthSizeMode = DataGridViewRowHeadersWidthSizeMode.AutoSizeToAllHeaders; // Set the data contained within the view. int x; int y; // We'll start by setting the headers. for (x = 0; x < PrimeNumberView.ColumnCount; ++x) { PrimeNumberView.Columns[x].HeaderCell.Value = primeNumbers[x].ToString(); } for (y = 0; y < PrimeNumberView.RowCount; ++y) { PrimeNumberView.Rows[y].HeaderCell.Value = primeNumbers[y].ToString(); } // Now that the headers are set we'll do the multiplications... for (x = 0; x < PrimeNumberView.ColumnCount; ++x) { for (y = 0; y < PrimeNumberView.RowCount; ++y) { String firstNumberText = PrimeNumberView.Columns[x].HeaderCell.Value as String; int firstNumber = Int32.Parse(firstNumberText); String secondNumberText = PrimeNumberView.Rows[y].HeaderCell.Value as String; int secondNumber = Int32.Parse(secondNumberText); PrimeNumberView.Rows[x].Cells[y].Value = (firstNumber * secondNumber).ToString(); } } }
public NumberGenerationHub(IPrimeGenerator primeGenerator) { this.primeGenerator = primeGenerator; }
public KeyGenerator(RsaKeyGenerator rsaGener, IPrimeGenerator primeGener) { this.rsaGener = rsaGener; this.primeGener = primeGener; Status = ProcessStatus.NotBeginning; }
public ConsoleReport(IOutputFormatter outputFormatter, IPrimeGenerator primeGenerator) { _outputFormatter = outputFormatter; _primeGenerator = primeGenerator; }
private void CreateInstances() { _primeGenerator = new PrimeGenerator(); _rowCreator = new RowCreator(_primeGenerator); _gridCreator = new GridCreator(_rowCreator); }
public TrialDivisionFactorer(IPrimeGenerator generator) { this.generator = generator; }
public RowCreator(IPrimeGenerator primeGenerator) { _primeGenerator = primeGenerator; }