Exemplo n.º 1
0
 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)
Exemplo n.º 2
0
 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)
Exemplo n.º 3
0
 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)
Exemplo n.º 4
0
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
Exemplo n.º 5
0
    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)
Exemplo n.º 6
0
 def __init__(self, size=1):
     self.mr = MillerRabin()
     self.initialize(size)