Generated by Cython 0.9.6.12 on Mon Jun 2 22:14:29 2008
Raw output: _home_notebook_sage_notebook_worksheets_admin_30_code_sage4_spyx_0.c
1:
2: include "interrupt.pxi" # ctrl-c interrupt block support
3: include "stdsage.pxi" # ctrl-c interrupt block support
4:
5: include "cdefs.pxi"
6: deck = [2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,6,6,6,6,7,7,7,7,8,8,8,8,9,9,9,9,
7: 10,10,10,10,11,11,11,11,12,12,12,12,13,13,13,13,14,14,14,14]
__pyx_1 = PyList_New(52); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 6; goto __pyx_L1;} Py_INCREF(__pyx_num_2); PyList_SET_ITEM(__pyx_1, 0, __pyx_num_2); Py_INCREF(__pyx_num_2); PyList_SET_ITEM(__pyx_1, 1, __pyx_num_2); Py_INCREF(__pyx_num_2); PyList_SET_ITEM(__pyx_1, 2, __pyx_num_2); Py_INCREF(__pyx_num_2); PyList_SET_ITEM(__pyx_1, 3, __pyx_num_2); Py_INCREF(__pyx_num_3); PyList_SET_ITEM(__pyx_1, 4, __pyx_num_3); Py_INCREF(__pyx_num_3); PyList_SET_ITEM(__pyx_1, 5, __pyx_num_3); Py_INCREF(__pyx_num_3); PyList_SET_ITEM(__pyx_1, 6, __pyx_num_3); Py_INCREF(__pyx_num_3); PyList_SET_ITEM(__pyx_1, 7, __pyx_num_3); Py_INCREF(__pyx_num_4); PyList_SET_ITEM(__pyx_1, 8, __pyx_num_4); Py_INCREF(__pyx_num_4); PyList_SET_ITEM(__pyx_1, 9, __pyx_num_4); Py_INCREF(__pyx_num_4); PyList_SET_ITEM(__pyx_1, 10, __pyx_num_4); Py_INCREF(__pyx_num_4); PyList_SET_ITEM(__pyx_1, 11, __pyx_num_4); Py_INCREF(__pyx_num_5); PyList_SET_ITEM(__pyx_1, 12, __pyx_num_5); Py_INCREF(__pyx_num_5); PyList_SET_ITEM(__pyx_1, 13, __pyx_num_5); Py_INCREF(__pyx_num_5); PyList_SET_ITEM(__pyx_1, 14, __pyx_num_5); Py_INCREF(__pyx_num_5); PyList_SET_ITEM(__pyx_1, 15, __pyx_num_5); Py_INCREF(__pyx_num_6); PyList_SET_ITEM(__pyx_1, 16, __pyx_num_6); Py_INCREF(__pyx_num_6); PyList_SET_ITEM(__pyx_1, 17, __pyx_num_6); Py_INCREF(__pyx_num_6); PyList_SET_ITEM(__pyx_1, 18, __pyx_num_6); Py_INCREF(__pyx_num_6); PyList_SET_ITEM(__pyx_1, 19, __pyx_num_6); Py_INCREF(__pyx_num_7); PyList_SET_ITEM(__pyx_1, 20, __pyx_num_7); Py_INCREF(__pyx_num_7); PyList_SET_ITEM(__pyx_1, 21, __pyx_num_7); Py_INCREF(__pyx_num_7); PyList_SET_ITEM(__pyx_1, 22, __pyx_num_7); Py_INCREF(__pyx_num_7); PyList_SET_ITEM(__pyx_1, 23, __pyx_num_7); Py_INCREF(__pyx_num_8); PyList_SET_ITEM(__pyx_1, 24, __pyx_num_8); Py_INCREF(__pyx_num_8); PyList_SET_ITEM(__pyx_1, 25, __pyx_num_8); Py_INCREF(__pyx_num_8); PyList_SET_ITEM(__pyx_1, 26, __pyx_num_8); Py_INCREF(__pyx_num_8); PyList_SET_ITEM(__pyx_1, 27, __pyx_num_8); Py_INCREF(__pyx_num_9); PyList_SET_ITEM(__pyx_1, 28, __pyx_num_9); Py_INCREF(__pyx_num_9); PyList_SET_ITEM(__pyx_1, 29, __pyx_num_9); Py_INCREF(__pyx_num_9); PyList_SET_ITEM(__pyx_1, 30, __pyx_num_9); Py_INCREF(__pyx_num_9); PyList_SET_ITEM(__pyx_1, 31, __pyx_num_9); Py_INCREF(__pyx_num_10); PyList_SET_ITEM(__pyx_1, 32, __pyx_num_10); Py_INCREF(__pyx_num_10); PyList_SET_ITEM(__pyx_1, 33, __pyx_num_10); Py_INCREF(__pyx_num_10); PyList_SET_ITEM(__pyx_1, 34, __pyx_num_10); Py_INCREF(__pyx_num_10); PyList_SET_ITEM(__pyx_1, 35, __pyx_num_10); Py_INCREF(__pyx_num_11); PyList_SET_ITEM(__pyx_1, 36, __pyx_num_11); Py_INCREF(__pyx_num_11); PyList_SET_ITEM(__pyx_1, 37, __pyx_num_11); Py_INCREF(__pyx_num_11); PyList_SET_ITEM(__pyx_1, 38, __pyx_num_11); Py_INCREF(__pyx_num_11); PyList_SET_ITEM(__pyx_1, 39, __pyx_num_11); Py_INCREF(__pyx_num_12); PyList_SET_ITEM(__pyx_1, 40, __pyx_num_12); Py_INCREF(__pyx_num_12); PyList_SET_ITEM(__pyx_1, 41, __pyx_num_12); Py_INCREF(__pyx_num_12); PyList_SET_ITEM(__pyx_1, 42, __pyx_num_12); Py_INCREF(__pyx_num_12); PyList_SET_ITEM(__pyx_1, 43, __pyx_num_12); Py_INCREF(__pyx_num_13); PyList_SET_ITEM(__pyx_1, 44, __pyx_num_13); Py_INCREF(__pyx_num_13); PyList_SET_ITEM(__pyx_1, 45, __pyx_num_13); Py_INCREF(__pyx_num_13); PyList_SET_ITEM(__pyx_1, 46, __pyx_num_13); Py_INCREF(__pyx_num_13); PyList_SET_ITEM(__pyx_1, 47, __pyx_num_13); Py_INCREF(__pyx_num_14); PyList_SET_ITEM(__pyx_1, 48, __pyx_num_14); Py_INCREF(__pyx_num_14); PyList_SET_ITEM(__pyx_1, 49, __pyx_num_14); Py_INCREF(__pyx_num_14); PyList_SET_ITEM(__pyx_1, 50, __pyx_num_14); Py_INCREF(__pyx_num_14); PyList_SET_ITEM(__pyx_1, 51, __pyx_num_14); if (PyObject_SetAttr(__pyx_m, __pyx_n_deck, __pyx_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 6; goto __pyx_L1;} Py_DECREF(__pyx_1); __pyx_1 = 0;
8:
9: def play_war():
static PyObject *__pyx_num_51; static PyObject *__pyx_num_0; static PyObject *__pyx_num_50; static PyObject *__pyx_num_25; static PyObject *__pyx_n_randint; static PyObject *__pyx_n_append; static PyObject *__pyx_n_pop; static PyObject *__pyx_pf_66_home_notebook_sage_notebook_worksheets_admin_30_code_sage4_spyx_0_play_war(PyObject *__pyx_self, PyObject *unused); /*proto*/ static char __pyx_doc_66_home_notebook_sage_notebook_worksheets_admin_30_code_sage4_spyx_0_play_war[] = "File: _home_notebook_sage_notebook_worksheets_admin_30_code_sage4_spyx_0.pyx (starting at line 9)"; static PyObject *__pyx_pf_66_home_notebook_sage_notebook_worksheets_admin_30_code_sage4_spyx_0_play_war(PyObject *__pyx_self, PyObject *unused) { PyObject *__pyx_v_i; PyObject *__pyx_v_index; PyObject *__pyx_v_card; PyObject *__pyx_v_hand1; PyObject *__pyx_v_hand2; PyObject *__pyx_v_tie; PyObject *__pyx_v_winner; PyObject *__pyx_v_battles; PyObject *__pyx_v_wars; PyObject *__pyx_v_twentysixes; PyObject *__pyx_v_p1weight; PyObject *__pyx_v_p1advantage; PyObject *__pyx_v_count; PyObject *__pyx_v_exit; PyObject *__pyx_r; PyObject *__pyx_1 = 0; int __pyx_2; PyObject *__pyx_3 = 0; PyObject *__pyx_4 = 0; PyObject *__pyx_5 = 0; Py_ssize_t __pyx_6 = 0; int __pyx_7; Py_ssize_t __pyx_8 = 0; __pyx_v_i = Py_None; Py_INCREF(Py_None); __pyx_v_index = Py_None; Py_INCREF(Py_None); __pyx_v_card = Py_None; Py_INCREF(Py_None); __pyx_v_hand1 = Py_None; Py_INCREF(Py_None); __pyx_v_hand2 = Py_None; Py_INCREF(Py_None); __pyx_v_tie = Py_None; Py_INCREF(Py_None); __pyx_v_winner = Py_None; Py_INCREF(Py_None); __pyx_v_battles = Py_None; Py_INCREF(Py_None); __pyx_v_wars = Py_None; Py_INCREF(Py_None); __pyx_v_twentysixes = Py_None; Py_INCREF(Py_None); __pyx_v_p1weight = Py_None; Py_INCREF(Py_None); __pyx_v_p1advantage = Py_None; Py_INCREF(Py_None); __pyx_v_count = Py_None; Py_INCREF(Py_None); __pyx_v_exit = Py_None; Py_INCREF(Py_None);
10: #shuffle deck
11: i = 51
Py_INCREF(__pyx_num_51); Py_DECREF(__pyx_v_i); __pyx_v_i = __pyx_num_51;
12: while i coerce>= 0:
while (1) { __pyx_1 = PyObject_RichCompare(__pyx_v_i, __pyx_num_0, Py_GE); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 12; goto __pyx_L1;} __pyx_2 = __Pyx_PyObject_IsTrue(__pyx_1); if (unlikely(__pyx_2 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 12; goto __pyx_L1;} Py_DECREF(__pyx_1); __pyx_1 = 0; if (!__pyx_2) break;
13: index = randint(0,i)
__pyx_1 = __Pyx_GetName(__pyx_i, __pyx_n_randint); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 13; goto __pyx_L1;} __pyx_3 = PyTuple_New(2); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 13; goto __pyx_L1;} Py_INCREF(__pyx_num_0); PyTuple_SET_ITEM(__pyx_3, 0, __pyx_num_0); Py_INCREF(__pyx_v_i); PyTuple_SET_ITEM(__pyx_3, 1, __pyx_v_i); __pyx_4 = PyObject_Call(__pyx_1, __pyx_3, NULL); if (unlikely(!__pyx_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 13; goto __pyx_L1;} Py_DECREF(__pyx_1); __pyx_1 = 0; Py_DECREF(__pyx_3); __pyx_3 = 0; Py_DECREF(__pyx_v_index); __pyx_v_index = __pyx_4; __pyx_4 = 0;
14: card = deck[index]
__pyx_1 = __Pyx_GetName(__pyx_m, __pyx_n_deck); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 14; goto __pyx_L1;} __pyx_3 = PyObject_GetItem(__pyx_1, __pyx_v_index); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 14; goto __pyx_L1;} Py_DECREF(__pyx_1); __pyx_1 = 0; Py_DECREF(__pyx_v_card); __pyx_v_card = __pyx_3; __pyx_3 = 0;
15: deck.append(card)
__pyx_4 = __Pyx_GetName(__pyx_m, __pyx_n_deck); if (unlikely(!__pyx_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 15; goto __pyx_L1;} __pyx_1 = PyObject_GetAttr(__pyx_4, __pyx_n_append); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 15; goto __pyx_L1;} Py_DECREF(__pyx_4); __pyx_4 = 0; __pyx_3 = PyTuple_New(1); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 15; goto __pyx_L1;} Py_INCREF(__pyx_v_card); PyTuple_SET_ITEM(__pyx_3, 0, __pyx_v_card); __pyx_4 = PyObject_Call(__pyx_1, __pyx_3, NULL); if (unlikely(!__pyx_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 15; goto __pyx_L1;} Py_DECREF(__pyx_1); __pyx_1 = 0; Py_DECREF(__pyx_3); __pyx_3 = 0; Py_DECREF(__pyx_4); __pyx_4 = 0;
16: deck.pop(index)
__pyx_1 = __Pyx_GetName(__pyx_m, __pyx_n_deck); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 16; goto __pyx_L1;} __pyx_3 = PyObject_GetAttr(__pyx_1, __pyx_n_pop); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 16; goto __pyx_L1;} Py_DECREF(__pyx_1); __pyx_1 = 0; __pyx_4 = PyTuple_New(1); if (unlikely(!__pyx_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 16; goto __pyx_L1;} Py_INCREF(__pyx_v_index); PyTuple_SET_ITEM(__pyx_4, 0, __pyx_v_index); __pyx_1 = PyObject_Call(__pyx_3, __pyx_4, NULL); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 16; goto __pyx_L1;} Py_DECREF(__pyx_3); __pyx_3 = 0; Py_DECREF(__pyx_4); __pyx_4 = 0; Py_DECREF(__pyx_1); __pyx_1 = 0;
17: i -= 1
__pyx_4 = __pyx_v_i; Py_INCREF(__pyx_4); __pyx_3 = PyNumber_InPlaceSubtract(__pyx_4, __pyx_num_1); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 17; goto __pyx_L1;} Py_DECREF(__pyx_4); __pyx_4 = 0; Py_DECREF(__pyx_v_i); __pyx_v_i = __pyx_3; __pyx_3 = 0; }
18: #end of shuffle
19:
20: #deal the cards
21: hand1 = []
__pyx_1 = PyList_New(0); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 21; goto __pyx_L1;} Py_DECREF(__pyx_v_hand1); __pyx_v_hand1 = __pyx_1; __pyx_1 = 0;
22: hand2 = []
__pyx_4 = PyList_New(0); if (unlikely(!__pyx_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 22; goto __pyx_L1;} Py_DECREF(__pyx_v_hand2); __pyx_v_hand2 = __pyx_4; __pyx_4 = 0;
23: i = 0
Py_INCREF(__pyx_num_0); Py_DECREF(__pyx_v_i); __pyx_v_i = __pyx_num_0;
24: while i coerce<= 50:
while (1) { __pyx_3 = PyObject_RichCompare(__pyx_v_i, __pyx_num_50, Py_LE); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 24; goto __pyx_L1;} __pyx_2 = __Pyx_PyObject_IsTrue(__pyx_3); if (unlikely(__pyx_2 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 24; goto __pyx_L1;} Py_DECREF(__pyx_3); __pyx_3 = 0; if (!__pyx_2) break;
25: hand1.append(deck[i])
__pyx_1 = PyObject_GetAttr(__pyx_v_hand1, __pyx_n_append); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 25; goto __pyx_L1;} __pyx_4 = __Pyx_GetName(__pyx_m, __pyx_n_deck); if (unlikely(!__pyx_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 25; goto __pyx_L1;} __pyx_3 = PyObject_GetItem(__pyx_4, __pyx_v_i); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 25; goto __pyx_L1;} Py_DECREF(__pyx_4); __pyx_4 = 0; __pyx_4 = PyTuple_New(1); if (unlikely(!__pyx_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 25; goto __pyx_L1;} PyTuple_SET_ITEM(__pyx_4, 0, __pyx_3); __pyx_3 = 0; __pyx_3 = PyObject_Call(__pyx_1, __pyx_4, NULL); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 25; goto __pyx_L1;} Py_DECREF(__pyx_1); __pyx_1 = 0; Py_DECREF(__pyx_4); __pyx_4 = 0; Py_DECREF(__pyx_3); __pyx_3 = 0;
26: hand2.append(deck[i+1])
__pyx_1 = PyObject_GetAttr(__pyx_v_hand2, __pyx_n_append); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 26; goto __pyx_L1;} __pyx_4 = __Pyx_GetName(__pyx_m, __pyx_n_deck); if (unlikely(!__pyx_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 26; goto __pyx_L1;} __pyx_3 = __pyx_v_i; Py_INCREF(__pyx_3); __pyx_5 = PyNumber_Add(__pyx_3, __pyx_num_1); if (unlikely(!__pyx_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 26; goto __pyx_L1;} Py_DECREF(__pyx_3); __pyx_3 = 0; __pyx_3 = PyObject_GetItem(__pyx_4, __pyx_5); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 26; goto __pyx_L1;} Py_DECREF(__pyx_4); __pyx_4 = 0; Py_DECREF(__pyx_5); __pyx_5 = 0; __pyx_4 = PyTuple_New(1); if (unlikely(!__pyx_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 26; goto __pyx_L1;} PyTuple_SET_ITEM(__pyx_4, 0, __pyx_3); __pyx_3 = 0; __pyx_5 = PyObject_Call(__pyx_1, __pyx_4, NULL); if (unlikely(!__pyx_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 26; goto __pyx_L1;} Py_DECREF(__pyx_1); __pyx_1 = 0; Py_DECREF(__pyx_4); __pyx_4 = 0; Py_DECREF(__pyx_5); __pyx_5 = 0;
27: i += 2
__pyx_1 = __pyx_v_i; Py_INCREF(__pyx_1); __pyx_3 = PyNumber_InPlaceAdd(__pyx_1, __pyx_num_2); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 27; goto __pyx_L1;} Py_DECREF(__pyx_1); __pyx_1 = 0; Py_DECREF(__pyx_v_i); __pyx_v_i = __pyx_3; __pyx_3 = 0; }
28: #end of deal
29:
30: #initialize game stats
31: tie = False
Py_INCREF(Py_False); Py_DECREF(__pyx_v_tie); __pyx_v_tie = Py_False;
32: winner = 0
Py_INCREF(__pyx_num_0); Py_DECREF(__pyx_v_winner); __pyx_v_winner = __pyx_num_0;
33: battles = 0
Py_INCREF(__pyx_num_0); Py_DECREF(__pyx_v_battles); __pyx_v_battles = __pyx_num_0;
34: wars = 0
Py_INCREF(__pyx_num_0); Py_DECREF(__pyx_v_wars); __pyx_v_wars = __pyx_num_0;
35: twentysixes = 1
Py_INCREF(__pyx_num_1); Py_DECREF(__pyx_v_twentysixes); __pyx_v_twentysixes = __pyx_num_1;
36: p1weight = 0
Py_INCREF(__pyx_num_0); Py_DECREF(__pyx_v_p1weight); __pyx_v_p1weight = __pyx_num_0;
37: p1advantage = 0
Py_INCREF(__pyx_num_0); Py_DECREF(__pyx_v_p1advantage); __pyx_v_p1advantage = __pyx_num_0;
38: i = 0
Py_INCREF(__pyx_num_0); Py_DECREF(__pyx_v_i); __pyx_v_i = __pyx_num_0;
39: while i coerce<= 25:
while (1) { __pyx_4 = PyObject_RichCompare(__pyx_v_i, __pyx_num_25, Py_LE); if (unlikely(!__pyx_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 39; goto __pyx_L1;} __pyx_2 = __Pyx_PyObject_IsTrue(__pyx_4); if (unlikely(__pyx_2 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 39; goto __pyx_L1;} Py_DECREF(__pyx_4); __pyx_4 = 0; if (!__pyx_2) break;
40: p1weight += hand1[i]
__pyx_1 = PyObject_GetItem(__pyx_v_hand1, __pyx_v_i); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 40; goto __pyx_L1;} __pyx_3 = __pyx_v_p1weight; Py_INCREF(__pyx_3); __pyx_5 = PyNumber_InPlaceAdd(__pyx_3, __pyx_1); if (unlikely(!__pyx_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 40; goto __pyx_L1;} Py_DECREF(__pyx_1); __pyx_1 = 0; Py_DECREF(__pyx_3); __pyx_3 = 0; Py_DECREF(__pyx_v_p1weight); __pyx_v_p1weight = __pyx_5; __pyx_5 = 0;
41: i += 1
__pyx_1 = __pyx_v_i; Py_INCREF(__pyx_1); __pyx_4 = PyNumber_InPlaceAdd(__pyx_1, __pyx_num_1); if (unlikely(!__pyx_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 41; goto __pyx_L1;} Py_DECREF(__pyx_1); __pyx_1 = 0; Py_DECREF(__pyx_v_i); __pyx_v_i = __pyx_4; __pyx_4 = 0; }
42:
43:
44: while len(hand1) > 0 and len(hand2) > 0 and not tiecoerce:
while (1) { __pyx_6 = PyObject_Length(__pyx_v_hand1); if (unlikely(__pyx_6 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 44; goto __pyx_L1;} __pyx_2 = (__pyx_6 > 0); if (__pyx_2) { __pyx_6 = PyObject_Length(__pyx_v_hand2); if (unlikely(__pyx_6 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 44; goto __pyx_L1;} __pyx_2 = (__pyx_6 > 0); if (__pyx_2) { __pyx_7 = __Pyx_PyObject_IsTrue(__pyx_v_tie); if (unlikely(__pyx_7 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 44; goto __pyx_L1;} __pyx_2 = (!__pyx_7); } } if (!__pyx_2) break;
45: battles += 1
__pyx_5 = __pyx_v_battles; Py_INCREF(__pyx_5); __pyx_3 = PyNumber_InPlaceAdd(__pyx_5, __pyx_num_1); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 45; goto __pyx_L1;} Py_DECREF(__pyx_5); __pyx_5 = 0; Py_DECREF(__pyx_v_battles); __pyx_v_battles = __pyx_3; __pyx_3 = 0;
46: count = 0
Py_INCREF(__pyx_num_0); Py_DECREF(__pyx_v_count); __pyx_v_count = __pyx_num_0;
47: if hand1 coerce== hand2:
__pyx_1 = PyObject_RichCompare(__pyx_v_hand1, __pyx_v_hand2, Py_EQ); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 47; goto __pyx_L1;} __pyx_7 = __Pyx_PyObject_IsTrue(__pyx_1); if (unlikely(__pyx_7 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 47; goto __pyx_L1;} Py_DECREF(__pyx_1); __pyx_1 = 0; if (__pyx_7) {
48: tie = True
Py_INCREF(Py_True); Py_DECREF(__pyx_v_tie); __pyx_v_tie = Py_True; goto __pyx_L10; } __pyx_L10:;
49: if hand1[coerce0] coerce> hand2[coerce0]: #player 1 wins the battle
if (PyList_CheckExact(__pyx_v_hand1) && 0 <= 0 && 0 < PyList_GET_SIZE(__pyx_v_hand1)) { __pyx_5 = PyList_GET_ITEM(__pyx_v_hand1, 0); Py_INCREF(__pyx_5); } else if (PyTuple_CheckExact(__pyx_v_hand1) && 0 <= 0 && 0 < PyTuple_GET_SIZE(__pyx_v_hand1)) { __pyx_5 = PyTuple_GET_ITEM(__pyx_v_hand1, 0); Py_INCREF(__pyx_5); } else { __pyx_4 = PyInt_FromLong(0); if (unlikely(!__pyx_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 49; goto __pyx_L1;} __pyx_5 = PyObject_GetItem(__pyx_v_hand1, __pyx_4); if (unlikely(!__pyx_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 49; goto __pyx_L1;} Py_DECREF(__pyx_4); __pyx_4 = 0; } if (PyList_CheckExact(__pyx_v_hand2) && 0 <= 0 && 0 < PyList_GET_SIZE(__pyx_v_hand2)) { __pyx_1 = PyList_GET_ITEM(__pyx_v_hand2, 0); Py_INCREF(__pyx_1); } else if (PyTuple_CheckExact(__pyx_v_hand2) && 0 <= 0 && 0 < PyTuple_GET_SIZE(__pyx_v_hand2)) { __pyx_1 = PyTuple_GET_ITEM(__pyx_v_hand2, 0); Py_INCREF(__pyx_1); } else { __pyx_3 = PyInt_FromLong(0); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 49; goto __pyx_L1;} __pyx_1 = PyObject_GetItem(__pyx_v_hand2, __pyx_3); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 49; goto __pyx_L1;} Py_DECREF(__pyx_3); __pyx_3 = 0; } __pyx_4 = PyObject_RichCompare(__pyx_5, __pyx_1, Py_GT); if (unlikely(!__pyx_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 49; goto __pyx_L1;} Py_DECREF(__pyx_5); __pyx_5 = 0; Py_DECREF(__pyx_1); __pyx_1 = 0; __pyx_2 = __Pyx_PyObject_IsTrue(__pyx_4); if (unlikely(__pyx_2 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 49; goto __pyx_L1;} Py_DECREF(__pyx_4); __pyx_4 = 0; if (__pyx_2) {
50: if battles - wars + count coerce<= 25: #adjust initial advantage if still in 1st time through deck
__pyx_3 = __pyx_v_battles; Py_INCREF(__pyx_3); __pyx_5 = PyNumber_Subtract(__pyx_3, __pyx_v_wars); if (unlikely(!__pyx_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 50; goto __pyx_L1;} Py_DECREF(__pyx_3); __pyx_3 = 0; __pyx_1 = PyNumber_Add(__pyx_5, __pyx_v_count); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 50; goto __pyx_L1;} Py_DECREF(__pyx_5); __pyx_5 = 0; __pyx_4 = PyObject_RichCompare(__pyx_1, __pyx_num_25, Py_LE); if (unlikely(!__pyx_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 50; goto __pyx_L1;} Py_DECREF(__pyx_1); __pyx_1 = 0; __pyx_7 = __Pyx_PyObject_IsTrue(__pyx_4); if (unlikely(__pyx_7 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 50; goto __pyx_L1;} Py_DECREF(__pyx_4); __pyx_4 = 0; if (__pyx_7) {
51: p1advantage += hand2[coerce0]
if (PyList_CheckExact(__pyx_v_hand2) && 0 <= 0 && 0 < PyList_GET_SIZE(__pyx_v_hand2)) { __pyx_1 = PyList_GET_ITEM(__pyx_v_hand2, 0); Py_INCREF(__pyx_1); } else if (PyTuple_CheckExact(__pyx_v_hand2) && 0 <= 0 && 0 < PyTuple_GET_SIZE(__pyx_v_hand2)) { __pyx_1 = PyTuple_GET_ITEM(__pyx_v_hand2, 0); Py_INCREF(__pyx_1); } else { __pyx_5 = PyInt_FromLong(0); if (unlikely(!__pyx_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 51; goto __pyx_L1;} __pyx_1 = PyObject_GetItem(__pyx_v_hand2, __pyx_5); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 51; goto __pyx_L1;} Py_DECREF(__pyx_5); __pyx_5 = 0; } __pyx_4 = __pyx_v_p1advantage; Py_INCREF(__pyx_4); __pyx_3 = PyNumber_InPlaceAdd(__pyx_4, __pyx_1); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 51; goto __pyx_L1;} Py_DECREF(__pyx_1); __pyx_1 = 0; Py_DECREF(__pyx_4); __pyx_4 = 0; Py_DECREF(__pyx_v_p1advantage); __pyx_v_p1advantage = __pyx_3; __pyx_3 = 0; goto __pyx_L12; } __pyx_L12:;
52: hand1.append(hand2[coerce0])
__pyx_5 = PyObject_GetAttr(__pyx_v_hand1, __pyx_n_append); if (unlikely(!__pyx_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 52; goto __pyx_L1;} if (PyList_CheckExact(__pyx_v_hand2) && 0 <= 0 && 0 < PyList_GET_SIZE(__pyx_v_hand2)) { __pyx_4 = PyList_GET_ITEM(__pyx_v_hand2, 0); Py_INCREF(__pyx_4); } else if (PyTuple_CheckExact(__pyx_v_hand2) && 0 <= 0 && 0 < PyTuple_GET_SIZE(__pyx_v_hand2)) { __pyx_4 = PyTuple_GET_ITEM(__pyx_v_hand2, 0); Py_INCREF(__pyx_4); } else { __pyx_1 = PyInt_FromLong(0); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 52; goto __pyx_L1;} __pyx_4 = PyObject_GetItem(__pyx_v_hand2, __pyx_1); if (unlikely(!__pyx_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 52; goto __pyx_L1;} Py_DECREF(__pyx_1); __pyx_1 = 0; } __pyx_3 = PyTuple_New(1); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 52; goto __pyx_L1;} PyTuple_SET_ITEM(__pyx_3, 0, __pyx_4); __pyx_4 = 0; __pyx_1 = PyObject_Call(__pyx_5, __pyx_3, NULL); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 52; goto __pyx_L1;} Py_DECREF(__pyx_5); __pyx_5 = 0; Py_DECREF(__pyx_3); __pyx_3 = 0; Py_DECREF(__pyx_1); __pyx_1 = 0;
53: hand1.append(hand1[coerce0])
__pyx_4 = PyObject_GetAttr(__pyx_v_hand1, __pyx_n_append); if (unlikely(!__pyx_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 53; goto __pyx_L1;} if (PyList_CheckExact(__pyx_v_hand1) && 0 <= 0 && 0 < PyList_GET_SIZE(__pyx_v_hand1)) { __pyx_3 = PyList_GET_ITEM(__pyx_v_hand1, 0); Py_INCREF(__pyx_3); } else if (PyTuple_CheckExact(__pyx_v_hand1) && 0 <= 0 && 0 < PyTuple_GET_SIZE(__pyx_v_hand1)) { __pyx_3 = PyTuple_GET_ITEM(__pyx_v_hand1, 0); Py_INCREF(__pyx_3); } else { __pyx_5 = PyInt_FromLong(0); if (unlikely(!__pyx_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 53; goto __pyx_L1;} __pyx_3 = PyObject_GetItem(__pyx_v_hand1, __pyx_5); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 53; goto __pyx_L1;} Py_DECREF(__pyx_5); __pyx_5 = 0; } __pyx_1 = PyTuple_New(1); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 53; goto __pyx_L1;} PyTuple_SET_ITEM(__pyx_1, 0, __pyx_3); __pyx_3 = 0; __pyx_5 = PyObject_Call(__pyx_4, __pyx_1, NULL); if (unlikely(!__pyx_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 53; goto __pyx_L1;} Py_DECREF(__pyx_4); __pyx_4 = 0; Py_DECREF(__pyx_1); __pyx_1 = 0; Py_DECREF(__pyx_5); __pyx_5 = 0;
54: hand1[:1] = []
__pyx_3 = PyList_New(0); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 54; goto __pyx_L1;} if (PySequence_SetSlice(__pyx_v_hand1, 0, 1, __pyx_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 54; goto __pyx_L1;} Py_DECREF(__pyx_3); __pyx_3 = 0;
55: hand2[:1] = []
__pyx_4 = PyList_New(0); if (unlikely(!__pyx_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 55; goto __pyx_L1;} if (PySequence_SetSlice(__pyx_v_hand2, 0, 1, __pyx_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 55; goto __pyx_L1;} Py_DECREF(__pyx_4); __pyx_4 = 0; goto __pyx_L11; } init_csage();
56: elif hand2[coerce0] coerce> hand1[coerce0]: #player 2 wins the battle
if (PyList_CheckExact(__pyx_v_hand2) && 0 <= 0 && 0 < PyList_GET_SIZE(__pyx_v_hand2)) { __pyx_5 = PyList_GET_ITEM(__pyx_v_hand2, 0); Py_INCREF(__pyx_5); } else if (PyTuple_CheckExact(__pyx_v_hand2) && 0 <= 0 && 0 < PyTuple_GET_SIZE(__pyx_v_hand2)) { __pyx_5 = PyTuple_GET_ITEM(__pyx_v_hand2, 0); Py_INCREF(__pyx_5); } else { __pyx_1 = PyInt_FromLong(0); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 56; goto __pyx_L1;} __pyx_5 = PyObject_GetItem(__pyx_v_hand2, __pyx_1); if (unlikely(!__pyx_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 56; goto __pyx_L1;} Py_DECREF(__pyx_1); __pyx_1 = 0; } if (PyList_CheckExact(__pyx_v_hand1) && 0 <= 0 && 0 < PyList_GET_SIZE(__pyx_v_hand1)) { __pyx_4 = PyList_GET_ITEM(__pyx_v_hand1, 0); Py_INCREF(__pyx_4); } else if (PyTuple_CheckExact(__pyx_v_hand1) && 0 <= 0 && 0 < PyTuple_GET_SIZE(__pyx_v_hand1)) { __pyx_4 = PyTuple_GET_ITEM(__pyx_v_hand1, 0); Py_INCREF(__pyx_4); } else { __pyx_3 = PyInt_FromLong(0); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 56; goto __pyx_L1;} __pyx_4 = PyObject_GetItem(__pyx_v_hand1, __pyx_3); if (unlikely(!__pyx_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 56; goto __pyx_L1;} Py_DECREF(__pyx_3); __pyx_3 = 0; } __pyx_1 = PyObject_RichCompare(__pyx_5, __pyx_4, Py_GT); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 56; goto __pyx_L1;} Py_DECREF(__pyx_5); __pyx_5 = 0; Py_DECREF(__pyx_4); __pyx_4 = 0; __pyx_2 = __Pyx_PyObject_IsTrue(__pyx_1); if (unlikely(__pyx_2 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 56; goto __pyx_L1;} Py_DECREF(__pyx_1); __pyx_1 = 0; if (__pyx_2) {
57: if battles - wars + count coerce<= 25: #adjust initial advantage if still in 1st time through deck
__pyx_3 = __pyx_v_battles; Py_INCREF(__pyx_3); __pyx_5 = PyNumber_Subtract(__pyx_3, __pyx_v_wars); if (unlikely(!__pyx_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 57; goto __pyx_L1;} Py_DECREF(__pyx_3); __pyx_3 = 0; __pyx_4 = PyNumber_Add(__pyx_5, __pyx_v_count); if (unlikely(!__pyx_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 57; goto __pyx_L1;} Py_DECREF(__pyx_5); __pyx_5 = 0; __pyx_1 = PyObject_RichCompare(__pyx_4, __pyx_num_25, Py_LE); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 57; goto __pyx_L1;} Py_DECREF(__pyx_4); __pyx_4 = 0; __pyx_7 = __Pyx_PyObject_IsTrue(__pyx_1); if (unlikely(__pyx_7 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 57; goto __pyx_L1;} Py_DECREF(__pyx_1); __pyx_1 = 0; if (__pyx_7) {
58: p1advantage -= hand1[coerce0]
if (PyList_CheckExact(__pyx_v_hand1) && 0 <= 0 && 0 < PyList_GET_SIZE(__pyx_v_hand1)) { __pyx_4 = PyList_GET_ITEM(__pyx_v_hand1, 0); Py_INCREF(__pyx_4); } else if (PyTuple_CheckExact(__pyx_v_hand1) && 0 <= 0 && 0 < PyTuple_GET_SIZE(__pyx_v_hand1)) { __pyx_4 = PyTuple_GET_ITEM(__pyx_v_hand1, 0); Py_INCREF(__pyx_4); } else { __pyx_5 = PyInt_FromLong(0); if (unlikely(!__pyx_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 58; goto __pyx_L1;} __pyx_4 = PyObject_GetItem(__pyx_v_hand1, __pyx_5); if (unlikely(!__pyx_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 58; goto __pyx_L1;} Py_DECREF(__pyx_5); __pyx_5 = 0; } __pyx_1 = __pyx_v_p1advantage; Py_INCREF(__pyx_1); __pyx_3 = PyNumber_InPlaceSubtract(__pyx_1, __pyx_4); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 58; goto __pyx_L1;} Py_DECREF(__pyx_4); __pyx_4 = 0; Py_DECREF(__pyx_1); __pyx_1 = 0; Py_DECREF(__pyx_v_p1advantage); __pyx_v_p1advantage = __pyx_3; __pyx_3 = 0; goto __pyx_L13; } __pyx_L13:;
59: hand2.append(hand1[coerce0])
__pyx_5 = PyObject_GetAttr(__pyx_v_hand2, __pyx_n_append); if (unlikely(!__pyx_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 59; goto __pyx_L1;} if (PyList_CheckExact(__pyx_v_hand1) && 0 <= 0 && 0 < PyList_GET_SIZE(__pyx_v_hand1)) { __pyx_1 = PyList_GET_ITEM(__pyx_v_hand1, 0); Py_INCREF(__pyx_1); } else if (PyTuple_CheckExact(__pyx_v_hand1) && 0 <= 0 && 0 < PyTuple_GET_SIZE(__pyx_v_hand1)) { __pyx_1 = PyTuple_GET_ITEM(__pyx_v_hand1, 0); Py_INCREF(__pyx_1); } else { __pyx_4 = PyInt_FromLong(0); if (unlikely(!__pyx_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 59; goto __pyx_L1;} __pyx_1 = PyObject_GetItem(__pyx_v_hand1, __pyx_4); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 59; goto __pyx_L1;} Py_DECREF(__pyx_4); __pyx_4 = 0; } __pyx_3 = PyTuple_New(1); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 59; goto __pyx_L1;} PyTuple_SET_ITEM(__pyx_3, 0, __pyx_1); __pyx_1 = 0; __pyx_4 = PyObject_Call(__pyx_5, __pyx_3, NULL); if (unlikely(!__pyx_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 59; goto __pyx_L1;} Py_DECREF(__pyx_5); __pyx_5 = 0; Py_DECREF(__pyx_3); __pyx_3 = 0; Py_DECREF(__pyx_4); __pyx_4 = 0;
60: hand2.append(hand2[coerce0])
__pyx_1 = PyObject_GetAttr(__pyx_v_hand2, __pyx_n_append); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 60; goto __pyx_L1;} if (PyList_CheckExact(__pyx_v_hand2) && 0 <= 0 && 0 < PyList_GET_SIZE(__pyx_v_hand2)) { __pyx_3 = PyList_GET_ITEM(__pyx_v_hand2, 0); Py_INCREF(__pyx_3); } else if (PyTuple_CheckExact(__pyx_v_hand2) && 0 <= 0 && 0 < PyTuple_GET_SIZE(__pyx_v_hand2)) { __pyx_3 = PyTuple_GET_ITEM(__pyx_v_hand2, 0); Py_INCREF(__pyx_3); } else { __pyx_5 = PyInt_FromLong(0); if (unlikely(!__pyx_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 60; goto __pyx_L1;} __pyx_3 = PyObject_GetItem(__pyx_v_hand2, __pyx_5); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 60; goto __pyx_L1;} Py_DECREF(__pyx_5); __pyx_5 = 0; } __pyx_4 = PyTuple_New(1); if (unlikely(!__pyx_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 60; goto __pyx_L1;} PyTuple_SET_ITEM(__pyx_4, 0, __pyx_3); __pyx_3 = 0; __pyx_5 = PyObject_Call(__pyx_1, __pyx_4, NULL); if (unlikely(!__pyx_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 60; goto __pyx_L1;} Py_DECREF(__pyx_1); __pyx_1 = 0; Py_DECREF(__pyx_4); __pyx_4 = 0; Py_DECREF(__pyx_5); __pyx_5 = 0;
61: hand2[:1] = []
__pyx_3 = PyList_New(0); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 61; goto __pyx_L1;} if (PySequence_SetSlice(__pyx_v_hand2, 0, 1, __pyx_3) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 61; goto __pyx_L1;} Py_DECREF(__pyx_3); __pyx_3 = 0;
62: hand1[:1] = []
__pyx_1 = PyList_New(0); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 62; goto __pyx_L1;} if (PySequence_SetSlice(__pyx_v_hand1, 0, 1, __pyx_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 62; goto __pyx_L1;} Py_DECREF(__pyx_1); __pyx_1 = 0; goto __pyx_L11; } /*else*/ {
63: else: #a war occurs!
64: wars += 1
__pyx_5 = __pyx_v_wars; Py_INCREF(__pyx_5); __pyx_4 = PyNumber_InPlaceAdd(__pyx_5, __pyx_num_1); if (unlikely(!__pyx_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 64; goto __pyx_L1;} Py_DECREF(__pyx_5); __pyx_5 = 0; Py_DECREF(__pyx_v_wars); __pyx_v_wars = __pyx_4; __pyx_4 = 0;
65: if len(hand1) <= 2: #player 1 runs out of cards during the war
__pyx_6 = PyObject_Length(__pyx_v_hand1); if (unlikely(__pyx_6 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 65; goto __pyx_L1;} __pyx_2 = (__pyx_6 <= 2); if (__pyx_2) {
66: exit = 1
Py_INCREF(__pyx_num_1); Py_DECREF(__pyx_v_exit); __pyx_v_exit = __pyx_num_1;
67: hand1 = []
__pyx_3 = PyList_New(0); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 67; goto __pyx_L1;} Py_DECREF(__pyx_v_hand1); __pyx_v_hand1 = __pyx_3; __pyx_3 = 0; goto __pyx_L14; }
68: elif len(hand2) <= 2: #player 2 runs out of cards during the war
__pyx_6 = PyObject_Length(__pyx_v_hand2); if (unlikely(__pyx_6 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 68; goto __pyx_L1;} __pyx_7 = (__pyx_6 <= 2); if (__pyx_7) {
69: exit = 1
Py_INCREF(__pyx_num_1); Py_DECREF(__pyx_v_exit); __pyx_v_exit = __pyx_num_1;
70: hand2 = []
__pyx_1 = PyList_New(0); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 70; goto __pyx_L1;} Py_DECREF(__pyx_v_hand2); __pyx_v_hand2 = __pyx_1; __pyx_1 = 0; goto __pyx_L14; } /*else*/ {
71: else:
72: exit = 0
Py_INCREF(__pyx_num_0); Py_DECREF(__pyx_v_exit); __pyx_v_exit = __pyx_num_0; } __pyx_L14:;
73: while exit == 0 coerceand hand1[count] == hand2[count]: #provision for multi-wars
while (1) { __pyx_5 = PyObject_RichCompare(__pyx_v_exit, __pyx_num_0, Py_EQ); if (unlikely(!__pyx_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 73; goto __pyx_L1;} __pyx_2 = __Pyx_PyObject_IsTrue(__pyx_5); if (unlikely(__pyx_2 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 73; goto __pyx_L1;} if (__pyx_2) { Py_DECREF(__pyx_5); __pyx_5 = 0; __pyx_4 = PyObject_GetItem(__pyx_v_hand1, __pyx_v_count); if (unlikely(!__pyx_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 73; goto __pyx_L1;} __pyx_3 = PyObject_GetItem(__pyx_v_hand2, __pyx_v_count); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 73; goto __pyx_L1;} __pyx_5 = PyObject_RichCompare(__pyx_4, __pyx_3, Py_EQ); if (unlikely(!__pyx_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 73; goto __pyx_L1;} Py_DECREF(__pyx_4); __pyx_4 = 0; Py_DECREF(__pyx_3); __pyx_3 = 0; } __pyx_7 = __Pyx_PyObject_IsTrue(__pyx_5); if (unlikely(__pyx_7 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 73; goto __pyx_L1;} Py_DECREF(__pyx_5); __pyx_5 = 0; if (!__pyx_7) break;
74: count += 2
__pyx_4 = __pyx_v_count; Py_INCREF(__pyx_4); __pyx_1 = PyNumber_InPlaceAdd(__pyx_4, __pyx_num_2); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 74; goto __pyx_L1;} Py_DECREF(__pyx_4); __pyx_4 = 0; Py_DECREF(__pyx_v_count); __pyx_v_count = __pyx_1; __pyx_1 = 0;
75: if count coerce> len(hand1)coerce-1: #player 1 runs out of cards during the war
__pyx_6 = PyObject_Length(__pyx_v_hand1); if (unlikely(__pyx_6 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 75; goto __pyx_L1;} __pyx_3 = PyInt_FromSsize_t((__pyx_6 - 1)); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 75; goto __pyx_L1;} __pyx_5 = PyObject_RichCompare(__pyx_v_count, __pyx_3, Py_GT); if (unlikely(!__pyx_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 75; goto __pyx_L1;} Py_DECREF(__pyx_3); __pyx_3 = 0; __pyx_2 = __Pyx_PyObject_IsTrue(__pyx_5); if (unlikely(__pyx_2 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 75; goto __pyx_L1;} Py_DECREF(__pyx_5); __pyx_5 = 0; if (__pyx_2) {
76: exit = 1
Py_INCREF(__pyx_num_1); Py_DECREF(__pyx_v_exit); __pyx_v_exit = __pyx_num_1;
77: hand1 = []
__pyx_4 = PyList_New(0); if (unlikely(!__pyx_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 77; goto __pyx_L1;} Py_DECREF(__pyx_v_hand1); __pyx_v_hand1 = __pyx_4; __pyx_4 = 0; goto __pyx_L17; }
78: elif count coerce> len(hand2)coerce-1: #player 2 runs out of cards during the war
__pyx_6 = PyObject_Length(__pyx_v_hand2); if (unlikely(__pyx_6 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 78; goto __pyx_L1;} __pyx_1 = PyInt_FromSsize_t((__pyx_6 - 1)); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 78; goto __pyx_L1;} __pyx_3 = PyObject_RichCompare(__pyx_v_count, __pyx_1, Py_GT); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 78; goto __pyx_L1;} Py_DECREF(__pyx_1); __pyx_1 = 0; __pyx_7 = __Pyx_PyObject_IsTrue(__pyx_3); if (unlikely(__pyx_7 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 78; goto __pyx_L1;} Py_DECREF(__pyx_3); __pyx_3 = 0; if (__pyx_7) {
79: exit = 1
Py_INCREF(__pyx_num_1); Py_DECREF(__pyx_v_exit); __pyx_v_exit = __pyx_num_1;
80: hand2 = []
__pyx_5 = PyList_New(0); if (unlikely(!__pyx_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 80; goto __pyx_L1;} Py_DECREF(__pyx_v_hand2); __pyx_v_hand2 = __pyx_5; __pyx_5 = 0; goto __pyx_L17; } __pyx_L17:; }
81: if exit == 0 coerceand hand1[count] > hand2[count]: #player 1 wins the war
__pyx_4 = PyObject_RichCompare(__pyx_v_exit, __pyx_num_0, Py_EQ); if (unlikely(!__pyx_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 81; goto __pyx_L1;} __pyx_2 = __Pyx_PyObject_IsTrue(__pyx_4); if (unlikely(__pyx_2 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 81; goto __pyx_L1;} if (__pyx_2) { Py_DECREF(__pyx_4); __pyx_4 = 0; __pyx_1 = PyObject_GetItem(__pyx_v_hand1, __pyx_v_count); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 81; goto __pyx_L1;} __pyx_3 = PyObject_GetItem(__pyx_v_hand2, __pyx_v_count); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 81; goto __pyx_L1;} __pyx_4 = PyObject_RichCompare(__pyx_1, __pyx_3, Py_GT); if (unlikely(!__pyx_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 81; goto __pyx_L1;} Py_DECREF(__pyx_1); __pyx_1 = 0; Py_DECREF(__pyx_3); __pyx_3 = 0; } __pyx_7 = __Pyx_PyObject_IsTrue(__pyx_4); if (unlikely(__pyx_7 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 81; goto __pyx_L1;} Py_DECREF(__pyx_4); __pyx_4 = 0; if (__pyx_7) {
82: i = 0
Py_INCREF(__pyx_num_0); Py_DECREF(__pyx_v_i); __pyx_v_i = __pyx_num_0;
83: while i coerce<= count:
while (1) { __pyx_5 = PyObject_RichCompare(__pyx_v_i, __pyx_v_count, Py_LE); if (unlikely(!__pyx_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 83; goto __pyx_L1;} __pyx_2 = __Pyx_PyObject_IsTrue(__pyx_5); if (unlikely(__pyx_2 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 83; goto __pyx_L1;} Py_DECREF(__pyx_5); __pyx_5 = 0; if (!__pyx_2) break;
84: if battles - wars + count coerce<= 25: #adjust initial advantage if still in 1st time through deck
__pyx_1 = __pyx_v_battles; Py_INCREF(__pyx_1); __pyx_3 = PyNumber_Subtract(__pyx_1, __pyx_v_wars); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 84; goto __pyx_L1;} Py_DECREF(__pyx_1); __pyx_1 = 0; __pyx_4 = PyNumber_Add(__pyx_3, __pyx_v_count); if (unlikely(!__pyx_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 84; goto __pyx_L1;} Py_DECREF(__pyx_3); __pyx_3 = 0; __pyx_5 = PyObject_RichCompare(__pyx_4, __pyx_num_25, Py_LE); if (unlikely(!__pyx_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 84; goto __pyx_L1;} Py_DECREF(__pyx_4); __pyx_4 = 0; __pyx_7 = __Pyx_PyObject_IsTrue(__pyx_5); if (unlikely(__pyx_7 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 84; goto __pyx_L1;} Py_DECREF(__pyx_5); __pyx_5 = 0; if (__pyx_7) {
85: p1advantage += hand2[coerce0]
if (PyList_CheckExact(__pyx_v_hand2) && 0 <= 0 && 0 < PyList_GET_SIZE(__pyx_v_hand2)) { __pyx_4 = PyList_GET_ITEM(__pyx_v_hand2, 0); Py_INCREF(__pyx_4); } else if (PyTuple_CheckExact(__pyx_v_hand2) && 0 <= 0 && 0 < PyTuple_GET_SIZE(__pyx_v_hand2)) { __pyx_4 = PyTuple_GET_ITEM(__pyx_v_hand2, 0); Py_INCREF(__pyx_4); } else { __pyx_3 = PyInt_FromLong(0); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 85; goto __pyx_L1;} __pyx_4 = PyObject_GetItem(__pyx_v_hand2, __pyx_3); if (unlikely(!__pyx_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 85; goto __pyx_L1;} Py_DECREF(__pyx_3); __pyx_3 = 0; } __pyx_5 = __pyx_v_p1advantage; Py_INCREF(__pyx_5); __pyx_1 = PyNumber_InPlaceAdd(__pyx_5, __pyx_4); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 85; goto __pyx_L1;} Py_DECREF(__pyx_4); __pyx_4 = 0; Py_DECREF(__pyx_5); __pyx_5 = 0; Py_DECREF(__pyx_v_p1advantage); __pyx_v_p1advantage = __pyx_1; __pyx_1 = 0; goto __pyx_L21; } __pyx_L21:;
86: hand1.append(hand2[coerce0])
__pyx_3 = PyObject_GetAttr(__pyx_v_hand1, __pyx_n_append); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 86; goto __pyx_L1;} if (PyList_CheckExact(__pyx_v_hand2) && 0 <= 0 && 0 < PyList_GET_SIZE(__pyx_v_hand2)) { __pyx_5 = PyList_GET_ITEM(__pyx_v_hand2, 0); Py_INCREF(__pyx_5); } else if (PyTuple_CheckExact(__pyx_v_hand2) && 0 <= 0 && 0 < PyTuple_GET_SIZE(__pyx_v_hand2)) { __pyx_5 = PyTuple_GET_ITEM(__pyx_v_hand2, 0); Py_INCREF(__pyx_5); } else { __pyx_4 = PyInt_FromLong(0); if (unlikely(!__pyx_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 86; goto __pyx_L1;} __pyx_5 = PyObject_GetItem(__pyx_v_hand2, __pyx_4); if (unlikely(!__pyx_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 86; goto __pyx_L1;} Py_DECREF(__pyx_4); __pyx_4 = 0; } __pyx_1 = PyTuple_New(1); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 86; goto __pyx_L1;} PyTuple_SET_ITEM(__pyx_1, 0, __pyx_5); __pyx_5 = 0; __pyx_4 = PyObject_Call(__pyx_3, __pyx_1, NULL); if (unlikely(!__pyx_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 86; goto __pyx_L1;} Py_DECREF(__pyx_3); __pyx_3 = 0; Py_DECREF(__pyx_1); __pyx_1 = 0; Py_DECREF(__pyx_4); __pyx_4 = 0;
87: hand1.append(hand1[coerce0])
__pyx_5 = PyObject_GetAttr(__pyx_v_hand1, __pyx_n_append); if (unlikely(!__pyx_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 87; goto __pyx_L1;} if (PyList_CheckExact(__pyx_v_hand1) && 0 <= 0 && 0 < PyList_GET_SIZE(__pyx_v_hand1)) { __pyx_1 = PyList_GET_ITEM(__pyx_v_hand1, 0); Py_INCREF(__pyx_1); } else if (PyTuple_CheckExact(__pyx_v_hand1) && 0 <= 0 && 0 < PyTuple_GET_SIZE(__pyx_v_hand1)) { __pyx_1 = PyTuple_GET_ITEM(__pyx_v_hand1, 0); Py_INCREF(__pyx_1); } else { __pyx_3 = PyInt_FromLong(0); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 87; goto __pyx_L1;} __pyx_1 = PyObject_GetItem(__pyx_v_hand1, __pyx_3); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 87; goto __pyx_L1;} Py_DECREF(__pyx_3); __pyx_3 = 0; } __pyx_4 = PyTuple_New(1); if (unlikely(!__pyx_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 87; goto __pyx_L1;} PyTuple_SET_ITEM(__pyx_4, 0, __pyx_1); __pyx_1 = 0; __pyx_3 = PyObject_Call(__pyx_5, __pyx_4, NULL); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 87; goto __pyx_L1;} Py_DECREF(__pyx_5); __pyx_5 = 0; Py_DECREF(__pyx_4); __pyx_4 = 0; Py_DECREF(__pyx_3); __pyx_3 = 0;
88: hand1[:1] = []
__pyx_1 = PyList_New(0); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 88; goto __pyx_L1;} if (PySequence_SetSlice(__pyx_v_hand1, 0, 1, __pyx_1) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 88; goto __pyx_L1;} Py_DECREF(__pyx_1); __pyx_1 = 0;
89: hand2[:1] = []
__pyx_5 = PyList_New(0); if (unlikely(!__pyx_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 89; goto __pyx_L1;} if (PySequence_SetSlice(__pyx_v_hand2, 0, 1, __pyx_5) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 89; goto __pyx_L1;} Py_DECREF(__pyx_5); __pyx_5 = 0;
90: i += 1
__pyx_3 = __pyx_v_i; Py_INCREF(__pyx_3); __pyx_4 = PyNumber_InPlaceAdd(__pyx_3, __pyx_num_1); if (unlikely(!__pyx_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 90; goto __pyx_L1;} Py_DECREF(__pyx_3); __pyx_3 = 0; Py_DECREF(__pyx_v_i); __pyx_v_i = __pyx_4; __pyx_4 = 0; } goto __pyx_L18; }
91: elif exit == 0 coerceand hand2[count] > hand1[count]: #player 2 wins the war
__pyx_1 = PyObject_RichCompare(__pyx_v_exit, __pyx_num_0, Py_EQ); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 91; goto __pyx_L1;} __pyx_2 = __Pyx_PyObject_IsTrue(__pyx_1); if (unlikely(__pyx_2 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 91; goto __pyx_L1;} if (__pyx_2) { Py_DECREF(__pyx_1); __pyx_1 = 0; __pyx_5 = PyObject_GetItem(__pyx_v_hand2, __pyx_v_count); if (unlikely(!__pyx_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 91; goto __pyx_L1;} __pyx_3 = PyObject_GetItem(__pyx_v_hand1, __pyx_v_count); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 91; goto __pyx_L1;} __pyx_1 = PyObject_RichCompare(__pyx_5, __pyx_3, Py_GT); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 91; goto __pyx_L1;} Py_DECREF(__pyx_5); __pyx_5 = 0; Py_DECREF(__pyx_3); __pyx_3 = 0; } __pyx_7 = __Pyx_PyObject_IsTrue(__pyx_1); if (unlikely(__pyx_7 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 91; goto __pyx_L1;} Py_DECREF(__pyx_1); __pyx_1 = 0; if (__pyx_7) {
92: i = 0
Py_INCREF(__pyx_num_0); Py_DECREF(__pyx_v_i); __pyx_v_i = __pyx_num_0;
93: while i coerce<= count:
while (1) { __pyx_4 = PyObject_RichCompare(__pyx_v_i, __pyx_v_count, Py_LE); if (unlikely(!__pyx_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 93; goto __pyx_L1;} __pyx_2 = __Pyx_PyObject_IsTrue(__pyx_4); if (unlikely(__pyx_2 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 93; goto __pyx_L1;} Py_DECREF(__pyx_4); __pyx_4 = 0; if (!__pyx_2) break;
94: if battles - wars + count coerce<= 25: #adjust initial advantage if still in 1st time through deck
__pyx_5 = __pyx_v_battles; Py_INCREF(__pyx_5); __pyx_3 = PyNumber_Subtract(__pyx_5, __pyx_v_wars); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 94; goto __pyx_L1;} Py_DECREF(__pyx_5); __pyx_5 = 0; __pyx_1 = PyNumber_Add(__pyx_3, __pyx_v_count); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 94; goto __pyx_L1;} Py_DECREF(__pyx_3); __pyx_3 = 0; __pyx_4 = PyObject_RichCompare(__pyx_1, __pyx_num_25, Py_LE); if (unlikely(!__pyx_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 94; goto __pyx_L1;} Py_DECREF(__pyx_1); __pyx_1 = 0; __pyx_7 = __Pyx_PyObject_IsTrue(__pyx_4); if (unlikely(__pyx_7 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 94; goto __pyx_L1;} Py_DECREF(__pyx_4); __pyx_4 = 0; if (__pyx_7) {
95: p1advantage -= hand1[coerce0]
if (PyList_CheckExact(__pyx_v_hand1) && 0 <= 0 && 0 < PyList_GET_SIZE(__pyx_v_hand1)) { __pyx_1 = PyList_GET_ITEM(__pyx_v_hand1, 0); Py_INCREF(__pyx_1); } else if (PyTuple_CheckExact(__pyx_v_hand1) && 0 <= 0 && 0 < PyTuple_GET_SIZE(__pyx_v_hand1)) { __pyx_1 = PyTuple_GET_ITEM(__pyx_v_hand1, 0); Py_INCREF(__pyx_1); } else { __pyx_3 = PyInt_FromLong(0); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 95; goto __pyx_L1;} __pyx_1 = PyObject_GetItem(__pyx_v_hand1, __pyx_3); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 95; goto __pyx_L1;} Py_DECREF(__pyx_3); __pyx_3 = 0; } __pyx_4 = __pyx_v_p1advantage; Py_INCREF(__pyx_4); __pyx_5 = PyNumber_InPlaceSubtract(__pyx_4, __pyx_1); if (unlikely(!__pyx_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 95; goto __pyx_L1;} Py_DECREF(__pyx_1); __pyx_1 = 0; Py_DECREF(__pyx_4); __pyx_4 = 0; Py_DECREF(__pyx_v_p1advantage); __pyx_v_p1advantage = __pyx_5; __pyx_5 = 0; goto __pyx_L24; } __pyx_L24:;
96: hand2.append(hand1[coerce0])
__pyx_3 = PyObject_GetAttr(__pyx_v_hand2, __pyx_n_append); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 96; goto __pyx_L1;} if (PyList_CheckExact(__pyx_v_hand1) && 0 <= 0 && 0 < PyList_GET_SIZE(__pyx_v_hand1)) { __pyx_4 = PyList_GET_ITEM(__pyx_v_hand1, 0); Py_INCREF(__pyx_4); } else if (PyTuple_CheckExact(__pyx_v_hand1) && 0 <= 0 && 0 < PyTuple_GET_SIZE(__pyx_v_hand1)) { __pyx_4 = PyTuple_GET_ITEM(__pyx_v_hand1, 0); Py_INCREF(__pyx_4); } else { __pyx_1 = PyInt_FromLong(0); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 96; goto __pyx_L1;} __pyx_4 = PyObject_GetItem(__pyx_v_hand1, __pyx_1); if (unlikely(!__pyx_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 96; goto __pyx_L1;} Py_DECREF(__pyx_1); __pyx_1 = 0; } __pyx_5 = PyTuple_New(1); if (unlikely(!__pyx_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 96; goto __pyx_L1;} PyTuple_SET_ITEM(__pyx_5, 0, __pyx_4); __pyx_4 = 0; __pyx_1 = PyObject_Call(__pyx_3, __pyx_5, NULL); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 96; goto __pyx_L1;} Py_DECREF(__pyx_3); __pyx_3 = 0; Py_DECREF(__pyx_5); __pyx_5 = 0; Py_DECREF(__pyx_1); __pyx_1 = 0;
97: hand2.append(hand2[coerce0])
__pyx_4 = PyObject_GetAttr(__pyx_v_hand2, __pyx_n_append); if (unlikely(!__pyx_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 97; goto __pyx_L1;} if (PyList_CheckExact(__pyx_v_hand2) && 0 <= 0 && 0 < PyList_GET_SIZE(__pyx_v_hand2)) { __pyx_5 = PyList_GET_ITEM(__pyx_v_hand2, 0); Py_INCREF(__pyx_5); } else if (PyTuple_CheckExact(__pyx_v_hand2) && 0 <= 0 && 0 < PyTuple_GET_SIZE(__pyx_v_hand2)) { __pyx_5 = PyTuple_GET_ITEM(__pyx_v_hand2, 0); Py_INCREF(__pyx_5); } else { __pyx_3 = PyInt_FromLong(0); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 97; goto __pyx_L1;} __pyx_5 = PyObject_GetItem(__pyx_v_hand2, __pyx_3); if (unlikely(!__pyx_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 97; goto __pyx_L1;} Py_DECREF(__pyx_3); __pyx_3 = 0; } __pyx_1 = PyTuple_New(1); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 97; goto __pyx_L1;} PyTuple_SET_ITEM(__pyx_1, 0, __pyx_5); __pyx_5 = 0; __pyx_3 = PyObject_Call(__pyx_4, __pyx_1, NULL); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 97; goto __pyx_L1;} Py_DECREF(__pyx_4); __pyx_4 = 0; Py_DECREF(__pyx_1); __pyx_1 = 0; Py_DECREF(__pyx_3); __pyx_3 = 0;
98: hand2[:1] = []
__pyx_5 = PyList_New(0); if (unlikely(!__pyx_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 98; goto __pyx_L1;} if (PySequence_SetSlice(__pyx_v_hand2, 0, 1, __pyx_5) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 98; goto __pyx_L1;} Py_DECREF(__pyx_5); __pyx_5 = 0;
99: hand1[:1] = []
__pyx_4 = PyList_New(0); if (unlikely(!__pyx_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 99; goto __pyx_L1;} if (PySequence_SetSlice(__pyx_v_hand1, 0, 1, __pyx_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 99; goto __pyx_L1;} Py_DECREF(__pyx_4); __pyx_4 = 0;
100: i += 1
__pyx_3 = __pyx_v_i; Py_INCREF(__pyx_3); __pyx_1 = PyNumber_InPlaceAdd(__pyx_3, __pyx_num_1); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 100; goto __pyx_L1;} Py_DECREF(__pyx_3); __pyx_3 = 0; Py_DECREF(__pyx_v_i); __pyx_v_i = __pyx_1; __pyx_1 = 0; } goto __pyx_L18; } __pyx_L18:; } __pyx_L11:;
101: if len(hand1) == len(hand2):
__pyx_6 = PyObject_Length(__pyx_v_hand1); if (unlikely(__pyx_6 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 101; goto __pyx_L1;} __pyx_8 = PyObject_Length(__pyx_v_hand2); if (unlikely(__pyx_8 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 101; goto __pyx_L1;} __pyx_2 = (__pyx_6 == __pyx_8); if (__pyx_2) {
102: twentysixes += 1
__pyx_4 = __pyx_v_twentysixes; Py_INCREF(__pyx_4); __pyx_5 = PyNumber_InPlaceAdd(__pyx_4, __pyx_num_1); if (unlikely(!__pyx_5)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 102; goto __pyx_L1;} Py_DECREF(__pyx_4); __pyx_4 = 0; Py_DECREF(__pyx_v_twentysixes); __pyx_v_twentysixes = __pyx_5; __pyx_5 = 0; goto __pyx_L25; } __pyx_L25:; }
103: if len(hand1) > len(hand2):
__pyx_6 = PyObject_Length(__pyx_v_hand1); if (unlikely(__pyx_6 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 103; goto __pyx_L1;} __pyx_8 = PyObject_Length(__pyx_v_hand2); if (unlikely(__pyx_8 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 103; goto __pyx_L1;} __pyx_7 = (__pyx_6 > __pyx_8); if (__pyx_7) {
104: winner = 1
Py_INCREF(__pyx_num_1); Py_DECREF(__pyx_v_winner); __pyx_v_winner = __pyx_num_1; goto __pyx_L26; }
105: elif len(hand2) > len(hand1):
__pyx_6 = PyObject_Length(__pyx_v_hand2); if (unlikely(__pyx_6 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 105; goto __pyx_L1;} __pyx_8 = PyObject_Length(__pyx_v_hand1); if (unlikely(__pyx_8 == -1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 105; goto __pyx_L1;} __pyx_2 = (__pyx_6 > __pyx_8); if (__pyx_2) {
106: winner = 2
Py_INCREF(__pyx_num_2); Py_DECREF(__pyx_v_winner); __pyx_v_winner = __pyx_num_2; goto __pyx_L26; } __pyx_L26:;
107:
108: return winner, battles, wars, twentysixes, p1weight, p1advantage
__pyx_3 = PyTuple_New(6); if (unlikely(!__pyx_3)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 108; goto __pyx_L1;} Py_INCREF(__pyx_v_winner); PyTuple_SET_ITEM(__pyx_3, 0, __pyx_v_winner); Py_INCREF(__pyx_v_battles); PyTuple_SET_ITEM(__pyx_3, 1, __pyx_v_battles); Py_INCREF(__pyx_v_wars); PyTuple_SET_ITEM(__pyx_3, 2, __pyx_v_wars); Py_INCREF(__pyx_v_twentysixes); PyTuple_SET_ITEM(__pyx_3, 3, __pyx_v_twentysixes); Py_INCREF(__pyx_v_p1weight); PyTuple_SET_ITEM(__pyx_3, 4, __pyx_v_p1weight); Py_INCREF(__pyx_v_p1advantage); PyTuple_SET_ITEM(__pyx_3, 5, __pyx_v_p1advantage); __pyx_r = __pyx_3; __pyx_3 = 0; goto __pyx_L0; __pyx_r = Py_None; Py_INCREF(Py_None); goto __pyx_L0; __pyx_L1:; Py_XDECREF(__pyx_1); Py_XDECREF(__pyx_3); Py_XDECREF(__pyx_4); Py_XDECREF(__pyx_5); __Pyx_AddTraceback("_home_notebook_sage_notebook_worksheets_admin_30_code_sage4_spyx_0.play_war"); __pyx_r = NULL; __pyx_L0:; Py_DECREF(__pyx_v_i); Py_DECREF(__pyx_v_index); Py_DECREF(__pyx_v_card); Py_DECREF(__pyx_v_hand1); Py_DECREF(__pyx_v_hand2); Py_DECREF(__pyx_v_tie); Py_DECREF(__pyx_v_winner); Py_DECREF(__pyx_v_battles); Py_DECREF(__pyx_v_wars); Py_DECREF(__pyx_v_twentysixes); Py_DECREF(__pyx_v_p1weight); Py_DECREF(__pyx_v_p1advantage); Py_DECREF(__pyx_v_count); Py_DECREF(__pyx_v_exit); return __pyx_r; }
109:
110: def analyze_war(iterations = 1):
static PyObject *__pyx_n_number_games; static PyObject *__pyx_n_hand_winner; static PyObject *__pyx_n_number_battles; static PyObject *__pyx_n_number_wars; static PyObject *__pyx_n_twenty_sixes; static PyObject *__pyx_n_p1_initial_weight; static PyObject *__pyx_n_initial_advantage; static PyObject *__pyx_n_play_war; static PyObject *__pyx_pf_66_home_notebook_sage_notebook_worksheets_admin_30_code_sage4_spyx_0_analyze_war(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_66_home_notebook_sage_notebook_worksheets_admin_30_code_sage4_spyx_0_analyze_war[] = "File: _home_notebook_sage_notebook_worksheets_admin_30_code_sage4_spyx_0.pyx (starting at line 110)"; static PyObject *__pyx_pf_66_home_notebook_sage_notebook_worksheets_admin_30_code_sage4_spyx_0_analyze_war(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_v_iterations = 0; PyObject *__pyx_v_war_data; PyObject *__pyx_v_i; PyObject *__pyx_v_a; PyObject *__pyx_v_b; PyObject *__pyx_v_c; PyObject *__pyx_v_d; PyObject *__pyx_v_e; PyObject *__pyx_v_f; PyObject *__pyx_r; PyObject *__pyx_1 = 0; PyObject *__pyx_2 = 0; int __pyx_3; PyObject *__pyx_4 = 0; static char *__pyx_argnames[] = {"iterations",0}; __pyx_v_iterations = __pyx_num_1; if (likely(!__pyx_kwds) && likely(0 <= PyTuple_GET_SIZE(__pyx_args)) && likely(PyTuple_GET_SIZE(__pyx_args) <= 1)) { if (PyTuple_GET_SIZE(__pyx_args) > 0) { __pyx_v_iterations = PyTuple_GET_ITEM(__pyx_args, 0); } } else { if (unlikely(!PyArg_ParseTupleAndKeywords(__pyx_args, __pyx_kwds, "|O", __pyx_argnames, &__pyx_v_iterations))) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 110; goto __pyx_L2;} } goto __pyx_L3; __pyx_L2:; return NULL; __pyx_L3:; Py_INCREF(__pyx_v_iterations); __pyx_v_war_data = Py_None; Py_INCREF(Py_None); __pyx_v_i = Py_None; Py_INCREF(Py_None); __pyx_v_a = Py_None; Py_INCREF(Py_None); __pyx_v_b = Py_None; Py_INCREF(Py_None); __pyx_v_c = Py_None; Py_INCREF(Py_None); __pyx_v_d = Py_None; Py_INCREF(Py_None); __pyx_v_e = Py_None; Py_INCREF(Py_None); __pyx_v_f = Py_None; Py_INCREF(Py_None); return; __pyx_L1:; Py_XDECREF(__pyx_1); __Pyx_AddTraceback("_home_notebook_sage_notebook_worksheets_admin_30_code_sage4_spyx_0"); }
111: war_data = {"number_games":[],"hand_winner":[],"number_battles":[],"number_wars":[],"twenty_sixes":[],
__pyx_1 = PyDict_New(); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 111; goto __pyx_L1;} __pyx_2 = PyList_New(0); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 111; goto __pyx_L1;} if (PyDict_SetItem(__pyx_1, __pyx_n_number_games, __pyx_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 111; goto __pyx_L1;} Py_DECREF(__pyx_2); __pyx_2 = 0; __pyx_2 = PyList_New(0); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 111; goto __pyx_L1;} if (PyDict_SetItem(__pyx_1, __pyx_n_hand_winner, __pyx_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 111; goto __pyx_L1;} Py_DECREF(__pyx_2); __pyx_2 = 0; __pyx_2 = PyList_New(0); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 111; goto __pyx_L1;} if (PyDict_SetItem(__pyx_1, __pyx_n_number_battles, __pyx_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 111; goto __pyx_L1;} Py_DECREF(__pyx_2); __pyx_2 = 0; __pyx_2 = PyList_New(0); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 111; goto __pyx_L1;} if (PyDict_SetItem(__pyx_1, __pyx_n_number_wars, __pyx_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 111; goto __pyx_L1;} Py_DECREF(__pyx_2); __pyx_2 = 0; __pyx_2 = PyList_New(0); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 111; goto __pyx_L1;} if (PyDict_SetItem(__pyx_1, __pyx_n_twenty_sixes, __pyx_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 111; goto __pyx_L1;} Py_DECREF(__pyx_2); __pyx_2 = 0;
112: "p1_initial_weight":[],"initial_advantage":[]}
__pyx_2 = PyList_New(0); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 112; goto __pyx_L1;} if (PyDict_SetItem(__pyx_1, __pyx_n_p1_initial_weight, __pyx_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 111; goto __pyx_L1;} Py_DECREF(__pyx_2); __pyx_2 = 0; __pyx_2 = PyList_New(0); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 112; goto __pyx_L1;} if (PyDict_SetItem(__pyx_1, __pyx_n_initial_advantage, __pyx_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 111; goto __pyx_L1;} Py_DECREF(__pyx_2); __pyx_2 = 0; Py_DECREF(__pyx_v_war_data); __pyx_v_war_data = __pyx_1; __pyx_1 = 0;
113: war_data["number_games"] = [int(iterations),0]
__pyx_2 = PyTuple_New(1); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 113; goto __pyx_L1;} Py_INCREF(__pyx_v_iterations); PyTuple_SET_ITEM(__pyx_2, 0, __pyx_v_iterations); __pyx_1 = PyObject_Call(((PyObject*)&PyInt_Type), __pyx_2, NULL); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 113; goto __pyx_L1;} Py_DECREF(__pyx_2); __pyx_2 = 0; __pyx_2 = PyList_New(2); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 113; goto __pyx_L1;} PyList_SET_ITEM(__pyx_2, 0, __pyx_1); Py_INCREF(__pyx_num_0); PyList_SET_ITEM(__pyx_2, 1, __pyx_num_0); __pyx_1 = 0; if (PyObject_SetItem(__pyx_v_war_data, __pyx_n_number_games, __pyx_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 113; goto __pyx_L1;} Py_DECREF(__pyx_2); __pyx_2 = 0;
114: i = 0
Py_INCREF(__pyx_num_0); Py_DECREF(__pyx_v_i); __pyx_v_i = __pyx_num_0;
115: while i coerce< iterations:
while (1) { __pyx_1 = PyObject_RichCompare(__pyx_v_i, __pyx_v_iterations, Py_LT); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 115; goto __pyx_L1;} __pyx_3 = __Pyx_PyObject_IsTrue(__pyx_1); if (unlikely(__pyx_3 < 0)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 115; goto __pyx_L1;} Py_DECREF(__pyx_1); __pyx_1 = 0; if (!__pyx_3) break;
116: a, b, c, d, e, f = play_war()
__pyx_2 = __Pyx_GetName(__pyx_m, __pyx_n_play_war); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 116; goto __pyx_L1;} __pyx_1 = PyObject_Call(__pyx_2, __pyx_empty_tuple, NULL); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 116; goto __pyx_L1;} Py_DECREF(__pyx_2); __pyx_2 = 0; if (PyTuple_CheckExact(__pyx_1) && PyTuple_GET_SIZE(__pyx_1) == 6) { PyObject* tuple = __pyx_1; __pyx_4 = PyTuple_GET_ITEM(tuple, 0); Py_INCREF(__pyx_4); Py_DECREF(__pyx_v_a); __pyx_v_a = __pyx_4; __pyx_4 = 0; __pyx_4 = PyTuple_GET_ITEM(tuple, 1); Py_INCREF(__pyx_4); Py_DECREF(__pyx_v_b); __pyx_v_b = __pyx_4; __pyx_4 = 0; __pyx_4 = PyTuple_GET_ITEM(tuple, 2); Py_INCREF(__pyx_4); Py_DECREF(__pyx_v_c); __pyx_v_c = __pyx_4; __pyx_4 = 0; __pyx_4 = PyTuple_GET_ITEM(tuple, 3); Py_INCREF(__pyx_4); Py_DECREF(__pyx_v_d); __pyx_v_d = __pyx_4; __pyx_4 = 0; __pyx_4 = PyTuple_GET_ITEM(tuple, 4); Py_INCREF(__pyx_4); Py_DECREF(__pyx_v_e); __pyx_v_e = __pyx_4; __pyx_4 = 0; __pyx_4 = PyTuple_GET_ITEM(tuple, 5); Py_INCREF(__pyx_4); Py_DECREF(__pyx_v_f); __pyx_v_f = __pyx_4; __pyx_4 = 0; Py_DECREF(__pyx_1); __pyx_1 = 0; } else { __pyx_2 = PyObject_GetIter(__pyx_1); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 116; goto __pyx_L1;} Py_DECREF(__pyx_1); __pyx_1 = 0; __pyx_4 = __Pyx_UnpackItem(__pyx_2); if (unlikely(!__pyx_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 116; goto __pyx_L1;} Py_DECREF(__pyx_v_a); __pyx_v_a = __pyx_4; __pyx_4 = 0; __pyx_4 = __Pyx_UnpackItem(__pyx_2); if (unlikely(!__pyx_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 116; goto __pyx_L1;} Py_DECREF(__pyx_v_b); __pyx_v_b = __pyx_4; __pyx_4 = 0; __pyx_4 = __Pyx_UnpackItem(__pyx_2); if (unlikely(!__pyx_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 116; goto __pyx_L1;} Py_DECREF(__pyx_v_c); __pyx_v_c = __pyx_4; __pyx_4 = 0; __pyx_4 = __Pyx_UnpackItem(__pyx_2); if (unlikely(!__pyx_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 116; goto __pyx_L1;} Py_DECREF(__pyx_v_d); __pyx_v_d = __pyx_4; __pyx_4 = 0; __pyx_4 = __Pyx_UnpackItem(__pyx_2); if (unlikely(!__pyx_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 116; goto __pyx_L1;} Py_DECREF(__pyx_v_e); __pyx_v_e = __pyx_4; __pyx_4 = 0; __pyx_4 = __Pyx_UnpackItem(__pyx_2); if (unlikely(!__pyx_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 116; goto __pyx_L1;} Py_DECREF(__pyx_v_f); __pyx_v_f = __pyx_4; __pyx_4 = 0; if (__Pyx_EndUnpack(__pyx_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 116; goto __pyx_L1;} Py_DECREF(__pyx_2); __pyx_2 = 0; }
117: war_data["hand_winner"].append(int(a))
__pyx_4 = PyObject_GetItem(__pyx_v_war_data, __pyx_n_hand_winner); if (unlikely(!__pyx_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 117; goto __pyx_L1;} __pyx_1 = PyObject_GetAttr(__pyx_4, __pyx_n_append); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 117; goto __pyx_L1;} Py_DECREF(__pyx_4); __pyx_4 = 0; __pyx_2 = PyTuple_New(1); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 117; goto __pyx_L1;} Py_INCREF(__pyx_v_a); PyTuple_SET_ITEM(__pyx_2, 0, __pyx_v_a); __pyx_4 = PyObject_Call(((PyObject*)&PyInt_Type), __pyx_2, NULL); if (unlikely(!__pyx_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 117; goto __pyx_L1;} Py_DECREF(__pyx_2); __pyx_2 = 0; __pyx_2 = PyTuple_New(1); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 117; goto __pyx_L1;} PyTuple_SET_ITEM(__pyx_2, 0, __pyx_4); __pyx_4 = 0; __pyx_4 = PyObject_Call(__pyx_1, __pyx_2, NULL); if (unlikely(!__pyx_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 117; goto __pyx_L1;} Py_DECREF(__pyx_1); __pyx_1 = 0; Py_DECREF(__pyx_2); __pyx_2 = 0; Py_DECREF(__pyx_4); __pyx_4 = 0;
118: war_data["number_battles"].append(int(b))
__pyx_1 = PyObject_GetItem(__pyx_v_war_data, __pyx_n_number_battles); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 118; goto __pyx_L1;} __pyx_2 = PyObject_GetAttr(__pyx_1, __pyx_n_append); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 118; goto __pyx_L1;} Py_DECREF(__pyx_1); __pyx_1 = 0; __pyx_4 = PyTuple_New(1); if (unlikely(!__pyx_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 118; goto __pyx_L1;} Py_INCREF(__pyx_v_b); PyTuple_SET_ITEM(__pyx_4, 0, __pyx_v_b); __pyx_1 = PyObject_Call(((PyObject*)&PyInt_Type), __pyx_4, NULL); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 118; goto __pyx_L1;} Py_DECREF(__pyx_4); __pyx_4 = 0; __pyx_4 = PyTuple_New(1); if (unlikely(!__pyx_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 118; goto __pyx_L1;} PyTuple_SET_ITEM(__pyx_4, 0, __pyx_1); __pyx_1 = 0; __pyx_1 = PyObject_Call(__pyx_2, __pyx_4, NULL); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 118; goto __pyx_L1;} Py_DECREF(__pyx_2); __pyx_2 = 0; Py_DECREF(__pyx_4); __pyx_4 = 0; Py_DECREF(__pyx_1); __pyx_1 = 0;
119: war_data["number_wars"].append(int(c))
__pyx_2 = PyObject_GetItem(__pyx_v_war_data, __pyx_n_number_wars); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 119; goto __pyx_L1;} __pyx_4 = PyObject_GetAttr(__pyx_2, __pyx_n_append); if (unlikely(!__pyx_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 119; goto __pyx_L1;} Py_DECREF(__pyx_2); __pyx_2 = 0; __pyx_1 = PyTuple_New(1); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 119; goto __pyx_L1;} Py_INCREF(__pyx_v_c); PyTuple_SET_ITEM(__pyx_1, 0, __pyx_v_c); __pyx_2 = PyObject_Call(((PyObject*)&PyInt_Type), __pyx_1, NULL); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 119; goto __pyx_L1;} Py_DECREF(__pyx_1); __pyx_1 = 0; __pyx_1 = PyTuple_New(1); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 119; goto __pyx_L1;} PyTuple_SET_ITEM(__pyx_1, 0, __pyx_2); __pyx_2 = 0; __pyx_2 = PyObject_Call(__pyx_4, __pyx_1, NULL); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 119; goto __pyx_L1;} Py_DECREF(__pyx_4); __pyx_4 = 0; Py_DECREF(__pyx_1); __pyx_1 = 0; Py_DECREF(__pyx_2); __pyx_2 = 0;
120: war_data["twenty_sixes"].append(int(d))
__pyx_4 = PyObject_GetItem(__pyx_v_war_data, __pyx_n_twenty_sixes); if (unlikely(!__pyx_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 120; goto __pyx_L1;} __pyx_1 = PyObject_GetAttr(__pyx_4, __pyx_n_append); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 120; goto __pyx_L1;} Py_DECREF(__pyx_4); __pyx_4 = 0; __pyx_2 = PyTuple_New(1); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 120; goto __pyx_L1;} Py_INCREF(__pyx_v_d); PyTuple_SET_ITEM(__pyx_2, 0, __pyx_v_d); __pyx_4 = PyObject_Call(((PyObject*)&PyInt_Type), __pyx_2, NULL); if (unlikely(!__pyx_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 120; goto __pyx_L1;} Py_DECREF(__pyx_2); __pyx_2 = 0; __pyx_2 = PyTuple_New(1); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 120; goto __pyx_L1;} PyTuple_SET_ITEM(__pyx_2, 0, __pyx_4); __pyx_4 = 0; __pyx_4 = PyObject_Call(__pyx_1, __pyx_2, NULL); if (unlikely(!__pyx_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 120; goto __pyx_L1;} Py_DECREF(__pyx_1); __pyx_1 = 0; Py_DECREF(__pyx_2); __pyx_2 = 0; Py_DECREF(__pyx_4); __pyx_4 = 0;
121: war_data["p1_initial_weight"].append(int(e))
__pyx_1 = PyObject_GetItem(__pyx_v_war_data, __pyx_n_p1_initial_weight); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 121; goto __pyx_L1;} __pyx_2 = PyObject_GetAttr(__pyx_1, __pyx_n_append); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 121; goto __pyx_L1;} Py_DECREF(__pyx_1); __pyx_1 = 0; __pyx_4 = PyTuple_New(1); if (unlikely(!__pyx_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 121; goto __pyx_L1;} Py_INCREF(__pyx_v_e); PyTuple_SET_ITEM(__pyx_4, 0, __pyx_v_e); __pyx_1 = PyObject_Call(((PyObject*)&PyInt_Type), __pyx_4, NULL); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 121; goto __pyx_L1;} Py_DECREF(__pyx_4); __pyx_4 = 0; __pyx_4 = PyTuple_New(1); if (unlikely(!__pyx_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 121; goto __pyx_L1;} PyTuple_SET_ITEM(__pyx_4, 0, __pyx_1); __pyx_1 = 0; __pyx_1 = PyObject_Call(__pyx_2, __pyx_4, NULL); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 121; goto __pyx_L1;} Py_DECREF(__pyx_2); __pyx_2 = 0; Py_DECREF(__pyx_4); __pyx_4 = 0; Py_DECREF(__pyx_1); __pyx_1 = 0;
122: war_data["initial_advantage"].append(int(f))
__pyx_2 = PyObject_GetItem(__pyx_v_war_data, __pyx_n_initial_advantage); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 122; goto __pyx_L1;} __pyx_4 = PyObject_GetAttr(__pyx_2, __pyx_n_append); if (unlikely(!__pyx_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 122; goto __pyx_L1;} Py_DECREF(__pyx_2); __pyx_2 = 0; __pyx_1 = PyTuple_New(1); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 122; goto __pyx_L1;} Py_INCREF(__pyx_v_f); PyTuple_SET_ITEM(__pyx_1, 0, __pyx_v_f); __pyx_2 = PyObject_Call(((PyObject*)&PyInt_Type), __pyx_1, NULL); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 122; goto __pyx_L1;} Py_DECREF(__pyx_1); __pyx_1 = 0; __pyx_1 = PyTuple_New(1); if (unlikely(!__pyx_1)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 122; goto __pyx_L1;} PyTuple_SET_ITEM(__pyx_1, 0, __pyx_2); __pyx_2 = 0; __pyx_2 = PyObject_Call(__pyx_4, __pyx_1, NULL); if (unlikely(!__pyx_2)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 122; goto __pyx_L1;} Py_DECREF(__pyx_4); __pyx_4 = 0; Py_DECREF(__pyx_1); __pyx_1 = 0; Py_DECREF(__pyx_2); __pyx_2 = 0;
123: i += 1
__pyx_1 = __pyx_v_i; Py_INCREF(__pyx_1); __pyx_4 = PyNumber_InPlaceAdd(__pyx_1, __pyx_num_1); if (unlikely(!__pyx_4)) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 123; goto __pyx_L1;} Py_DECREF(__pyx_1); __pyx_1 = 0; Py_DECREF(__pyx_v_i); __pyx_v_i = __pyx_4; __pyx_4 = 0; }
124: return war_data
Py_INCREF(__pyx_v_war_data); __pyx_r = __pyx_v_war_data; goto __pyx_L0; __pyx_r = Py_None; Py_INCREF(Py_None); goto __pyx_L0; __pyx_L1:; Py_XDECREF(__pyx_1); Py_XDECREF(__pyx_2); Py_XDECREF(__pyx_4); __Pyx_AddTraceback("_home_notebook_sage_notebook_worksheets_admin_30_code_sage4_spyx_0.analyze_war"); __pyx_r = NULL; __pyx_L0:; Py_DECREF(__pyx_v_war_data); Py_DECREF(__pyx_v_i); Py_DECREF(__pyx_v_a); Py_DECREF(__pyx_v_b); Py_DECREF(__pyx_v_c); Py_DECREF(__pyx_v_d); Py_DECREF(__pyx_v_e); Py_DECREF(__pyx_v_f); Py_DECREF(__pyx_v_iterations); return __pyx_r; }