def test_NotPrimeValues(self): """ Testing MR on not prime numbers """ list_not_primes = [4294967297, 123456789101112] for a in list_not_primes : mr = MillerRabin(a) mr.run() self.assertFalse(mr.is_prime)
def test_PrimeValues(self): """ Testing MR on different known prime numbers src= http://fr.wikipedia.org/wiki/Nombre_premier """ list_primes = [13, 131071, 524287, 2147483647, 3203431780337, 170141183460469231731687303715884105727, 20988936657440586486151264256610222593863921] for a in list_primes : mr = MillerRabin(a) mr.run() self.assertTrue(mr.is_prime)
def test_PrimeCount(self): """ Counts the number of primes in the interval [1024, 2047] The result should be 137 """ counter = 0 for a in range(1024, 2048): mr = MillerRabin(a) mr.run() if mr.is_prime : counter += 1 self.assertEqual(counter, 137)
def primes(top): """ returns the top- prime numbers uses and completes _smallprimes """ if top <= max(_smallprimes): return [x for x in _smallprimes if x < top] else: mr = MillerRabin() for i in range(max(_smallprimes) + 1, top): mr.initialize(i, 30) mr.run() if (i % 2) and mr.is_prime: _smallprimes.append(i) return _smallprimes
def __init__(self, parent=None): QMainWindow.__init__(self, parent) self.mr = MillerRabin() self.pm = Pm1Pollard() self.pg = PrimeGen() # Set up the user interface from Designer. self.ui = Ui_MainWindow() self.ui.setupUi(self) # Connecting signals and slots QtCore.QObject.connect(self.ui.actionA_propos, QtCore.SIGNAL(_fromUtf8("triggered()")), self.open_about) QtCore.QObject.connect(self.ui.btn_mr_run, QtCore.SIGNAL(_fromUtf8("clicked()")), self.run_mr) QtCore.QObject.connect(self.ui.btn_mr_step, QtCore.SIGNAL(_fromUtf8("clicked()")), self.step_mr) QtCore.QObject.connect(self.ui.btn_mr_reset, QtCore.SIGNAL(_fromUtf8("clicked()")), self.reset_mr) QtCore.QObject.connect(self.ui.btn_pm_run, QtCore.SIGNAL(_fromUtf8("clicked()")), self.run_pm) QtCore.QObject.connect(self.ui.btn_pm_step, QtCore.SIGNAL(_fromUtf8("clicked()")), self.step_pm) QtCore.QObject.connect(self.ui.btn_pm_reset, QtCore.SIGNAL(_fromUtf8("clicked()")), self.reset_pm) QtCore.QObject.connect(self.ui.btn_pg_run, QtCore.SIGNAL(_fromUtf8("clicked()")), self.run_pg) QtCore.QObject.connect(self.ui.btn_pg_step, QtCore.SIGNAL(_fromUtf8("clicked()")), self.step_pg) QtCore.QObject.connect(self.ui.btn_pg_reset, QtCore.SIGNAL(_fromUtf8("clicked()")), self.reset_pg)
def __init__(self, size=1): self.mr = MillerRabin() self.initialize(size)