[Libprime-devel-cvs] CVS: libprime/src/tests/prime-rng prime-range.cpp,1.1,1.2
Status: Inactive
Brought to you by:
simmo
|
From: Andrew S. <si...@us...> - 2001-12-08 13:55:02
|
Update of /cvsroot/libprime/libprime/src/tests/prime-rng
In directory usw-pr-cvs1:/tmp/cvs-serv869/src/tests/prime-rng
Modified Files:
prime-range.cpp
Log Message:
working towards a 0.2 libprime release
Index: prime-range.cpp
===================================================================
RCS file: /cvsroot/libprime/libprime/src/tests/prime-rng/prime-range.cpp,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- prime-range.cpp 2001/12/06 08:57:48 1.1
+++ prime-range.cpp 2001/12/08 13:54:57 1.2
@@ -1,7 +1,6 @@
/*
* libprime
- * prime-range.cpp
- * Contributors: si...@ii...
+ * Copyright (c) 2001 Andrew Simmonds <si...@ii...>
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
@@ -21,69 +20,39 @@
#include "libprime.h"
using namespace std;
-void RangeFrontEnd(PrimeRange*& Bleh, ulong culMaxPrime);
-void PrimeInput(ulong& ulStartOfRange, ulong& ulEndOfRange, culong culMaxPrime);
-bool RangeSearchContinueLooping();
-bool RangeInputType();
-
-int main(int argc, char* argv[])
-{
- cfloat version = static_cast<const float>(0.01);
- const string appname = "prime-range";
-
- //TODO Process argv and argc for stuff!
-
- cerr << appname
- << " "
- << version
- << endl
- << endl;
-
- //Get primes between ranges
- culong max = static_cast<ulong>(10000000);
- PrimeRange *TestRange = new PrimeRange(max);
- RangeFrontEnd(TestRange, max);
- delete TestRange;
- cout << endl;
-
- return 0;
-}
-
-void RangeFrontEnd(PrimeRange*& Bleh, ulong culMaxPrime)
+int main(int argc, char *argv[])
{
-
- ulong ulStartOfRange = 0;
- ulong ulEndOfRange = 1;
+ if (argc != 3) {
+ cerr << "Not Enough Parameters\n";
+ return 0;
+ }
+
+ for (uint j = 1; j < 3; j++) {
+ for (uint i = 1; i < strlen(argv[j]); i++) {
+ if (!isdigit(argv[j][i])) {
+ cerr << "Not a Number\n";
+ return 0;
+ }
+ }
+ }
+
+ culong lowNumber = abs(atol(argv[1]));
+ culong highNumber = abs(atol(argv[2]));
+
+ PrimeRange *childPrimeRange = new PrimeRange(highNumber);
+
+ ulong tHits = childPrimeRange->init();
+ aulong PrimeList(tHits);
+
+ ulong Hits = childPrimeRange->get(lowNumber, highNumber, PrimeList);
+ delete childPrimeRange;
+
+ for (ulong i = 0; i < Hits; i++) {
+ ulong out = PrimeList[i];
+ cout << out << "\t";
+ }
- ulong tHits = Bleh->InitPrimeRange();
- aulong PrimeList(tHits);
+ cerr << endl << endl << Hits << " prime hit(s)." << endl;
- bool bContLooping = true;
- while (bContLooping)
- {
- ulStartOfRange = 0;
- ulEndOfRange = 1;
-
- do
- {
- PrimeInput(ulStartOfRange, ulEndOfRange, culMaxPrime);
- } while ((ulStartOfRange>ulEndOfRange) || (ulEndOfRange>culMaxPrime) || (ulEndOfRange<0));
-
-
- ulong Hits = Bleh->GetPrimeRange(ulStartOfRange, ulEndOfRange, PrimeList);
- for(ulong i=0; i<Hits; i++)
- {
- ulong out = PrimeList[i];
- cout << out;
- cout << "\t";
- }
- cout << endl
- << endl
- << Hits
- << " prime hit(s)."
- << endl;
-
- bContLooping = RangeSearchContinueLooping();
- }
+ return 0;
}
-
|