Example #1
0
def SS_Test(n, k):
    for i in range(k):
        a = random.randint(1, n - 1)
        d = GCD.GCD(a, n)
        if d > 1:
            print "Composite"
            return False
        t1 = pow(a, (n - 1) / 2, n)
        t2 = Jacobi.Jacobi(a, n)
        t2 = t2 % n
        #print "t1 is", t1, "t2 is", t2
        if t1 != t2:
            print "Composite"
            return False
    print "Probably Prime"
    return
Example #2
0
    def init_GCDs(self):
        self.GCDs = []

        # Jolt
        def _effect_jolt(RDM):
            RDM.white_mana += 3
            RDM.black_mana += 3

        self.GCDs.append(
            GCD.GCD({
                "name": "Jolt",
                "potency": 290,
                "cast_time": 200,
                "weave_windows": 2,
                "mp_cost": 200,
                "ready": True,
                "effect": _effect_jolt
            }))

        # Verthunder
        def _effect_verthunder(RDM):
            RDM.black_mana += 11
            if RDM.acceleration > 0:
                RDM.verfire_ready = True
                RDM.acceleration -= 1
            elif random.random() < 0.5:
                RDM.verfire_ready = True

        self.GCDs.append(
            GCD.GCD({
                "name": "Verthunder",
                "potency": 370,
                "cast_time": 500,
                "weave_windows": 2,
                "mp_cost": 300,
                "ready": True,
                "effect": _effect_verthunder
            }))

        # Veraero
        def _effect_veraero(RDM):
            RDM.white_mana += 11
            if RDM.acceleration > 0:
                RDM.verstone_ready = True
                RDM.acceleration -= 1
            elif random.random() < 0.5:
                RDM.verstone_ready = True

        self.GCDs.append(
            GCD.GCD({
                "name": "Veraero",
                "potency": 370,
                "cast_time": 500,
                "weave_windows": 2,
                "mp_cost": 300,
                "ready": True,
                "effect": _effect_veraero
            }))

        # Verfire
        def _effect_verfire(RDM):
            if RDM.verfire_ready:
                RDM.black_mana += 9
                RDM.verfire_ready = False
            else:
                raise NameError('Verfire casted when not ready.\n')

        self.GCDs.append(
            GCD.GCD({
                "name": "Verfire",
                "potency": 310,
                "cast_time": 200,
                "weave_windows": 2,
                "mp_cost": 200,
                "ready": False,
                "effect": _effect_verfire
            }))

        # Verstone
        def _effect_verstone(RDM):
            if RDM.verstone_ready:
                RDM.white_mana += 9
                RDM.verstone_ready = False
            else:
                raise NameError('Verstone casted when not ready.\n')

        self.GCDs.append(
            GCD.GCD({
                "name": "Verstone",
                "potency": 310,
                "cast_time": 200,
                "weave_windows": 2,
                "mp_cost": 200,
                "ready": False,
                "effect": _effect_verstone
            }))

        # Riposte
        def _effect_riposte(RDM):
            RDM.white_mana -= 30
            RDM.black_mana -= 30
            RDM.combo_location = 1
            if RDM.white_mana < 0 or RDM.black_mana < 0:
                raise NameError(
                    "Enchanted riposte casted without sufficient mana.\n")

        self.GCDs.append(
            GCD.GCD({
                "name": "Enchanted Riposte",
                "potency": 220,
                "cast_time": 0,
                "weave_windows": 1,
                "mp_cost": 0,
                "ready": False,
                "effect": _effect_riposte
            }))

        # Zwerchhau
        def _effect_zwerchhau(RDM):
            RDM.white_mana -= 25
            RDM.black_mana -= 25
            RDM.combo_location = 2
            if RDM.white_mana < 0 or RDM.black_mana < 0:
                raise NameError(
                    "Enchanted zwerchhau casted without sufficient mana.\n")

        self.GCDs.append(
            GCD.GCD({
                "name": "Enchanted Zwerchhau",
                "potency": 290,
                "cast_time": 0,
                "weave_windows": 1,
                "mp_cost": 0,
                "ready": False,
                "effect": _effect_zwerchhau
            }))

        # Redoublement
        def _effect_redoublement(RDM):
            RDM.white_mana -= 25
            RDM.black_mana -= 25
            RDM.combo_location = 3
            if RDM.white_mana < 0 or RDM.black_mana < 0:
                raise NameError(
                    "Enchanted redoublement casted without sufficient mana.\n")

        self.GCDs.append(
            GCD.GCD({
                "name": "Enchanted Redoublement",
                "potency": 470,
                "cast_time": 0,
                "weave_windows": 2,
                "mp_cost": 0,
                "ready": False,
                "effect": _effect_redoublement
            }))

        # Verholy
        def _effect_verholy(RDM):
            if RDM.white_mana < RDM.black_mana:
                RDM.verstone_ready = True
            else:
                if random.random() < 0.2:
                    RDM.verstone_ready = True
            RDM.white_mana += 21
            RDM.combo_location = 4

        self.GCDs.append(
            GCD.GCD({
                "name": "Verholy",
                "potency": 600,
                "cast_time": 0,
                "weave_windows": 2,
                "mp_cost": 400,
                "ready": False,
                "effect": _effect_verholy
            }))

        # Verflare
        def _effect_verflare(RDM):
            if RDM.black_mana < RDM.white_mana:
                RDM.verfire_ready = True
            else:
                if random.random() < 0.2:
                    RDM.verfire_ready = True
            RDM.black_mana += 21
            RDM.combo_location = 4

        self.GCDs.append(
            GCD.GCD({
                "name": "Verflare",
                "potency": 600,
                "cast_time": 0,
                "weave_windows": 2,
                "mp_cost": 400,
                "ready": False,
                "effect": _effect_verflare
            }))

        # Scorch
        def _effect_scorch(RDM):
            RDM.white_mana += 7
            RDM.black_mana += 7
            RDM.combo_location = 0

        self.GCDs.append(
            GCD.GCD({
                "name": "Scorch",
                "potency": 700,
                "cast_time": 0,
                "weave_windows": 2,
                "mp_cost": 400,
                "ready": False,
                "effect": _effect_scorch
            }))