Generated by Cython 0.29.5
Yellow lines hint at Python interaction.
Click on a line that starts with a "+
" to see the C code that Cython generated for it.
Raw output: cost.c
001: # -*- coding: iso-8859-1 -*-
002: # pyrexc.bat MediteAppli\cost.pyx
003: # compiltation sous cygwin
004: # gcc -c -fPIC -I/usr/include/python2.4 MediteAppli.cost.c
005: # gcc -shared MediteAppli.cost.o -lm -lpython24 -o MediteAppli.cost.dll
006:
007: # ou
008: # gcc -mno-cygwin -mdll -O -Wall -I/usr/local/mingw/include -I/usr/include/python2.4 -c cost.c
+009: import sys, logging
__pyx_t_1 = __Pyx_Import(__pyx_n_s_sys, 0, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 9, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (PyDict_SetItem(__pyx_d, __pyx_n_s_sys, __pyx_t_1) < 0) __PYX_ERR(0, 9, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = __Pyx_Import(__pyx_n_s_logging, 0, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 9, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (PyDict_SetItem(__pyx_d, __pyx_n_s_logging, __pyx_t_1) < 0) __PYX_ERR(0, 9, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+010: import numpy
__pyx_t_1 = __Pyx_Import(__pyx_n_s_numpy, 0, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 10, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (PyDict_SetItem(__pyx_d, __pyx_n_s_numpy, __pyx_t_1) < 0) __PYX_ERR(0, 10, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
011:
+012: def fct_cout(int k, int l,int i, int j,diffSym,coutFixeRepeteT1, coutFixeNonRepeteT1,
/* Python wrapper */ static PyObject *__pyx_pw_8medite40_11MediteAppli_4cost_1fct_cout(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_8medite40_11MediteAppli_4cost_fct_cout[] = " calcul du cout d'un noeud "; static PyMethodDef __pyx_mdef_8medite40_11MediteAppli_4cost_1fct_cout = {"fct_cout", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_8medite40_11MediteAppli_4cost_1fct_cout, METH_VARARGS|METH_KEYWORDS, __pyx_doc_8medite40_11MediteAppli_4cost_fct_cout}; static PyObject *__pyx_pw_8medite40_11MediteAppli_4cost_1fct_cout(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { int __pyx_v_k; int __pyx_v_l; int __pyx_v_i; int __pyx_v_j; PyObject *__pyx_v_diffSym = 0; PyObject *__pyx_v_coutFixeRepeteT1 = 0; PyObject *__pyx_v_coutFixeNonRepeteT1 = 0; PyObject *__pyx_v_coutFixeRepeteT2 = 0; PyObject *__pyx_v_coutFixeNonRepeteT2 = 0; PyObject *__pyx_v_bestValue = 0; PyObject *__pyx_v_dicoMinMax1 = 0; PyObject *__pyx_v_dicoMinMax2 = 0; CYTHON_UNUSED PyObject *__pyx_v_lSuppression = 0; CYTHON_UNUSED PyObject *__pyx_v_lInsertion = 0; PyObject *__pyx_v_arrayRepetT1 = 0; PyObject *__pyx_v_arrayRepetT2 = 0; float __pyx_v_coeffX; float __pyx_v_coeffY; float __pyx_v_coeffZ; int __pyx_v_l_texte1; int __pyx_v_l_texte2; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("fct_cout (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_k,&__pyx_n_s_l,&__pyx_n_s_i,&__pyx_n_s_j,&__pyx_n_s_diffSym,&__pyx_n_s_coutFixeRepeteT1,&__pyx_n_s_coutFixeNonRepeteT1,&__pyx_n_s_coutFixeRepeteT2,&__pyx_n_s_coutFixeNonRepeteT2,&__pyx_n_s_bestValue,&__pyx_n_s_dicoMinMax1,&__pyx_n_s_dicoMinMax2,&__pyx_n_s_lSuppression,&__pyx_n_s_lInsertion,&__pyx_n_s_arrayRepetT1,&__pyx_n_s_arrayRepetT2,&__pyx_n_s_coeffX,&__pyx_n_s_coeffY,&__pyx_n_s_coeffZ,&__pyx_n_s_l_texte1,&__pyx_n_s_l_texte2,0}; PyObject* values[21] = {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}; if (unlikely(__pyx_kwds)) { Py_ssize_t kw_args; const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args); switch (pos_args) { case 21: values[20] = PyTuple_GET_ITEM(__pyx_args, 20); CYTHON_FALLTHROUGH; case 20: values[19] = PyTuple_GET_ITEM(__pyx_args, 19); CYTHON_FALLTHROUGH; case 19: values[18] = PyTuple_GET_ITEM(__pyx_args, 18); CYTHON_FALLTHROUGH; case 18: values[17] = PyTuple_GET_ITEM(__pyx_args, 17); CYTHON_FALLTHROUGH; case 17: values[16] = PyTuple_GET_ITEM(__pyx_args, 16); CYTHON_FALLTHROUGH; case 16: values[15] = PyTuple_GET_ITEM(__pyx_args, 15); CYTHON_FALLTHROUGH; case 15: values[14] = PyTuple_GET_ITEM(__pyx_args, 14); CYTHON_FALLTHROUGH; case 14: values[13] = PyTuple_GET_ITEM(__pyx_args, 13); CYTHON_FALLTHROUGH; case 13: values[12] = PyTuple_GET_ITEM(__pyx_args, 12); CYTHON_FALLTHROUGH; case 12: values[11] = PyTuple_GET_ITEM(__pyx_args, 11); CYTHON_FALLTHROUGH; case 11: values[10] = PyTuple_GET_ITEM(__pyx_args, 10); CYTHON_FALLTHROUGH; case 10: values[9] = PyTuple_GET_ITEM(__pyx_args, 9); CYTHON_FALLTHROUGH; case 9: values[8] = PyTuple_GET_ITEM(__pyx_args, 8); CYTHON_FALLTHROUGH; case 8: values[7] = PyTuple_GET_ITEM(__pyx_args, 7); CYTHON_FALLTHROUGH; case 7: values[6] = PyTuple_GET_ITEM(__pyx_args, 6); CYTHON_FALLTHROUGH; case 6: values[5] = PyTuple_GET_ITEM(__pyx_args, 5); CYTHON_FALLTHROUGH; case 5: values[4] = PyTuple_GET_ITEM(__pyx_args, 4); CYTHON_FALLTHROUGH; case 4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3); CYTHON_FALLTHROUGH; case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2); CYTHON_FALLTHROUGH; case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); CYTHON_FALLTHROUGH; case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); CYTHON_FALLTHROUGH; case 0: break; default: goto __pyx_L5_argtuple_error; } kw_args = PyDict_Size(__pyx_kwds); switch (pos_args) { case 0: if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_k)) != 0)) kw_args--; else goto __pyx_L5_argtuple_error; CYTHON_FALLTHROUGH; case 1: if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_l)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("fct_cout", 1, 21, 21, 1); __PYX_ERR(0, 12, __pyx_L3_error) } CYTHON_FALLTHROUGH; case 2: if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_i)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("fct_cout", 1, 21, 21, 2); __PYX_ERR(0, 12, __pyx_L3_error) } CYTHON_FALLTHROUGH; case 3: if (likely((values[3] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_j)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("fct_cout", 1, 21, 21, 3); __PYX_ERR(0, 12, __pyx_L3_error) } CYTHON_FALLTHROUGH; case 4: if (likely((values[4] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_diffSym)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("fct_cout", 1, 21, 21, 4); __PYX_ERR(0, 12, __pyx_L3_error) } CYTHON_FALLTHROUGH; case 5: if (likely((values[5] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_coutFixeRepeteT1)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("fct_cout", 1, 21, 21, 5); __PYX_ERR(0, 12, __pyx_L3_error) } CYTHON_FALLTHROUGH; case 6: if (likely((values[6] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_coutFixeNonRepeteT1)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("fct_cout", 1, 21, 21, 6); __PYX_ERR(0, 12, __pyx_L3_error) } CYTHON_FALLTHROUGH; case 7: if (likely((values[7] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_coutFixeRepeteT2)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("fct_cout", 1, 21, 21, 7); __PYX_ERR(0, 12, __pyx_L3_error) } CYTHON_FALLTHROUGH; case 8: if (likely((values[8] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_coutFixeNonRepeteT2)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("fct_cout", 1, 21, 21, 8); __PYX_ERR(0, 12, __pyx_L3_error) } CYTHON_FALLTHROUGH; case 9: if (likely((values[9] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_bestValue)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("fct_cout", 1, 21, 21, 9); __PYX_ERR(0, 12, __pyx_L3_error) } CYTHON_FALLTHROUGH; case 10: if (likely((values[10] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_dicoMinMax1)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("fct_cout", 1, 21, 21, 10); __PYX_ERR(0, 12, __pyx_L3_error) } CYTHON_FALLTHROUGH; case 11: if (likely((values[11] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_dicoMinMax2)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("fct_cout", 1, 21, 21, 11); __PYX_ERR(0, 12, __pyx_L3_error) } CYTHON_FALLTHROUGH; case 12: if (likely((values[12] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_lSuppression)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("fct_cout", 1, 21, 21, 12); __PYX_ERR(0, 12, __pyx_L3_error) } CYTHON_FALLTHROUGH; case 13: if (likely((values[13] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_lInsertion)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("fct_cout", 1, 21, 21, 13); __PYX_ERR(0, 12, __pyx_L3_error) } CYTHON_FALLTHROUGH; case 14: if (likely((values[14] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_arrayRepetT1)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("fct_cout", 1, 21, 21, 14); __PYX_ERR(0, 12, __pyx_L3_error) } CYTHON_FALLTHROUGH; case 15: if (likely((values[15] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_arrayRepetT2)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("fct_cout", 1, 21, 21, 15); __PYX_ERR(0, 12, __pyx_L3_error) } CYTHON_FALLTHROUGH; case 16: if (likely((values[16] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_coeffX)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("fct_cout", 1, 21, 21, 16); __PYX_ERR(0, 12, __pyx_L3_error) } CYTHON_FALLTHROUGH; case 17: if (likely((values[17] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_coeffY)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("fct_cout", 1, 21, 21, 17); __PYX_ERR(0, 12, __pyx_L3_error) } CYTHON_FALLTHROUGH; case 18: if (likely((values[18] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_coeffZ)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("fct_cout", 1, 21, 21, 18); __PYX_ERR(0, 12, __pyx_L3_error) } CYTHON_FALLTHROUGH; case 19: if (likely((values[19] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_l_texte1)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("fct_cout", 1, 21, 21, 19); __PYX_ERR(0, 12, __pyx_L3_error) } CYTHON_FALLTHROUGH; case 20: if (likely((values[20] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_l_texte2)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("fct_cout", 1, 21, 21, 20); __PYX_ERR(0, 12, __pyx_L3_error) } } if (unlikely(kw_args > 0)) { if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "fct_cout") < 0)) __PYX_ERR(0, 12, __pyx_L3_error) } } else if (PyTuple_GET_SIZE(__pyx_args) != 21) { goto __pyx_L5_argtuple_error; } else { values[0] = PyTuple_GET_ITEM(__pyx_args, 0); values[1] = PyTuple_GET_ITEM(__pyx_args, 1); values[2] = PyTuple_GET_ITEM(__pyx_args, 2); values[3] = PyTuple_GET_ITEM(__pyx_args, 3); values[4] = PyTuple_GET_ITEM(__pyx_args, 4); values[5] = PyTuple_GET_ITEM(__pyx_args, 5); values[6] = PyTuple_GET_ITEM(__pyx_args, 6); values[7] = PyTuple_GET_ITEM(__pyx_args, 7); values[8] = PyTuple_GET_ITEM(__pyx_args, 8); values[9] = PyTuple_GET_ITEM(__pyx_args, 9); values[10] = PyTuple_GET_ITEM(__pyx_args, 10); values[11] = PyTuple_GET_ITEM(__pyx_args, 11); values[12] = PyTuple_GET_ITEM(__pyx_args, 12); values[13] = PyTuple_GET_ITEM(__pyx_args, 13); values[14] = PyTuple_GET_ITEM(__pyx_args, 14); values[15] = PyTuple_GET_ITEM(__pyx_args, 15); values[16] = PyTuple_GET_ITEM(__pyx_args, 16); values[17] = PyTuple_GET_ITEM(__pyx_args, 17); values[18] = PyTuple_GET_ITEM(__pyx_args, 18); values[19] = PyTuple_GET_ITEM(__pyx_args, 19); values[20] = PyTuple_GET_ITEM(__pyx_args, 20); } __pyx_v_k = __Pyx_PyInt_As_int(values[0]); if (unlikely((__pyx_v_k == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 12, __pyx_L3_error) __pyx_v_l = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_l == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 12, __pyx_L3_error) __pyx_v_i = __Pyx_PyInt_As_int(values[2]); if (unlikely((__pyx_v_i == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 12, __pyx_L3_error) __pyx_v_j = __Pyx_PyInt_As_int(values[3]); if (unlikely((__pyx_v_j == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 12, __pyx_L3_error) __pyx_v_diffSym = values[4]; __pyx_v_coutFixeRepeteT1 = values[5]; __pyx_v_coutFixeNonRepeteT1 = values[6]; __pyx_v_coutFixeRepeteT2 = values[7]; __pyx_v_coutFixeNonRepeteT2 = values[8]; __pyx_v_bestValue = values[9]; __pyx_v_dicoMinMax1 = values[10]; __pyx_v_dicoMinMax2 = values[11]; __pyx_v_lSuppression = values[12]; __pyx_v_lInsertion = values[13]; __pyx_v_arrayRepetT1 = values[14]; __pyx_v_arrayRepetT2 = values[15]; __pyx_v_coeffX = __pyx_PyFloat_AsFloat(values[16]); if (unlikely((__pyx_v_coeffX == (float)-1) && PyErr_Occurred())) __PYX_ERR(0, 15, __pyx_L3_error) __pyx_v_coeffY = __pyx_PyFloat_AsFloat(values[17]); if (unlikely((__pyx_v_coeffY == (float)-1) && PyErr_Occurred())) __PYX_ERR(0, 15, __pyx_L3_error) __pyx_v_coeffZ = __pyx_PyFloat_AsFloat(values[18]); if (unlikely((__pyx_v_coeffZ == (float)-1) && PyErr_Occurred())) __PYX_ERR(0, 15, __pyx_L3_error) __pyx_v_l_texte1 = __Pyx_PyInt_As_int(values[19]); if (unlikely((__pyx_v_l_texte1 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 15, __pyx_L3_error) __pyx_v_l_texte2 = __Pyx_PyInt_As_int(values[20]); if (unlikely((__pyx_v_l_texte2 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 15, __pyx_L3_error) } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; __Pyx_RaiseArgtupleInvalid("fct_cout", 1, 21, 21, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 12, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("medite40.MediteAppli.cost.fct_cout", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; __pyx_r = __pyx_pf_8medite40_11MediteAppli_4cost_fct_cout(__pyx_self, __pyx_v_k, __pyx_v_l, __pyx_v_i, __pyx_v_j, __pyx_v_diffSym, __pyx_v_coutFixeRepeteT1, __pyx_v_coutFixeNonRepeteT1, __pyx_v_coutFixeRepeteT2, __pyx_v_coutFixeNonRepeteT2, __pyx_v_bestValue, __pyx_v_dicoMinMax1, __pyx_v_dicoMinMax2, __pyx_v_lSuppression, __pyx_v_lInsertion, __pyx_v_arrayRepetT1, __pyx_v_arrayRepetT2, __pyx_v_coeffX, __pyx_v_coeffY, __pyx_v_coeffZ, __pyx_v_l_texte1, __pyx_v_l_texte2); /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_8medite40_11MediteAppli_4cost_fct_cout(CYTHON_UNUSED PyObject *__pyx_self, int __pyx_v_k, int __pyx_v_l, int __pyx_v_i, int __pyx_v_j, PyObject *__pyx_v_diffSym, PyObject *__pyx_v_coutFixeRepeteT1, PyObject *__pyx_v_coutFixeNonRepeteT1, PyObject *__pyx_v_coutFixeRepeteT2, PyObject *__pyx_v_coutFixeNonRepeteT2, PyObject *__pyx_v_bestValue, PyObject *__pyx_v_dicoMinMax1, PyObject *__pyx_v_dicoMinMax2, CYTHON_UNUSED PyObject *__pyx_v_lSuppression, CYTHON_UNUSED PyObject *__pyx_v_lInsertion, PyObject *__pyx_v_arrayRepetT1, PyObject *__pyx_v_arrayRepetT2, float __pyx_v_coeffX, float __pyx_v_coeffY, float __pyx_v_coeffZ, int __pyx_v_l_texte1, int __pyx_v_l_texte2) { int __pyx_v_tot_remp1; int __pyx_v_tot_remp2; int __pyx_v_nb_remp1; int __pyx_v_nb_remp2; int __pyx_v_best_cumulINV; int __pyx_v_best_cumulMOV; int __pyx_v_best_cumulINS; int __pyx_v_best_cumulSUP; int __pyx_v_best_cumulREP; int __pyx_v_best_nbINV; int __pyx_v_best_nbMOV; int __pyx_v_best_nbINS; int __pyx_v_best_nbSUP; int __pyx_v_best_nbREP; int __pyx_v_best_inv_max; int __pyx_v_best_mov_max; int __pyx_v_cumulINV; int __pyx_v_cumulMOV; int __pyx_v_cumulINS; int __pyx_v_cumulSUP; int __pyx_v_cumulREP; int __pyx_v_difference_sym; CYTHON_UNUSED int __pyx_v_nb_blocs_diff_sym; int __pyx_v_inv_min_after; CYTHON_UNUSED int __pyx_v_inv_max_after; int __pyx_v_mov_min_after; CYTHON_UNUSED int __pyx_v_mov_max_after; float __pyx_v_g_x; int __pyx_v_h_x; float __pyx_v_f_x; int __pyx_v_current_inv_max; int __pyx_v_nb_mov_added1; int __pyx_v_nb_mov_added2; int __pyx_v_max_mov_added1; int __pyx_v_max_mov_added2; int __pyx_v_current_mov_max; int __pyx_v_nbINV; int __pyx_v_nbMOV; int __pyx_v_nbINS; int __pyx_v_nbSUP; int __pyx_v_nbREP; int __pyx_v_deno; float __pyx_v_f_yINV; float __pyx_v_f_yMOV; int __pyx_v_deno2; float __pyx_v_f_yINS; int __pyx_v_deno1; float __pyx_v_f_ySUP; float __pyx_v_f_yREP; float __pyx_v_f_y; int __pyx_v_denominateur_z1; int __pyx_v_denominateur_z2; float __pyx_v_f_z1; float __pyx_v_f_z2; float __pyx_v_f_z; float __pyx_v_f_temp; float __pyx_v_f; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("fct_cout", 0); /* … */ /* function exit code */ __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_2); __Pyx_XDECREF(__pyx_t_3); __Pyx_XDECREF(__pyx_t_4); __Pyx_XDECREF(__pyx_t_5); __Pyx_XDECREF(__pyx_t_6); __Pyx_XDECREF(__pyx_t_7); __Pyx_XDECREF(__pyx_t_8); __Pyx_XDECREF(__pyx_t_9); __Pyx_XDECREF(__pyx_t_10); __Pyx_XDECREF(__pyx_t_11); __Pyx_XDECREF(__pyx_t_12); __Pyx_XDECREF(__pyx_t_13); __Pyx_XDECREF(__pyx_t_14); __Pyx_XDECREF(__pyx_t_33); __Pyx_AddTraceback("medite40.MediteAppli.cost.fct_cout", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* … */ __pyx_tuple__3 = PyTuple_Pack(78, __pyx_n_s_k, __pyx_n_s_l, __pyx_n_s_i, __pyx_n_s_j, __pyx_n_s_diffSym, __pyx_n_s_coutFixeRepeteT1, __pyx_n_s_coutFixeNonRepeteT1, __pyx_n_s_coutFixeRepeteT2, __pyx_n_s_coutFixeNonRepeteT2, __pyx_n_s_bestValue, __pyx_n_s_dicoMinMax1, __pyx_n_s_dicoMinMax2, __pyx_n_s_lSuppression, __pyx_n_s_lInsertion, __pyx_n_s_arrayRepetT1, __pyx_n_s_arrayRepetT2, __pyx_n_s_coeffX, __pyx_n_s_coeffY, __pyx_n_s_coeffZ, __pyx_n_s_l_texte1, __pyx_n_s_l_texte2, __pyx_n_s_tot_remp1, __pyx_n_s_tot_remp2, __pyx_n_s_nb_remp1, __pyx_n_s_nb_remp2, __pyx_n_s_best_cumulINV, __pyx_n_s_best_cumulMOV, __pyx_n_s_best_cumulINS, __pyx_n_s_best_cumulSUP, __pyx_n_s_best_cumulREP, __pyx_n_s_best_nbINV, __pyx_n_s_best_nbMOV, __pyx_n_s_best_nbINS, __pyx_n_s_best_nbSUP, __pyx_n_s_best_nbREP, __pyx_n_s_best_inv_max, __pyx_n_s_best_mov_max, __pyx_n_s_cumulINV, __pyx_n_s_cumulMOV, __pyx_n_s_cumulINS, __pyx_n_s_cumulSUP, __pyx_n_s_cumulREP, __pyx_n_s_difference_sym, __pyx_n_s_nb_blocs_diff_sym, __pyx_n_s_inv_min_after, __pyx_n_s_inv_max_after, __pyx_n_s_mov_min_after, __pyx_n_s_mov_max_after, __pyx_n_s_g_x, __pyx_n_s_h_x, __pyx_n_s_f_x, __pyx_n_s_current_inv_max, __pyx_n_s_nb_mov_added1, __pyx_n_s_nb_mov_added2, __pyx_n_s_max_mov_added1, __pyx_n_s_max_mov_added2, __pyx_n_s_current_mov_max, __pyx_n_s_nbINV, __pyx_n_s_nbMOV, __pyx_n_s_nbINS, __pyx_n_s_nbSUP, __pyx_n_s_nbREP, __pyx_n_s_deno, __pyx_n_s_f_yINV, __pyx_n_s_f_yMOV, __pyx_n_s_deno2, __pyx_n_s_f_yINS, __pyx_n_s_deno1, __pyx_n_s_f_ySUP, __pyx_n_s_f_yREP, __pyx_n_s_f_y, __pyx_n_s_denominateur_z1, __pyx_n_s_denominateur_z2, __pyx_n_s_f_z1, __pyx_n_s_f_z2, __pyx_n_s_f_z, __pyx_n_s_f_temp, __pyx_n_s_f); if (unlikely(!__pyx_tuple__3)) __PYX_ERR(0, 12, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__3); __Pyx_GIVEREF(__pyx_tuple__3); /* … */ __pyx_t_1 = PyCFunction_NewEx(&__pyx_mdef_8medite40_11MediteAppli_4cost_1fct_cout, NULL, __pyx_n_s_medite40_MediteAppli_cost); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 12, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (PyDict_SetItem(__pyx_d, __pyx_n_s_fct_cout, __pyx_t_1) < 0) __PYX_ERR(0, 12, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_codeobj__4 = (PyObject*)__Pyx_PyCode_New(21, 0, 78, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__3, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_C_meditework_medite40_MediteAppl, __pyx_n_s_fct_cout, 12, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__4)) __PYX_ERR(0, 12, __pyx_L1_error)
013: coutFixeRepeteT2, coutFixeNonRepeteT2,bestValue, dicoMinMax1, dicoMinMax2,
014: lSuppression, lInsertion,arrayRepetT1, arrayRepetT2,
015: float coeffX, float coeffY, float coeffZ, int l_texte1, int l_texte2):
016: """ calcul du cout d'un noeud """
017:
018: #return (0.5, (k,l), (0,0,0,0,0,0,0,0,0,0,0,0))
019:
020: #coeffX, coeffY, coeffZ = coeff
021: #calcRemp = False
022: #if calcRemp:
023: # liste_remp1 = lSuppression[k+1:i] ; liste_remp2 = lInsertion[l+1:j]
024: # if len(liste_remp1) > 0 and len(liste_remp2) > 0:
025: # remp1, remp2 = self.extractRemplacements(liste_remp1, liste_remp2)
026: #tot_remp1 = numarray.sum(remp1) ; tot_remp2 = numarray.sum(remp2)
027: #numarray.where(remp1 > 0, 1, 0, remp1)
028: #numarray.where(remp2 > 0, 1, 0, remp2)
029: #nb_remp1 = numarray.sum(remp1) ; nb_remp2 = numarray.sum(remp2)
030: #tot_remp1 = Numeric.sum(remp1) ; tot_remp2 = Numeric.sum(remp2)
031: #remp1 = Numeric.where(remp1 > 0, 1, 0)
032: #remp2 = Numeric.where(remp2 > 0, 1, 0)
033: #nb_remp1 = Numeric.sum(remp1) ; nb_remp2 = Numeric.sum(remp2)
034: #print remp1, remp2
035: # tot_remp1 = numpy.sum(remp1) ; tot_remp2 = numpy.sum(remp2)
036: # remp1 = numpy.where(remp1 > 0, 1, 0)
037: # remp2 = numpy.where(remp2 > 0, 1, 0)
038: # nb_remp1 = numpy.sum(remp1) ; nb_remp2 = numpy.sum(remp2)
039: # assert nb_remp1 == nb_remp2
040: #print remp1, remp2,tot_remp1, tot_remp2, nb_remp1, nb_remp2
041: # else:
042: # tot_remp1 = tot_remp2 = nb_remp1 = nb_remp2 = 0
043: #else:
044: # tot_remp1 = tot_remp2 = nb_remp1 = nb_remp2 = 0
045: #tot_remp1 = tot_remp2 = nb_remp1 = nb_remp2 = 0
046: cdef int tot_remp1, tot_remp2, nb_remp1, nb_remp2
+047: tot_remp1 = tot_remp2 = nb_remp1 = nb_remp2 = 0
__pyx_v_tot_remp1 = 0; __pyx_v_tot_remp2 = 0; __pyx_v_nb_remp1 = 0; __pyx_v_nb_remp2 = 0;
048: #assert nb_remp1 == nb_remp2
049:
050: cdef int best_cumulINV, best_cumulMOV, best_cumulINS, best_cumulSUP, best_cumulREP, best_nbINV, best_nbMOV, best_nbINS, best_nbSUP, best_nbREP, best_inv_max, best_mov_max
+051: (best_cumulINV, best_cumulMOV, best_cumulINS, best_cumulSUP, best_cumulREP,
__pyx_t_16 = __Pyx_PyInt_As_int(__pyx_t_2); if (unlikely((__pyx_t_16 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 51, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_17 = __Pyx_PyInt_As_int(__pyx_t_3); if (unlikely((__pyx_t_17 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 51, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_18 = __Pyx_PyInt_As_int(__pyx_t_4); if (unlikely((__pyx_t_18 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 51, __pyx_L1_error) __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_19 = __Pyx_PyInt_As_int(__pyx_t_5); if (unlikely((__pyx_t_19 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 51, __pyx_L1_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_20 = __Pyx_PyInt_As_int(__pyx_t_6); if (unlikely((__pyx_t_20 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 51, __pyx_L1_error) __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __pyx_t_21 = __Pyx_PyInt_As_int(__pyx_t_7); if (unlikely((__pyx_t_21 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 51, __pyx_L1_error) __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __pyx_t_22 = __Pyx_PyInt_As_int(__pyx_t_8); if (unlikely((__pyx_t_22 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 51, __pyx_L1_error) __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __pyx_t_23 = __Pyx_PyInt_As_int(__pyx_t_9); if (unlikely((__pyx_t_23 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 51, __pyx_L1_error) __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __pyx_t_24 = __Pyx_PyInt_As_int(__pyx_t_10); if (unlikely((__pyx_t_24 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 51, __pyx_L1_error) __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; __pyx_t_25 = __Pyx_PyInt_As_int(__pyx_t_11); if (unlikely((__pyx_t_25 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 51, __pyx_L1_error) __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; __pyx_t_26 = __Pyx_PyInt_As_int(__pyx_t_12); if (unlikely((__pyx_t_26 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 51, __pyx_L1_error) __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; __pyx_t_27 = __Pyx_PyInt_As_int(__pyx_t_13); if (unlikely((__pyx_t_27 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 51, __pyx_L1_error) __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; __pyx_v_best_cumulINV = __pyx_t_16; __pyx_v_best_cumulMOV = __pyx_t_17; __pyx_v_best_cumulINS = __pyx_t_18; __pyx_v_best_cumulSUP = __pyx_t_19; __pyx_v_best_cumulREP = __pyx_t_20; __pyx_v_best_nbINV = __pyx_t_21; __pyx_v_best_nbMOV = __pyx_t_22; __pyx_v_best_nbINS = __pyx_t_23; __pyx_v_best_nbSUP = __pyx_t_24; __pyx_v_best_nbREP = __pyx_t_25; __pyx_v_best_inv_max = __pyx_t_26; __pyx_v_best_mov_max = __pyx_t_27;
052: best_nbINV, best_nbMOV, best_nbINS, best_nbSUP, best_nbREP, best_inv_max,
+053: best_mov_max) = bestValue[2]
__pyx_t_1 = __Pyx_GetItemInt(__pyx_v_bestValue, 2, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 53, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if ((likely(PyTuple_CheckExact(__pyx_t_1))) || (PyList_CheckExact(__pyx_t_1))) { PyObject* sequence = __pyx_t_1; Py_ssize_t size = __Pyx_PySequence_SIZE(sequence); if (unlikely(size != 12)) { if (size > 12) __Pyx_RaiseTooManyValuesError(12); else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size); __PYX_ERR(0, 51, __pyx_L1_error) } #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS if (likely(PyTuple_CheckExact(sequence))) { __pyx_t_2 = PyTuple_GET_ITEM(sequence, 0); __pyx_t_3 = PyTuple_GET_ITEM(sequence, 1); __pyx_t_4 = PyTuple_GET_ITEM(sequence, 2); __pyx_t_5 = PyTuple_GET_ITEM(sequence, 3); __pyx_t_6 = PyTuple_GET_ITEM(sequence, 4); __pyx_t_7 = PyTuple_GET_ITEM(sequence, 5); __pyx_t_8 = PyTuple_GET_ITEM(sequence, 6); __pyx_t_9 = PyTuple_GET_ITEM(sequence, 7); __pyx_t_10 = PyTuple_GET_ITEM(sequence, 8); __pyx_t_11 = PyTuple_GET_ITEM(sequence, 9); __pyx_t_12 = PyTuple_GET_ITEM(sequence, 10); __pyx_t_13 = PyTuple_GET_ITEM(sequence, 11); } else { __pyx_t_2 = PyList_GET_ITEM(sequence, 0); __pyx_t_3 = PyList_GET_ITEM(sequence, 1); __pyx_t_4 = PyList_GET_ITEM(sequence, 2); __pyx_t_5 = PyList_GET_ITEM(sequence, 3); __pyx_t_6 = PyList_GET_ITEM(sequence, 4); __pyx_t_7 = PyList_GET_ITEM(sequence, 5); __pyx_t_8 = PyList_GET_ITEM(sequence, 6); __pyx_t_9 = PyList_GET_ITEM(sequence, 7); __pyx_t_10 = PyList_GET_ITEM(sequence, 8); __pyx_t_11 = PyList_GET_ITEM(sequence, 9); __pyx_t_12 = PyList_GET_ITEM(sequence, 10); __pyx_t_13 = PyList_GET_ITEM(sequence, 11); } __Pyx_INCREF(__pyx_t_2); __Pyx_INCREF(__pyx_t_3); __Pyx_INCREF(__pyx_t_4); __Pyx_INCREF(__pyx_t_5); __Pyx_INCREF(__pyx_t_6); __Pyx_INCREF(__pyx_t_7); __Pyx_INCREF(__pyx_t_8); __Pyx_INCREF(__pyx_t_9); __Pyx_INCREF(__pyx_t_10); __Pyx_INCREF(__pyx_t_11); __Pyx_INCREF(__pyx_t_12); __Pyx_INCREF(__pyx_t_13); #else { Py_ssize_t i; PyObject** temps[12] = {&__pyx_t_2,&__pyx_t_3,&__pyx_t_4,&__pyx_t_5,&__pyx_t_6,&__pyx_t_7,&__pyx_t_8,&__pyx_t_9,&__pyx_t_10,&__pyx_t_11,&__pyx_t_12,&__pyx_t_13}; for (i=0; i < 12; i++) { PyObject* item = PySequence_ITEM(sequence, i); if (unlikely(!item)) __PYX_ERR(0, 51, __pyx_L1_error) __Pyx_GOTREF(item); *(temps[i]) = item; } } #endif __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; } else { Py_ssize_t index = -1; PyObject** temps[12] = {&__pyx_t_2,&__pyx_t_3,&__pyx_t_4,&__pyx_t_5,&__pyx_t_6,&__pyx_t_7,&__pyx_t_8,&__pyx_t_9,&__pyx_t_10,&__pyx_t_11,&__pyx_t_12,&__pyx_t_13}; __pyx_t_14 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 51, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_14); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_15 = Py_TYPE(__pyx_t_14)->tp_iternext; for (index=0; index < 12; index++) { PyObject* item = __pyx_t_15(__pyx_t_14); if (unlikely(!item)) goto __pyx_L3_unpacking_failed; __Pyx_GOTREF(item); *(temps[index]) = item; } if (__Pyx_IternextUnpackEndCheck(__pyx_t_15(__pyx_t_14), 12) < 0) __PYX_ERR(0, 51, __pyx_L1_error) __pyx_t_15 = NULL; __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; goto __pyx_L4_unpacking_done; __pyx_L3_unpacking_failed:; __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; __pyx_t_15 = NULL; if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index); __PYX_ERR(0, 51, __pyx_L1_error) __pyx_L4_unpacking_done:; }
054:
055: #assert arrayRepetT1[i] == coutFixeRepeteT1[i] - coutFixeRepeteT1[i-1]
056: #assert arrayRepetT2[j] == coutFixeRepeteT2[j] - coutFixeRepeteT2[j-1]
057: cdef int cumulINV
+058: cumulINV = best_cumulINV + ( coutFixeRepeteT1[i] - coutFixeRepeteT1[i-1] +
__pyx_t_1 = __Pyx_PyInt_From_int(__pyx_v_best_cumulINV); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 58, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_13 = __Pyx_GetItemInt(__pyx_v_coutFixeRepeteT1, __pyx_v_i, int, 1, __Pyx_PyInt_From_int, 0, 1, 1); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 58, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_13); __pyx_t_28 = (__pyx_v_i - 1); __pyx_t_12 = __Pyx_GetItemInt(__pyx_v_coutFixeRepeteT1, __pyx_t_28, long, 1, __Pyx_PyInt_From_long, 0, 1, 1); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 58, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); __pyx_t_11 = PyNumber_Subtract(__pyx_t_13, __pyx_t_12); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 58, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; /* … */ __pyx_t_13 = PyNumber_Add(__pyx_t_11, __pyx_t_12); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 58, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_13); __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; /* … */ __pyx_t_12 = PyNumber_Add(__pyx_t_1, __pyx_t_11); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 58, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; __pyx_t_27 = __Pyx_PyInt_As_int(__pyx_t_12); if (unlikely((__pyx_t_27 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 58, __pyx_L1_error) __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; __pyx_v_cumulINV = __pyx_t_27;
+059: coutFixeRepeteT2[j] - coutFixeRepeteT2[j-1] )
__pyx_t_12 = __Pyx_GetItemInt(__pyx_v_coutFixeRepeteT2, __pyx_v_j, int, 1, __Pyx_PyInt_From_int, 0, 1, 1); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 59, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); /* … */ __pyx_t_28 = (__pyx_v_j - 1); __pyx_t_12 = __Pyx_GetItemInt(__pyx_v_coutFixeRepeteT2, __pyx_t_28, long, 1, __Pyx_PyInt_From_long, 0, 1, 1); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 59, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); __pyx_t_11 = PyNumber_Subtract(__pyx_t_13, __pyx_t_12); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 59, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0;
060: #cumulINV = ( coutFixeRepeteT1[i] - coutFixeRepeteT1[i-1] +
061: # coutFixeRepeteT2[j] - coutFixeRepeteT2[j-1] )
062: #assert sum(arrayRepetT1[k+1:i]) == coutFixeRepeteT1[i-1] - coutFixeRepeteT1[k]
063: #assert sum(arrayRepetT2[l+1:j]) == coutFixeRepeteT2[j-1] - coutFixeRepeteT2[l]
064: cdef int cumulMOV
+065: cumulMOV = best_cumulMOV + ( coutFixeRepeteT1[i-1] - coutFixeRepeteT1[k] +
__pyx_t_12 = __Pyx_PyInt_From_int(__pyx_v_best_cumulMOV); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 65, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); __pyx_t_28 = (__pyx_v_i - 1); __pyx_t_11 = __Pyx_GetItemInt(__pyx_v_coutFixeRepeteT1, __pyx_t_28, long, 1, __Pyx_PyInt_From_long, 0, 1, 1); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 65, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); __pyx_t_1 = __Pyx_GetItemInt(__pyx_v_coutFixeRepeteT1, __pyx_v_k, int, 1, __Pyx_PyInt_From_int, 0, 1, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 65, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_13 = PyNumber_Subtract(__pyx_t_11, __pyx_t_1); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 65, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_13); __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; /* … */ __pyx_t_11 = PyNumber_Add(__pyx_t_13, __pyx_t_1); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 65, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; /* … */ __pyx_t_1 = PyNumber_Add(__pyx_t_12, __pyx_t_13); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 65, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; __pyx_t_27 = __Pyx_PyInt_As_int(__pyx_t_1); if (unlikely((__pyx_t_27 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 65, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_v_cumulMOV = __pyx_t_27;
+066: coutFixeRepeteT2[j-1] - coutFixeRepeteT2[l] )
__pyx_t_28 = (__pyx_v_j - 1); __pyx_t_1 = __Pyx_GetItemInt(__pyx_v_coutFixeRepeteT2, __pyx_t_28, long, 1, __Pyx_PyInt_From_long, 0, 1, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 66, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); /* … */ __pyx_t_1 = __Pyx_GetItemInt(__pyx_v_coutFixeRepeteT2, __pyx_v_l, int, 1, __Pyx_PyInt_From_int, 0, 1, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 66, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_13 = PyNumber_Subtract(__pyx_t_11, __pyx_t_1); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 66, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_13); __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
067: #cumulMOV = ( coutFixeRepeteT1[i-1] - coutFixeRepeteT1[k] +
068: # coutFixeRepeteT2[j-1] - coutFixeRepeteT2[l] )
069: #assert coutFixeNonRepeteT2[j] - coutFixeNonRepeteT2[l] - tot_remp2 >= 0,(coutFixeNonRepeteT2[j],coutFixeNonRepeteT2[l],tot_remp2)
070: cdef int cumulINS
+071: cumulINS = best_cumulINS + ( coutFixeNonRepeteT2[j] -
__pyx_t_1 = __Pyx_PyInt_From_int(__pyx_v_best_cumulINS); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 71, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_13 = __Pyx_GetItemInt(__pyx_v_coutFixeNonRepeteT2, __pyx_v_j, int, 1, __Pyx_PyInt_From_int, 0, 1, 1); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 71, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_13); /* … */ __pyx_t_11 = PyNumber_Subtract(__pyx_t_13, __pyx_t_12); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 71, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; __pyx_t_12 = PyNumber_Add(__pyx_t_1, __pyx_t_11); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 71, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; __pyx_t_27 = __Pyx_PyInt_As_int(__pyx_t_12); if (unlikely((__pyx_t_27 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 71, __pyx_L1_error) __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; __pyx_v_cumulINS = __pyx_t_27;
+072: coutFixeNonRepeteT2[l] )#- tot_remp2)
__pyx_t_12 = __Pyx_GetItemInt(__pyx_v_coutFixeNonRepeteT2, __pyx_v_l, int, 1, __Pyx_PyInt_From_int, 0, 1, 1); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 72, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12);
073: #cumulINS = (coutFixeNonRepeteT2[j] -
074: # coutFixeNonRepeteT2[l] )#- tot_remp2)
075: #assert coutFixeNonRepeteT1[i] - coutFixeNonRepeteT1[k] - tot_remp1 >= 0, (coutFixeNonRepeteT1[i], coutFixeNonRepeteT1[k],tot_remp1)
076: cdef int cumulSUP
+077: cumulSUP = best_cumulSUP + ( coutFixeNonRepeteT1[i] -
__pyx_t_12 = __Pyx_PyInt_From_int(__pyx_v_best_cumulSUP); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 77, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); __pyx_t_11 = __Pyx_GetItemInt(__pyx_v_coutFixeNonRepeteT1, __pyx_v_i, int, 1, __Pyx_PyInt_From_int, 0, 1, 1); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 77, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); /* … */ __pyx_t_13 = PyNumber_Subtract(__pyx_t_11, __pyx_t_1); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 77, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_13); __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = PyNumber_Add(__pyx_t_12, __pyx_t_13); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 77, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; __pyx_t_27 = __Pyx_PyInt_As_int(__pyx_t_1); if (unlikely((__pyx_t_27 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 77, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_v_cumulSUP = __pyx_t_27;
+078: coutFixeNonRepeteT1[k])# - tot_remp1)
__pyx_t_1 = __Pyx_GetItemInt(__pyx_v_coutFixeNonRepeteT1, __pyx_v_k, int, 1, __Pyx_PyInt_From_int, 0, 1, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 78, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1);
079: #cumulSUP = ( coutFixeNonRepeteT1[i] -
080: # coutFixeNonRepeteT1[k] )#- tot_remp1)
081: #print cumulSUP, best_cumulSUP,coutFixeNonRepeteT1[i], coutFixeNonRepeteT1[k], tot_remp1
082: #assert tot_remp1 + tot_remp2 >= 0, (tot_remp1, tot_remp2)
083: cdef int cumulREP
+084: cumulREP = best_cumulREP + ( tot_remp1 + tot_remp2 )
__pyx_v_cumulREP = (__pyx_v_best_cumulREP + (__pyx_v_tot_remp1 + __pyx_v_tot_remp2));
085: #cumulREP = 0.0 + ( tot_remp1 + tot_remp2 )
086: #assert best_cumulINV < cumulINV <= self.l_texte1 + self.l_texte2 - cumulMOV, (best_cumulINV, cumulINV, self.l_texte1, self.l_texte2, cumulMOV)
087: #assert best_cumulMOV <= cumulMOV <= self.l_texte1 + self.l_texte2 - cumulINV
088: #assert best_cumulINS <= cumulINS <= self.l_texte2, (best_cumulINS, cumulINS,coutFixeNonRepeteT2[j], coutFixeNonRepeteT2[l],tot_remp2, self.l_texte2)
089: #assert best_cumulSUP <= cumulSUP <= self.l_texte1
090: #a=""assert best_cumulREP <= cumulREP <= self.l_texte1 + self.l_texte2, (best_cumulREP, cumulREP)
091: #""
092: # on calcule les couts totaux f en sommant les couts fixes g et les
093: # couts heuristiques h, tels que f = g + h pour tous les paramètres
094: cdef int difference_sym, nb_blocs_diff_sym, inv_min_after, inv_max_after, mov_min_after, mov_max_after
+095: (difference_sym, nb_blocs_diff_sym, inv_min_after, inv_max_after,
__pyx_t_27 = __Pyx_PyInt_As_int(__pyx_t_12); if (unlikely((__pyx_t_27 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 95, __pyx_L1_error) __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; __pyx_t_26 = __Pyx_PyInt_As_int(__pyx_t_1); if (unlikely((__pyx_t_26 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 95, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_25 = __Pyx_PyInt_As_int(__pyx_t_11); if (unlikely((__pyx_t_25 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 95, __pyx_L1_error) __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; __pyx_t_24 = __Pyx_PyInt_As_int(__pyx_t_10); if (unlikely((__pyx_t_24 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 95, __pyx_L1_error) __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; __pyx_t_23 = __Pyx_PyInt_As_int(__pyx_t_9); if (unlikely((__pyx_t_23 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 95, __pyx_L1_error) __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __pyx_t_22 = __Pyx_PyInt_As_int(__pyx_t_8); if (unlikely((__pyx_t_22 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 95, __pyx_L1_error) __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __pyx_v_difference_sym = __pyx_t_27; __pyx_v_nb_blocs_diff_sym = __pyx_t_26; __pyx_v_inv_min_after = __pyx_t_25; __pyx_v_inv_max_after = __pyx_t_24; __pyx_v_mov_min_after = __pyx_t_23; __pyx_v_mov_max_after = __pyx_t_22;
+096: mov_min_after, mov_max_after) = diffSym[(i,j)]
__pyx_t_1 = __Pyx_PyInt_From_int(__pyx_v_i); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 96, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_13 = __Pyx_PyInt_From_int(__pyx_v_j); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 96, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_13); __pyx_t_12 = PyTuple_New(2); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 96, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); __Pyx_GIVEREF(__pyx_t_1); PyTuple_SET_ITEM(__pyx_t_12, 0, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_13); PyTuple_SET_ITEM(__pyx_t_12, 1, __pyx_t_13); __pyx_t_1 = 0; __pyx_t_13 = 0; __pyx_t_13 = __Pyx_PyObject_GetItem(__pyx_v_diffSym, __pyx_t_12); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 96, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_13); __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; if ((likely(PyTuple_CheckExact(__pyx_t_13))) || (PyList_CheckExact(__pyx_t_13))) { PyObject* sequence = __pyx_t_13; Py_ssize_t size = __Pyx_PySequence_SIZE(sequence); if (unlikely(size != 6)) { if (size > 6) __Pyx_RaiseTooManyValuesError(6); else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size); __PYX_ERR(0, 95, __pyx_L1_error) } #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS if (likely(PyTuple_CheckExact(sequence))) { __pyx_t_12 = PyTuple_GET_ITEM(sequence, 0); __pyx_t_1 = PyTuple_GET_ITEM(sequence, 1); __pyx_t_11 = PyTuple_GET_ITEM(sequence, 2); __pyx_t_10 = PyTuple_GET_ITEM(sequence, 3); __pyx_t_9 = PyTuple_GET_ITEM(sequence, 4); __pyx_t_8 = PyTuple_GET_ITEM(sequence, 5); } else { __pyx_t_12 = PyList_GET_ITEM(sequence, 0); __pyx_t_1 = PyList_GET_ITEM(sequence, 1); __pyx_t_11 = PyList_GET_ITEM(sequence, 2); __pyx_t_10 = PyList_GET_ITEM(sequence, 3); __pyx_t_9 = PyList_GET_ITEM(sequence, 4); __pyx_t_8 = PyList_GET_ITEM(sequence, 5); } __Pyx_INCREF(__pyx_t_12); __Pyx_INCREF(__pyx_t_1); __Pyx_INCREF(__pyx_t_11); __Pyx_INCREF(__pyx_t_10); __Pyx_INCREF(__pyx_t_9); __Pyx_INCREF(__pyx_t_8); #else { Py_ssize_t i; PyObject** temps[6] = {&__pyx_t_12,&__pyx_t_1,&__pyx_t_11,&__pyx_t_10,&__pyx_t_9,&__pyx_t_8}; for (i=0; i < 6; i++) { PyObject* item = PySequence_ITEM(sequence, i); if (unlikely(!item)) __PYX_ERR(0, 95, __pyx_L1_error) __Pyx_GOTREF(item); *(temps[i]) = item; } } #endif __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; } else { Py_ssize_t index = -1; PyObject** temps[6] = {&__pyx_t_12,&__pyx_t_1,&__pyx_t_11,&__pyx_t_10,&__pyx_t_9,&__pyx_t_8}; __pyx_t_7 = PyObject_GetIter(__pyx_t_13); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 95, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; __pyx_t_15 = Py_TYPE(__pyx_t_7)->tp_iternext; for (index=0; index < 6; index++) { PyObject* item = __pyx_t_15(__pyx_t_7); if (unlikely(!item)) goto __pyx_L5_unpacking_failed; __Pyx_GOTREF(item); *(temps[index]) = item; } if (__Pyx_IternextUnpackEndCheck(__pyx_t_15(__pyx_t_7), 6) < 0) __PYX_ERR(0, 95, __pyx_L1_error) __pyx_t_15 = NULL; __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; goto __pyx_L6_unpacking_done; __pyx_L5_unpacking_failed:; __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __pyx_t_15 = NULL; if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index); __PYX_ERR(0, 95, __pyx_L1_error) __pyx_L6_unpacking_done:; }
097: #h_INV = (coutFixeRepeteT1[-1] - coutFixeRepeteT1[i] +
098: # coutFixeRepeteT2[-1] - coutFixeRepeteT2[j] - difference_sym)
099: # cout fixe, paramètre X
100: cdef float g_x
+101: g_x = 0.0 - cumulMOV #+ cumulINV - cumulINS - cumulSUP #- cumulREP
__pyx_v_g_x = (0.0 - __pyx_v_cumulMOV);
102: # cout heuristique, paramètre X
103: cdef int h_x
+104: h_x = + difference_sym #- h_INV #diffSym[(i,j)][0]
__pyx_v_h_x = __pyx_v_difference_sym;
105: # cout total normalisé, paramètre X
106: cdef float f_x
+107: f_x = (1 + (g_x - h_x) / (l_texte1 + l_texte2)) / 2
__pyx_t_29 = (__pyx_v_g_x - __pyx_v_h_x); __pyx_t_22 = (__pyx_v_l_texte1 + __pyx_v_l_texte2); if (unlikely(__pyx_t_22 == 0)) { PyErr_SetString(PyExc_ZeroDivisionError, "float division"); __PYX_ERR(0, 107, __pyx_L1_error) } __pyx_v_f_x = ((1.0 + (__pyx_t_29 / ((float)__pyx_t_22))) / 2.0);
108: #print f_x
109: #assert 0 <= f_x <= 1, f_x
110: # pb indices entre arrayRepetT1 et cumulRepet probably
111: # bloc invariant de taille max entre les précédents et le courant (i,j)
112: cdef int current_inv_max
+113: current_inv_max = max(best_inv_max, arrayRepetT1[i])
__pyx_t_13 = __Pyx_GetItemInt(__pyx_v_arrayRepetT1, __pyx_v_i, int, 1, __Pyx_PyInt_From_int, 0, 1, 1); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 113, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_13); __pyx_t_22 = __pyx_v_best_inv_max; __pyx_t_9 = __Pyx_PyInt_From_int(__pyx_t_22); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 113, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __pyx_t_10 = PyObject_RichCompare(__pyx_t_13, __pyx_t_9, Py_GT); __Pyx_XGOTREF(__pyx_t_10); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 113, __pyx_L1_error) __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __pyx_t_30 = __Pyx_PyObject_IsTrue(__pyx_t_10); if (unlikely(__pyx_t_30 < 0)) __PYX_ERR(0, 113, __pyx_L1_error) __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; if (__pyx_t_30) { __Pyx_INCREF(__pyx_t_13); __pyx_t_8 = __pyx_t_13; } else { __pyx_t_10 = __Pyx_PyInt_From_int(__pyx_t_22); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 113, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __pyx_t_8 = __pyx_t_10; __pyx_t_10 = 0; } __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; __pyx_t_22 = __Pyx_PyInt_As_int(__pyx_t_8); if (unlikely((__pyx_t_22 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 113, __pyx_L1_error) __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __pyx_v_current_inv_max = __pyx_t_22;
114: #current_inv_max = best_inv_max
115: #if current_inv_max < arrayRepetT1[i]: current_inv_max = arrayRepetT1[i]
116: # bloc move de taille max entre les précédents et les courants situés entre (k,l) et (i,j)
117: cdef int nb_mov_added1, nb_mov_added2, max_mov_added1, max_mov_added2
+118: nb_mov_added1 = nb_mov_added2 = max_mov_added1 = max_mov_added2 = 0
__pyx_v_nb_mov_added1 = 0; __pyx_v_nb_mov_added2 = 0; __pyx_v_max_mov_added1 = 0; __pyx_v_max_mov_added2 = 0;
+119: if i - (k+1) > 0:
__pyx_t_30 = (((__pyx_v_i - (__pyx_v_k + 1)) > 0) != 0); if (__pyx_t_30) { /* … */ }
120: #a1 = arrayRepetT1[k+1:i]
121: #max_mov_added1 = numpy.max(a1)
+122: max_mov_added1 = numpy.max(arrayRepetT1[k+1:i])
__Pyx_GetModuleGlobalName(__pyx_t_13, __pyx_n_s_numpy); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 122, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_13); __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_t_13, __pyx_n_s_max); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 122, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; __pyx_t_13 = __Pyx_PyObject_GetSlice(__pyx_v_arrayRepetT1, (__pyx_v_k + 1), __pyx_v_i, NULL, NULL, NULL, 1, 1, 1); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 122, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_13); __pyx_t_9 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_10))) { __pyx_t_9 = PyMethod_GET_SELF(__pyx_t_10); if (likely(__pyx_t_9)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_10); __Pyx_INCREF(__pyx_t_9); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_10, function); } } __pyx_t_8 = (__pyx_t_9) ? __Pyx_PyObject_Call2Args(__pyx_t_10, __pyx_t_9, __pyx_t_13) : __Pyx_PyObject_CallOneArg(__pyx_t_10, __pyx_t_13); __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0; __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 122, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; __pyx_t_22 = __Pyx_PyInt_As_int(__pyx_t_8); if (unlikely((__pyx_t_22 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 122, __pyx_L1_error) __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __pyx_v_max_mov_added1 = __pyx_t_22;
123: #max_mov_added1 = max(arrayRepetT1[k+1:i])
124: #max_mov_added1 = 0
125: #for x in xrange(k+1,i):
126: # if arrayRepetT1[x] > max_mov_added1: max_mov_added1 = arrayRepetT1[x]
+127: nb_mov_added1 = i - (k + 1)
__pyx_v_nb_mov_added1 = (__pyx_v_i - (__pyx_v_k + 1));
128: #nb_mov_added1 = len(a1)
+129: if j - (l+1) > 0:
__pyx_t_30 = (((__pyx_v_j - (__pyx_v_l + 1)) > 0) != 0); if (__pyx_t_30) { /* … */ }
130: #a2 = arrayRepetT2[l+1:j]
131: #max_mov_added2 = numpy.max(a2)
+132: max_mov_added2 = numpy.max(arrayRepetT2[l+1:j])
__Pyx_GetModuleGlobalName(__pyx_t_10, __pyx_n_s_numpy); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 132, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __pyx_t_13 = __Pyx_PyObject_GetAttrStr(__pyx_t_10, __pyx_n_s_max); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 132, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_13); __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; __pyx_t_10 = __Pyx_PyObject_GetSlice(__pyx_v_arrayRepetT2, (__pyx_v_l + 1), __pyx_v_j, NULL, NULL, NULL, 1, 1, 1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 132, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __pyx_t_9 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_13))) { __pyx_t_9 = PyMethod_GET_SELF(__pyx_t_13); if (likely(__pyx_t_9)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_13); __Pyx_INCREF(__pyx_t_9); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_13, function); } } __pyx_t_8 = (__pyx_t_9) ? __Pyx_PyObject_Call2Args(__pyx_t_13, __pyx_t_9, __pyx_t_10) : __Pyx_PyObject_CallOneArg(__pyx_t_13, __pyx_t_10); __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0; __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 132, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; __pyx_t_22 = __Pyx_PyInt_As_int(__pyx_t_8); if (unlikely((__pyx_t_22 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 132, __pyx_L1_error) __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __pyx_v_max_mov_added2 = __pyx_t_22;
133: #max_mov_added2 = max(arrayRepetT2[l+1:j])
134: #max_mov_added2 = 0
135: #for x in xrange(l+1,j):
136: # if arrayRepetT2[x] > max_mov_added2: max_mov_added2 = arrayRepetT2[x]
+137: nb_mov_added2 = j - (l + 1)
__pyx_v_nb_mov_added2 = (__pyx_v_j - (__pyx_v_l + 1));
138: #nb_mov_added2 = len(a2)
139:
140: cdef int current_mov_max
+141: current_mov_max = max(best_mov_max, max_mov_added1, max_mov_added2)
__pyx_t_22 = __pyx_v_max_mov_added1; __pyx_t_23 = __pyx_v_max_mov_added2; __pyx_t_24 = __pyx_v_best_mov_max; if (((__pyx_t_22 > __pyx_t_24) != 0)) { __pyx_t_25 = __pyx_t_22; } else { __pyx_t_25 = __pyx_t_24; } __pyx_t_24 = __pyx_t_25; if (((__pyx_t_23 > __pyx_t_24) != 0)) { __pyx_t_25 = __pyx_t_23; } else { __pyx_t_25 = __pyx_t_24; } __pyx_v_current_mov_max = __pyx_t_25;
142: #current_mov_max = best_mov_max
143: #if current_mov_max < max_mov_added1: current_mov_max = max_mov_added1
144: #if current_mov_max < max_mov_added2: current_mov_max = max_mov_added2
145: #if current_mov_max == 0:
146: # print (k,l),(i,j),best_mov_max, max_mov_added1, max_mov_added2
147: cdef int nbINV, nbMOV, nbINS, nbSUP, nbREP
+148: nbINV = best_nbINV + 2
__pyx_v_nbINV = (__pyx_v_best_nbINV + 2);
149: #nbMOV = best_nbMOV + (i - k - 1) + (j - l -1)
+150: nbMOV = best_nbMOV + nb_mov_added1 + nb_mov_added2
__pyx_v_nbMOV = ((__pyx_v_best_nbMOV + __pyx_v_nb_mov_added1) + __pyx_v_nb_mov_added2);
+151: nbINS = best_nbINS + (j - l) - nb_remp2
__pyx_v_nbINS = ((__pyx_v_best_nbINS + (__pyx_v_j - __pyx_v_l)) - __pyx_v_nb_remp2);
+152: nbSUP = best_nbSUP + (i - k) - nb_remp1
__pyx_v_nbSUP = ((__pyx_v_best_nbSUP + (__pyx_v_i - __pyx_v_k)) - __pyx_v_nb_remp1);
+153: nbREP = best_nbREP + nb_remp1 + nb_remp2
__pyx_v_nbREP = ((__pyx_v_best_nbREP + __pyx_v_nb_remp1) + __pyx_v_nb_remp2);
154: # couts totaux, paramètres Yi
155: #if current_inv_max == 0:
156: # print (k,l),(i,j),arrayRepetT1[i]
157: cdef int deno
+158: deno = max(current_inv_max, inv_min_after)
__pyx_t_25 = __pyx_v_inv_min_after; __pyx_t_22 = __pyx_v_current_inv_max; if (((__pyx_t_25 > __pyx_t_22) != 0)) { __pyx_t_23 = __pyx_t_25; } else { __pyx_t_23 = __pyx_t_22; } __pyx_v_deno = __pyx_t_23;
159: #deno = current_inv_max
160: #if deno < inv_min_after: deno = inv_min_after
161: cdef float f_yINV
+162: f_yINV = ((0.0 + cumulINV + inv_min_after) / (nbINV +2)) / deno
__pyx_t_31 = ((0.0 + __pyx_v_cumulINV) + __pyx_v_inv_min_after); __pyx_t_28 = (__pyx_v_nbINV + 2); if (unlikely(__pyx_t_28 == 0)) { PyErr_SetString(PyExc_ZeroDivisionError, "float division"); __PYX_ERR(0, 162, __pyx_L1_error) } __pyx_t_32 = (__pyx_t_31 / ((double)__pyx_t_28)); if (unlikely(__pyx_v_deno == 0)) { PyErr_SetString(PyExc_ZeroDivisionError, "float division"); __PYX_ERR(0, 162, __pyx_L1_error) } __pyx_v_f_yINV = (__pyx_t_32 / ((double)__pyx_v_deno));
163: #assert 0 < f_yINV <= 1, ((k,l),(i,j),f_yINV, cumulINV, inv_min_after, nbINV,current_inv_max,arrayRepetT1[:i+1],arrayRepetT2[:j+1])
164:
165: #print (cumulMOV, mov_min_after, (nbMOV + 2),current_mov_max)
166: cdef float f_yMOV
+167: if current_mov_max == 0: f_yMOV = 0
__pyx_t_30 = ((__pyx_v_current_mov_max == 0) != 0); if (__pyx_t_30) { __pyx_v_f_yMOV = 0.0; goto __pyx_L9; }
+168: else: f_yMOV = ((cumulMOV + mov_min_after) / (nbMOV + 2)) / (current_mov_max)
/*else*/ { __pyx_t_23 = (__pyx_v_cumulMOV + __pyx_v_mov_min_after); __pyx_t_28 = (__pyx_v_nbMOV + 2); if (unlikely(__pyx_t_28 == 0)) { PyErr_SetString(PyExc_ZeroDivisionError, "float division"); __PYX_ERR(0, 168, __pyx_L1_error) } __pyx_t_32 = (((double)__pyx_t_23) / ((double)__pyx_t_28)); if (unlikely(__pyx_v_current_mov_max == 0)) { PyErr_SetString(PyExc_ZeroDivisionError, "float division"); __PYX_ERR(0, 168, __pyx_L1_error) } __pyx_v_f_yMOV = (__pyx_t_32 / ((double)__pyx_v_current_mov_max)); } __pyx_L9:;
169: #else: f_yMOV = ((cumulMOV + diff_sym) / (nbMOV + nb_blocs_diff_sym)) / (current_mov_max)
170:
171: #logging.debug(dicoMinMax2)
172: cdef int deno2
173: cdef float f_yINS
+174: deno2 = max(dicoMinMax2[1][j], dicoMinMax2[2][j])
__pyx_t_8 = __Pyx_GetItemInt(__pyx_v_dicoMinMax2, 2, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 174, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __pyx_t_13 = __Pyx_GetItemInt(__pyx_t_8, __pyx_v_j, int, 1, __Pyx_PyInt_From_int, 0, 1, 1); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 174, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_13); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __pyx_t_8 = __Pyx_GetItemInt(__pyx_v_dicoMinMax2, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 174, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __pyx_t_10 = __Pyx_GetItemInt(__pyx_t_8, __pyx_v_j, int, 1, __Pyx_PyInt_From_int, 0, 1, 1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 174, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __pyx_t_9 = PyObject_RichCompare(__pyx_t_13, __pyx_t_10, Py_GT); __Pyx_XGOTREF(__pyx_t_9); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 174, __pyx_L1_error) __pyx_t_30 = __Pyx_PyObject_IsTrue(__pyx_t_9); if (unlikely(__pyx_t_30 < 0)) __PYX_ERR(0, 174, __pyx_L1_error) __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; if (__pyx_t_30) { __Pyx_INCREF(__pyx_t_13); __pyx_t_8 = __pyx_t_13; } else { __Pyx_INCREF(__pyx_t_10); __pyx_t_8 = __pyx_t_10; } __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; __pyx_t_23 = __Pyx_PyInt_As_int(__pyx_t_8); if (unlikely((__pyx_t_23 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 174, __pyx_L1_error) __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __pyx_v_deno2 = __pyx_t_23;
175: #deno2 = dicoMinMax2[1][j]
176: #if deno2 < dicoMinMax2[2][j]: deno2 = dicoMinMax2[2][j]
+177: if deno2 == 0: f_yINS = 0
__pyx_t_30 = ((__pyx_v_deno2 == 0) != 0); if (__pyx_t_30) { __pyx_v_f_yINS = 0.0; goto __pyx_L10; }
+178: else: f_yINS = ((cumulINS + dicoMinMax2[2][j]) / (nbINS + 1)) / (deno2)
/*else*/ { __pyx_t_8 = __Pyx_PyInt_From_int(__pyx_v_cumulINS); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 178, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __pyx_t_13 = __Pyx_GetItemInt(__pyx_v_dicoMinMax2, 2, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 178, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_13); __pyx_t_10 = __Pyx_GetItemInt(__pyx_t_13, __pyx_v_j, int, 1, __Pyx_PyInt_From_int, 0, 1, 1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 178, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; __pyx_t_13 = PyNumber_Add(__pyx_t_8, __pyx_t_10); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 178, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_13); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; __pyx_t_10 = __Pyx_PyInt_From_long((__pyx_v_nbINS + 1)); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 178, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __pyx_t_8 = __Pyx_PyNumber_Divide(__pyx_t_13, __pyx_t_10); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 178, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; __pyx_t_10 = __Pyx_PyInt_From_int(__pyx_v_deno2); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 178, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __pyx_t_13 = __Pyx_PyNumber_Divide(__pyx_t_8, __pyx_t_10); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 178, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_13); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; __pyx_t_29 = __pyx_PyFloat_AsFloat(__pyx_t_13); if (unlikely((__pyx_t_29 == (float)-1) && PyErr_Occurred())) __PYX_ERR(0, 178, __pyx_L1_error) __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; __pyx_v_f_yINS = __pyx_t_29; } __pyx_L10:;
179: #print (k,l),(i,j),f_yINS,(cumulINS, dicoMinMax2[2][j],(nbINS + 1),(dicoMinMax2[1][j],dicoMinMax2[2][j]))
180:
181: #print (cumulSUP, dicoMinMax1[2][i],(nbSUP + 1)),(dicoMinMax1[1][i],dicoMinMax1[2][i])
182: cdef int deno1
183: cdef float f_ySUP
+184: deno1 = max(dicoMinMax1[1][i], dicoMinMax1[2][i])
__pyx_t_13 = __Pyx_GetItemInt(__pyx_v_dicoMinMax1, 2, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 184, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_13); __pyx_t_10 = __Pyx_GetItemInt(__pyx_t_13, __pyx_v_i, int, 1, __Pyx_PyInt_From_int, 0, 1, 1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 184, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; __pyx_t_13 = __Pyx_GetItemInt(__pyx_v_dicoMinMax1, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 184, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_13); __pyx_t_8 = __Pyx_GetItemInt(__pyx_t_13, __pyx_v_i, int, 1, __Pyx_PyInt_From_int, 0, 1, 1); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 184, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; __pyx_t_9 = PyObject_RichCompare(__pyx_t_10, __pyx_t_8, Py_GT); __Pyx_XGOTREF(__pyx_t_9); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 184, __pyx_L1_error) __pyx_t_30 = __Pyx_PyObject_IsTrue(__pyx_t_9); if (unlikely(__pyx_t_30 < 0)) __PYX_ERR(0, 184, __pyx_L1_error) __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; if (__pyx_t_30) { __Pyx_INCREF(__pyx_t_10); __pyx_t_13 = __pyx_t_10; } else { __Pyx_INCREF(__pyx_t_8); __pyx_t_13 = __pyx_t_8; } __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; __pyx_t_23 = __Pyx_PyInt_As_int(__pyx_t_13); if (unlikely((__pyx_t_23 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 184, __pyx_L1_error) __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; __pyx_v_deno1 = __pyx_t_23;
185: #deno1 = dicoMinMax1[1][i]
186: #if deno1 < dicoMinMax1[2][i]: deno1 = dicoMinMax1[2][i]
+187: if deno1 == 0: f_ySUP = 0
__pyx_t_30 = ((__pyx_v_deno1 == 0) != 0); if (__pyx_t_30) { __pyx_v_f_ySUP = 0.0; goto __pyx_L11; }
+188: else: f_ySUP = ((cumulSUP + dicoMinMax1[2][i]) / (nbSUP + 1)) / (deno1)
/*else*/ { __pyx_t_13 = __Pyx_PyInt_From_int(__pyx_v_cumulSUP); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 188, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_13); __pyx_t_10 = __Pyx_GetItemInt(__pyx_v_dicoMinMax1, 2, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 188, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __pyx_t_8 = __Pyx_GetItemInt(__pyx_t_10, __pyx_v_i, int, 1, __Pyx_PyInt_From_int, 0, 1, 1); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 188, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; __pyx_t_10 = PyNumber_Add(__pyx_t_13, __pyx_t_8); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 188, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __pyx_t_8 = __Pyx_PyInt_From_long((__pyx_v_nbSUP + 1)); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 188, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __pyx_t_13 = __Pyx_PyNumber_Divide(__pyx_t_10, __pyx_t_8); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 188, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_13); __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __pyx_t_8 = __Pyx_PyInt_From_int(__pyx_v_deno1); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 188, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __pyx_t_10 = __Pyx_PyNumber_Divide(__pyx_t_13, __pyx_t_8); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 188, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __pyx_t_29 = __pyx_PyFloat_AsFloat(__pyx_t_10); if (unlikely((__pyx_t_29 == (float)-1) && PyErr_Occurred())) __PYX_ERR(0, 188, __pyx_L1_error) __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; __pyx_v_f_ySUP = __pyx_t_29; } __pyx_L11:;
189:
190: #if max(dicoMinMax2[1][j],dicoMinMax1[1][i],dicoMinMax2[2][j],dicoMinMax1[2][i]) == 0: f_yREP = 0
191: cdef float f_yREP
+192: if deno1+deno2 == 0: f_yREP = 0
__pyx_t_30 = (((__pyx_v_deno1 + __pyx_v_deno2) == 0) != 0); if (__pyx_t_30) { __pyx_v_f_yREP = 0.0; goto __pyx_L12; }
+193: else: f_yREP = (((cumulREP + dicoMinMax2[2][j] + dicoMinMax1[2][i]) / (nbREP + 2)) /
/*else*/ { __pyx_t_10 = __Pyx_PyInt_From_int(__pyx_v_cumulREP); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 193, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __pyx_t_8 = __Pyx_GetItemInt(__pyx_v_dicoMinMax2, 2, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 193, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __pyx_t_13 = __Pyx_GetItemInt(__pyx_t_8, __pyx_v_j, int, 1, __Pyx_PyInt_From_int, 0, 1, 1); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 193, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_13); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __pyx_t_8 = PyNumber_Add(__pyx_t_10, __pyx_t_13); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 193, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; __pyx_t_13 = __Pyx_GetItemInt(__pyx_v_dicoMinMax1, 2, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 193, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_13); __pyx_t_10 = __Pyx_GetItemInt(__pyx_t_13, __pyx_v_i, int, 1, __Pyx_PyInt_From_int, 0, 1, 1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 193, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; __pyx_t_13 = PyNumber_Add(__pyx_t_8, __pyx_t_10); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 193, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_13); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; __pyx_t_10 = __Pyx_PyInt_From_long((__pyx_v_nbREP + 2)); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 193, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __pyx_t_8 = __Pyx_PyNumber_Divide(__pyx_t_13, __pyx_t_10); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 193, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; /* … */ __pyx_t_13 = __Pyx_PyNumber_Divide(__pyx_t_8, __pyx_t_10); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 193, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_13); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; __pyx_t_29 = __pyx_PyFloat_AsFloat(__pyx_t_13); if (unlikely((__pyx_t_29 == (float)-1) && PyErr_Occurred())) __PYX_ERR(0, 193, __pyx_L1_error) __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; __pyx_v_f_yREP = __pyx_t_29; } __pyx_L12:;
+194: (deno1+deno2))
__pyx_t_10 = __Pyx_PyInt_From_int((__pyx_v_deno1 + __pyx_v_deno2)); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 194, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10);
195: # cout total normalis�, param�tre Y
196: cdef float f_y
+197: f_y = (f_yINV + f_yMOV + f_yINS + f_ySUP + f_yREP) / 5
__pyx_v_f_y = (((((__pyx_v_f_yINV + __pyx_v_f_yMOV) + __pyx_v_f_yINS) + __pyx_v_f_ySUP) + __pyx_v_f_yREP) / 5.0);
198: #print (k,l),(i,j),(f_y, (f_yINV, f_yMOV, f_yINS, f_ySUP, f_yREP))
199: #assert 0 <= f_y <= 1, (f_y, (f_yINV, f_yMOV, f_yINS, f_ySUP, f_yREP))
200:
201: # cout total normalisé, paramètre Z1
202: cdef int denominateur_z1, denominateur_z2 #, dd
203: cdef float f_z1, f_z2, f_z, f_temp, f
+204: denominateur_z1 = ((cumulINS+ dicoMinMax2[2][j]) +
__pyx_t_13 = __Pyx_PyInt_From_int(__pyx_v_cumulINS); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 204, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_13); __pyx_t_10 = __Pyx_GetItemInt(__pyx_v_dicoMinMax2, 2, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 204, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __pyx_t_8 = __Pyx_GetItemInt(__pyx_t_10, __pyx_v_j, int, 1, __Pyx_PyInt_From_int, 0, 1, 1); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 204, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; __pyx_t_10 = PyNumber_Add(__pyx_t_13, __pyx_t_8); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 204, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; /* … */ __pyx_t_9 = PyNumber_Add(__pyx_t_10, __pyx_t_13); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 204, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0;
+205: (cumulSUP + dicoMinMax1[2][i]) +
__pyx_t_8 = __Pyx_PyInt_From_int(__pyx_v_cumulSUP); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 205, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __pyx_t_13 = __Pyx_GetItemInt(__pyx_v_dicoMinMax1, 2, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 205, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_13); __pyx_t_9 = __Pyx_GetItemInt(__pyx_t_13, __pyx_v_i, int, 1, __Pyx_PyInt_From_int, 0, 1, 1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 205, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; __pyx_t_13 = PyNumber_Add(__pyx_t_8, __pyx_t_9); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 205, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_13); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; /* … */ __pyx_t_13 = PyNumber_Add(__pyx_t_9, __pyx_t_8); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 205, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_13); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0;
+206: (cumulREP + dicoMinMax2[2][j] + dicoMinMax1[2][i]) +
__pyx_t_13 = __Pyx_PyInt_From_int(__pyx_v_cumulREP); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 206, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_13); __pyx_t_10 = __Pyx_GetItemInt(__pyx_v_dicoMinMax2, 2, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 206, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __pyx_t_8 = __Pyx_GetItemInt(__pyx_t_10, __pyx_v_j, int, 1, __Pyx_PyInt_From_int, 0, 1, 1); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 206, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; __pyx_t_10 = PyNumber_Add(__pyx_t_13, __pyx_t_8); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 206, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __pyx_t_8 = __Pyx_GetItemInt(__pyx_v_dicoMinMax1, 2, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 206, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __pyx_t_13 = __Pyx_GetItemInt(__pyx_t_8, __pyx_v_i, int, 1, __Pyx_PyInt_From_int, 0, 1, 1); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 206, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_13); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __pyx_t_8 = PyNumber_Add(__pyx_t_10, __pyx_t_13); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 206, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; /* … */ __pyx_t_9 = PyNumber_Add(__pyx_t_13, __pyx_t_8); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 206, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __pyx_t_23 = __Pyx_PyInt_As_int(__pyx_t_9); if (unlikely((__pyx_t_23 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 206, __pyx_L1_error) __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __pyx_v_denominateur_z1 = __pyx_t_23;
+207: (cumulMOV + mov_min_after))
__pyx_t_8 = __Pyx_PyInt_From_int((__pyx_v_cumulMOV + __pyx_v_mov_min_after)); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 207, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8);
208: #dd = dicoMinMax2[2][j] + dicoMinMax1[2][i] + dicoMinMax2[2][j] + dicoMinMax1[2][i] + mov_min_after
209: #denominateur_z1 = denominateur_z1 + dd
+210: if denominateur_z1 == 0: f_z1 = 0
__pyx_t_30 = ((__pyx_v_denominateur_z1 == 0) != 0); if (__pyx_t_30) { __pyx_v_f_z1 = 0.0; goto __pyx_L13; }
+211: else: f_z1 = (1.0 + cumulMOV + mov_min_after) / denominateur_z1
/*else*/ { __pyx_t_32 = ((1.0 + __pyx_v_cumulMOV) + __pyx_v_mov_min_after); if (unlikely(__pyx_v_denominateur_z1 == 0)) { PyErr_SetString(PyExc_ZeroDivisionError, "float division"); __PYX_ERR(0, 211, __pyx_L1_error) } __pyx_v_f_z1 = (__pyx_t_32 / ((double)__pyx_v_denominateur_z1)); } __pyx_L13:;
212: # cout total normalisé, paramètre Z2
+213: denominateur_z2 = ((cumulINS + dicoMinMax2[2][j]) +
__pyx_t_9 = __Pyx_PyInt_From_int(__pyx_v_cumulINS); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 213, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __pyx_t_8 = __Pyx_GetItemInt(__pyx_v_dicoMinMax2, 2, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 213, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __pyx_t_13 = __Pyx_GetItemInt(__pyx_t_8, __pyx_v_j, int, 1, __Pyx_PyInt_From_int, 0, 1, 1); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 213, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_13); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __pyx_t_8 = PyNumber_Add(__pyx_t_9, __pyx_t_13); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 213, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; /* … */ __pyx_t_10 = PyNumber_Add(__pyx_t_8, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 213, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0;
+214: (cumulSUP + dicoMinMax1[2][i]) + (cumulREP + dicoMinMax2[2][j] + dicoMinMax1[2][i]))
__pyx_t_13 = __Pyx_PyInt_From_int(__pyx_v_cumulSUP); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 214, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_13); __pyx_t_9 = __Pyx_GetItemInt(__pyx_v_dicoMinMax1, 2, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 214, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __pyx_t_10 = __Pyx_GetItemInt(__pyx_t_9, __pyx_v_i, int, 1, __Pyx_PyInt_From_int, 0, 1, 1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 214, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __pyx_t_9 = PyNumber_Add(__pyx_t_13, __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 214, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; /* … */ __pyx_t_9 = __Pyx_PyInt_From_int(__pyx_v_cumulREP); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 214, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __pyx_t_8 = __Pyx_GetItemInt(__pyx_v_dicoMinMax2, 2, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 214, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __pyx_t_13 = __Pyx_GetItemInt(__pyx_t_8, __pyx_v_j, int, 1, __Pyx_PyInt_From_int, 0, 1, 1); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 214, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_13); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __pyx_t_8 = PyNumber_Add(__pyx_t_9, __pyx_t_13); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 214, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; __pyx_t_13 = __Pyx_GetItemInt(__pyx_v_dicoMinMax1, 2, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 214, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_13); __pyx_t_9 = __Pyx_GetItemInt(__pyx_t_13, __pyx_v_i, int, 1, __Pyx_PyInt_From_int, 0, 1, 1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 214, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; __pyx_t_13 = PyNumber_Add(__pyx_t_8, __pyx_t_9); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 214, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_13); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __pyx_t_9 = PyNumber_Add(__pyx_t_10, __pyx_t_13); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 214, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; __pyx_t_23 = __Pyx_PyInt_As_int(__pyx_t_9); if (unlikely((__pyx_t_23 == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 214, __pyx_L1_error) __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __pyx_v_denominateur_z2 = __pyx_t_23;
215: #dd = dicoMinMax2[2][j] + dicoMinMax1[2][i] + dicoMinMax2[2][j] + dicoMinMax1[2][i]
216: #denominateur_z2 = cumulINS + cumulSUP + dd
+217: if denominateur_z2 == 0: f_z2 = 0
__pyx_t_30 = ((__pyx_v_denominateur_z2 == 0) != 0); if (__pyx_t_30) { __pyx_v_f_z2 = 0.0; goto __pyx_L14; }
+218: else: f_z2 = (1.0 + cumulREP + dicoMinMax2[2][j] + dicoMinMax1[2][i]) / (denominateur_z2)
/*else*/ { __pyx_t_9 = PyFloat_FromDouble((1.0 + __pyx_v_cumulREP)); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 218, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __pyx_t_13 = __Pyx_GetItemInt(__pyx_v_dicoMinMax2, 2, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 218, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_13); __pyx_t_10 = __Pyx_GetItemInt(__pyx_t_13, __pyx_v_j, int, 1, __Pyx_PyInt_From_int, 0, 1, 1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 218, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; __pyx_t_13 = PyNumber_Add(__pyx_t_9, __pyx_t_10); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 218, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_13); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; __pyx_t_10 = __Pyx_GetItemInt(__pyx_v_dicoMinMax1, 2, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 218, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __pyx_t_9 = __Pyx_GetItemInt(__pyx_t_10, __pyx_v_i, int, 1, __Pyx_PyInt_From_int, 0, 1, 1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 218, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; __pyx_t_10 = PyNumber_Add(__pyx_t_13, __pyx_t_9); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 218, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __pyx_t_9 = __Pyx_PyInt_From_int(__pyx_v_denominateur_z2); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 218, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __pyx_t_13 = __Pyx_PyNumber_Divide(__pyx_t_10, __pyx_t_9); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 218, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_13); __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __pyx_t_29 = __pyx_PyFloat_AsFloat(__pyx_t_13); if (unlikely((__pyx_t_29 == (float)-1) && PyErr_Occurred())) __PYX_ERR(0, 218, __pyx_L1_error) __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; __pyx_v_f_z2 = __pyx_t_29; } __pyx_L14:;
219: # cout total normalis�, param�tre Z
+220: f_z = (f_z1 + f_z2) / 2
__pyx_v_f_z = ((__pyx_v_f_z1 + __pyx_v_f_z2) / 2.0);
221:
+222: f_temp = (coeffX * f_x + coeffY * f_y + coeffZ * f_z)
__pyx_v_f_temp = (((__pyx_v_coeffX * __pyx_v_f_x) + (__pyx_v_coeffY * __pyx_v_f_y)) + (__pyx_v_coeffZ * __pyx_v_f_z));
223: #assert 0 <= f_temp <= 1
+224: if f_temp == 0: f_temp = 1.0 / sys.maxint
__pyx_t_30 = ((__pyx_v_f_temp == 0.0) != 0); if (__pyx_t_30) { __Pyx_GetModuleGlobalName(__pyx_t_13, __pyx_n_s_sys); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 224, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_13); __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_t_13, __pyx_n_s_maxint); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 224, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; __pyx_t_13 = __Pyx_PyFloat_TrueDivideCObj(__pyx_float_1_0, __pyx_t_9, 1.0, 0, 1); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 224, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_13); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __pyx_t_29 = __pyx_PyFloat_AsFloat(__pyx_t_13); if (unlikely((__pyx_t_29 == (float)-1) && PyErr_Occurred())) __PYX_ERR(0, 224, __pyx_L1_error) __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; __pyx_v_f_temp = __pyx_t_29; }
+225: f = 1.0 / f_temp # f_temp #
if (unlikely(__pyx_v_f_temp == 0)) { PyErr_SetString(PyExc_ZeroDivisionError, "float division"); __PYX_ERR(0, 225, __pyx_L1_error) } __pyx_v_f = (1.0 / ((double)__pyx_v_f_temp));
226: #logging.debug((f_temp,f_x, f_y , f_z))
+227: return (f, (k,l), (cumulINV, cumulMOV, cumulINS, cumulSUP, cumulREP,
__Pyx_XDECREF(__pyx_r); __pyx_t_13 = PyFloat_FromDouble(__pyx_v_f); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 227, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_13); __pyx_t_9 = __Pyx_PyInt_From_int(__pyx_v_k); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 227, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __pyx_t_10 = __Pyx_PyInt_From_int(__pyx_v_l); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 227, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __pyx_t_8 = PyTuple_New(2); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 227, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __Pyx_GIVEREF(__pyx_t_9); PyTuple_SET_ITEM(__pyx_t_8, 0, __pyx_t_9); __Pyx_GIVEREF(__pyx_t_10); PyTuple_SET_ITEM(__pyx_t_8, 1, __pyx_t_10); __pyx_t_9 = 0; __pyx_t_10 = 0; __pyx_t_10 = __Pyx_PyInt_From_int(__pyx_v_cumulINV); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 227, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __pyx_t_9 = __Pyx_PyInt_From_int(__pyx_v_cumulMOV); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 227, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __pyx_t_11 = __Pyx_PyInt_From_int(__pyx_v_cumulINS); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 227, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); __pyx_t_1 = __Pyx_PyInt_From_int(__pyx_v_cumulSUP); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 227, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_12 = __Pyx_PyInt_From_int(__pyx_v_cumulREP); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 227, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); /* … */ __pyx_t_33 = PyTuple_New(12); if (unlikely(!__pyx_t_33)) __PYX_ERR(0, 227, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_33); __Pyx_GIVEREF(__pyx_t_10); PyTuple_SET_ITEM(__pyx_t_33, 0, __pyx_t_10); __Pyx_GIVEREF(__pyx_t_9); PyTuple_SET_ITEM(__pyx_t_33, 1, __pyx_t_9); __Pyx_GIVEREF(__pyx_t_11); PyTuple_SET_ITEM(__pyx_t_33, 2, __pyx_t_11); __Pyx_GIVEREF(__pyx_t_1); PyTuple_SET_ITEM(__pyx_t_33, 3, __pyx_t_1); __Pyx_GIVEREF(__pyx_t_12); PyTuple_SET_ITEM(__pyx_t_33, 4, __pyx_t_12); __Pyx_GIVEREF(__pyx_t_7); PyTuple_SET_ITEM(__pyx_t_33, 5, __pyx_t_7); __Pyx_GIVEREF(__pyx_t_6); PyTuple_SET_ITEM(__pyx_t_33, 6, __pyx_t_6); __Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_33, 7, __pyx_t_5); __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_33, 8, __pyx_t_4); __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_33, 9, __pyx_t_3); __Pyx_GIVEREF(__pyx_t_2); PyTuple_SET_ITEM(__pyx_t_33, 10, __pyx_t_2); __Pyx_GIVEREF(__pyx_t_14); PyTuple_SET_ITEM(__pyx_t_33, 11, __pyx_t_14); __pyx_t_10 = 0; __pyx_t_9 = 0; __pyx_t_11 = 0; __pyx_t_1 = 0; __pyx_t_12 = 0; __pyx_t_7 = 0; __pyx_t_6 = 0; __pyx_t_5 = 0; __pyx_t_4 = 0; __pyx_t_3 = 0; __pyx_t_2 = 0; __pyx_t_14 = 0; __pyx_t_14 = PyTuple_New(3); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 227, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_14); __Pyx_GIVEREF(__pyx_t_13); PyTuple_SET_ITEM(__pyx_t_14, 0, __pyx_t_13); __Pyx_GIVEREF(__pyx_t_8); PyTuple_SET_ITEM(__pyx_t_14, 1, __pyx_t_8); __Pyx_GIVEREF(__pyx_t_33); PyTuple_SET_ITEM(__pyx_t_14, 2, __pyx_t_33); __pyx_t_13 = 0; __pyx_t_8 = 0; __pyx_t_33 = 0; __pyx_r = __pyx_t_14; __pyx_t_14 = 0; goto __pyx_L0;
+228: nbINV, nbMOV, nbINS, nbSUP, nbREP, current_inv_max, current_mov_max))
__pyx_t_7 = __Pyx_PyInt_From_int(__pyx_v_nbINV); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 228, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_6 = __Pyx_PyInt_From_int(__pyx_v_nbMOV); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 228, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_5 = __Pyx_PyInt_From_int(__pyx_v_nbINS); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 228, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_4 = __Pyx_PyInt_From_int(__pyx_v_nbSUP); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 228, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_3 = __Pyx_PyInt_From_int(__pyx_v_nbREP); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 228, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_2 = __Pyx_PyInt_From_int(__pyx_v_current_inv_max); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 228, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_14 = __Pyx_PyInt_From_int(__pyx_v_current_mov_max); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 228, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_14);
229:
230:
231:
+232: def deplacements_pond_Astar( L1Static, L2Static, diffSym, dicoPos,
/* Python wrapper */ static PyObject *__pyx_pw_8medite40_11MediteAppli_4cost_3deplacements_pond_Astar(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_8medite40_11MediteAppli_4cost_2deplacements_pond_Astar[] = " impl\303\251mentation de A* pour rechercher le meilleur chemin dans l'arbre des appariement entre blocs \n Renvoie le noeud du dernier appariement "; static PyMethodDef __pyx_mdef_8medite40_11MediteAppli_4cost_3deplacements_pond_Astar = {"deplacements_pond_Astar", (PyCFunction)(void*)(PyCFunctionWithKeywords)__pyx_pw_8medite40_11MediteAppli_4cost_3deplacements_pond_Astar, METH_VARARGS|METH_KEYWORDS, __pyx_doc_8medite40_11MediteAppli_4cost_2deplacements_pond_Astar}; static PyObject *__pyx_pw_8medite40_11MediteAppli_4cost_3deplacements_pond_Astar(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_v_L1Static = 0; PyObject *__pyx_v_L2Static = 0; PyObject *__pyx_v_diffSym = 0; PyObject *__pyx_v_dicoPos = 0; PyObject *__pyx_v_coutFixe = 0; PyObject *__pyx_v_dicoMinMax1 = 0; PyObject *__pyx_v_dicoMinMax2 = 0; PyObject *__pyx_v_lSuppression = 0; PyObject *__pyx_v_lInsertion = 0; PyObject *__pyx_v_arrayRepetT1 = 0; PyObject *__pyx_v_arrayRepetT2 = 0; PyObject *__pyx_v_MO = 0; PyObject *__pyx_v_l_texte1 = 0; PyObject *__pyx_v_l_texte2 = 0; PyObject *__pyx_v_coeff = 0; PyObject *__pyx_r = 0; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("deplacements_pond_Astar (wrapper)", 0); { static PyObject **__pyx_pyargnames[] = {&__pyx_n_s_L1Static,&__pyx_n_s_L2Static,&__pyx_n_s_diffSym,&__pyx_n_s_dicoPos,&__pyx_n_s_coutFixe,&__pyx_n_s_dicoMinMax1,&__pyx_n_s_dicoMinMax2,&__pyx_n_s_lSuppression,&__pyx_n_s_lInsertion,&__pyx_n_s_arrayRepetT1,&__pyx_n_s_arrayRepetT2,&__pyx_n_s_MO,&__pyx_n_s_l_texte1,&__pyx_n_s_l_texte2,&__pyx_n_s_coeff,0}; PyObject* values[15] = {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}; /* … */ /* function exit code */ __Pyx_RefNannyFinishContext(); return __pyx_r; } static PyObject *__pyx_pf_8medite40_11MediteAppli_4cost_2deplacements_pond_Astar(CYTHON_UNUSED PyObject *__pyx_self, PyObject *__pyx_v_L1Static, PyObject *__pyx_v_L2Static, PyObject *__pyx_v_diffSym, PyObject *__pyx_v_dicoPos, PyObject *__pyx_v_coutFixe, PyObject *__pyx_v_dicoMinMax1, PyObject *__pyx_v_dicoMinMax2, PyObject *__pyx_v_lSuppression, PyObject *__pyx_v_lInsertion, PyObject *__pyx_v_arrayRepetT1, PyObject *__pyx_v_arrayRepetT2, PyObject *__pyx_v_MO, PyObject *__pyx_v_l_texte1, PyObject *__pyx_v_l_texte2, PyObject *__pyx_v_coeff) { PyObject *__pyx_v_openSet = NULL; PyObject *__pyx_v_closedSet = NULL; PyObject *__pyx_v_goalNodes = NULL; PyObject *__pyx_v_L1 = NULL; PyObject *__pyx_v_L2 = NULL; PyObject *__pyx_v_best = NULL; PyObject *__pyx_v_bestValue = NULL; PyObject *__pyx_v_cptEval = NULL; PyObject *__pyx_v_posB1 = NULL; PyObject *__pyx_v_posB2 = NULL; PyObject *__pyx_v_node = NULL; PyObject *__pyx_v_nodeValue = NULL; PyObject *__pyx_v_cout = NULL; PyObject *__pyx_v_cF = NULL; PyObject *__pyx_r = NULL; __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("deplacements_pond_Astar", 0); /* … */ /* function exit code */ __pyx_r = Py_None; __Pyx_INCREF(Py_None); goto __pyx_L0; __pyx_L1_error:; __Pyx_XDECREF(__pyx_t_1); __Pyx_XDECREF(__pyx_t_2); __Pyx_XDECREF(__pyx_t_3); __Pyx_XDECREF(__pyx_t_5); __Pyx_XDECREF(__pyx_t_6); __Pyx_XDECREF(__pyx_t_11); __Pyx_XDECREF(__pyx_t_12); __Pyx_XDECREF(__pyx_t_13); __Pyx_XDECREF(__pyx_t_14); __Pyx_XDECREF(__pyx_t_15); __Pyx_XDECREF(__pyx_t_16); __Pyx_XDECREF(__pyx_t_17); __Pyx_XDECREF(__pyx_t_18); __Pyx_XDECREF(__pyx_t_19); __Pyx_XDECREF(__pyx_t_20); __Pyx_XDECREF(__pyx_t_21); __Pyx_XDECREF(__pyx_t_23); __Pyx_AddTraceback("medite40.MediteAppli.cost.deplacements_pond_Astar", __pyx_clineno, __pyx_lineno, __pyx_filename); __pyx_r = NULL; __pyx_L0:; __Pyx_XDECREF(__pyx_v_openSet); __Pyx_XDECREF(__pyx_v_closedSet); __Pyx_XDECREF(__pyx_v_goalNodes); __Pyx_XDECREF(__pyx_v_L1); __Pyx_XDECREF(__pyx_v_L2); __Pyx_XDECREF(__pyx_v_best); __Pyx_XDECREF(__pyx_v_bestValue); __Pyx_XDECREF(__pyx_v_cptEval); __Pyx_XDECREF(__pyx_v_posB1); __Pyx_XDECREF(__pyx_v_posB2); __Pyx_XDECREF(__pyx_v_node); __Pyx_XDECREF(__pyx_v_nodeValue); __Pyx_XDECREF(__pyx_v_cout); __Pyx_XDECREF(__pyx_v_cF); __Pyx_XGIVEREF(__pyx_r); __Pyx_RefNannyFinishContext(); return __pyx_r; } /* … */ __pyx_tuple__5 = PyTuple_Pack(29, __pyx_n_s_L1Static, __pyx_n_s_L2Static, __pyx_n_s_diffSym, __pyx_n_s_dicoPos, __pyx_n_s_coutFixe, __pyx_n_s_dicoMinMax1, __pyx_n_s_dicoMinMax2, __pyx_n_s_lSuppression, __pyx_n_s_lInsertion, __pyx_n_s_arrayRepetT1, __pyx_n_s_arrayRepetT2, __pyx_n_s_MO, __pyx_n_s_l_texte1, __pyx_n_s_l_texte2, __pyx_n_s_coeff, __pyx_n_s_openSet_2, __pyx_n_s_closedSet_2, __pyx_n_s_goalNodes, __pyx_n_s_L1, __pyx_n_s_L2, __pyx_n_s_best, __pyx_n_s_bestValue, __pyx_n_s_cptEval, __pyx_n_s_posB1, __pyx_n_s_posB2, __pyx_n_s_node, __pyx_n_s_nodeValue, __pyx_n_s_cout_2, __pyx_n_s_cF); if (unlikely(!__pyx_tuple__5)) __PYX_ERR(0, 232, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__5); __Pyx_GIVEREF(__pyx_tuple__5); /* … */ __pyx_t_1 = PyCFunction_NewEx(&__pyx_mdef_8medite40_11MediteAppli_4cost_3deplacements_pond_Astar, NULL, __pyx_n_s_medite40_MediteAppli_cost); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 232, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (PyDict_SetItem(__pyx_d, __pyx_n_s_deplacements_pond_Astar, __pyx_t_1) < 0) __PYX_ERR(0, 232, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+233: coutFixe, dicoMinMax1=None, dicoMinMax2=None,lSuppression=None, lInsertion=None,
values[5] = ((PyObject *)Py_None); values[6] = ((PyObject *)Py_None); values[7] = ((PyObject *)Py_None); values[8] = ((PyObject *)Py_None);
+234: arrayRepetT1=None, arrayRepetT2=None, MO=False, l_texte1=None, l_texte2=None, coeff=None):
values[9] = ((PyObject *)Py_None); values[10] = ((PyObject *)Py_None); values[11] = ((PyObject *)Py_False); values[12] = ((PyObject *)Py_None); values[13] = ((PyObject *)Py_None); values[14] = ((PyObject *)Py_None); if (unlikely(__pyx_kwds)) { Py_ssize_t kw_args; const Py_ssize_t pos_args = PyTuple_GET_SIZE(__pyx_args); switch (pos_args) { case 15: values[14] = PyTuple_GET_ITEM(__pyx_args, 14); CYTHON_FALLTHROUGH; case 14: values[13] = PyTuple_GET_ITEM(__pyx_args, 13); CYTHON_FALLTHROUGH; case 13: values[12] = PyTuple_GET_ITEM(__pyx_args, 12); CYTHON_FALLTHROUGH; case 12: values[11] = PyTuple_GET_ITEM(__pyx_args, 11); CYTHON_FALLTHROUGH; case 11: values[10] = PyTuple_GET_ITEM(__pyx_args, 10); CYTHON_FALLTHROUGH; case 10: values[9] = PyTuple_GET_ITEM(__pyx_args, 9); CYTHON_FALLTHROUGH; case 9: values[8] = PyTuple_GET_ITEM(__pyx_args, 8); CYTHON_FALLTHROUGH; case 8: values[7] = PyTuple_GET_ITEM(__pyx_args, 7); CYTHON_FALLTHROUGH; case 7: values[6] = PyTuple_GET_ITEM(__pyx_args, 6); CYTHON_FALLTHROUGH; case 6: values[5] = PyTuple_GET_ITEM(__pyx_args, 5); CYTHON_FALLTHROUGH; case 5: values[4] = PyTuple_GET_ITEM(__pyx_args, 4); CYTHON_FALLTHROUGH; case 4: values[3] = PyTuple_GET_ITEM(__pyx_args, 3); CYTHON_FALLTHROUGH; case 3: values[2] = PyTuple_GET_ITEM(__pyx_args, 2); CYTHON_FALLTHROUGH; case 2: values[1] = PyTuple_GET_ITEM(__pyx_args, 1); CYTHON_FALLTHROUGH; case 1: values[0] = PyTuple_GET_ITEM(__pyx_args, 0); CYTHON_FALLTHROUGH; case 0: break; default: goto __pyx_L5_argtuple_error; } kw_args = PyDict_Size(__pyx_kwds); switch (pos_args) { case 0: if (likely((values[0] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_L1Static)) != 0)) kw_args--; else goto __pyx_L5_argtuple_error; CYTHON_FALLTHROUGH; case 1: if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_L2Static)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("deplacements_pond_Astar", 0, 5, 15, 1); __PYX_ERR(0, 232, __pyx_L3_error) } CYTHON_FALLTHROUGH; case 2: if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_diffSym)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("deplacements_pond_Astar", 0, 5, 15, 2); __PYX_ERR(0, 232, __pyx_L3_error) } CYTHON_FALLTHROUGH; case 3: if (likely((values[3] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_dicoPos)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("deplacements_pond_Astar", 0, 5, 15, 3); __PYX_ERR(0, 232, __pyx_L3_error) } CYTHON_FALLTHROUGH; case 4: if (likely((values[4] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_coutFixe)) != 0)) kw_args--; else { __Pyx_RaiseArgtupleInvalid("deplacements_pond_Astar", 0, 5, 15, 4); __PYX_ERR(0, 232, __pyx_L3_error) } CYTHON_FALLTHROUGH; case 5: if (kw_args > 0) { PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_dicoMinMax1); if (value) { values[5] = value; kw_args--; } } CYTHON_FALLTHROUGH; case 6: if (kw_args > 0) { PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_dicoMinMax2); if (value) { values[6] = value; kw_args--; } } CYTHON_FALLTHROUGH; case 7: if (kw_args > 0) { PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_lSuppression); if (value) { values[7] = value; kw_args--; } } CYTHON_FALLTHROUGH; case 8: if (kw_args > 0) { PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_lInsertion); if (value) { values[8] = value; kw_args--; } } CYTHON_FALLTHROUGH; case 9: if (kw_args > 0) { PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_arrayRepetT1); if (value) { values[9] = value; kw_args--; } } CYTHON_FALLTHROUGH; case 10: if (kw_args > 0) { PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_arrayRepetT2); if (value) { values[10] = value; kw_args--; } } CYTHON_FALLTHROUGH; case 11: if (kw_args > 0) { PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_MO); if (value) { values[11] = value; kw_args--; } } CYTHON_FALLTHROUGH; case 12: if (kw_args > 0) { PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_l_texte1); if (value) { values[12] = value; kw_args--; } } CYTHON_FALLTHROUGH; case 13: if (kw_args > 0) { PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_l_texte2); if (value) { values[13] = value; kw_args--; } } CYTHON_FALLTHROUGH; case 14: if (kw_args > 0) { PyObject* value = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_coeff); if (value) { values[14] = value; kw_args--; } } } if (unlikely(kw_args > 0)) { if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "deplacements_pond_Astar") < 0)) __PYX_ERR(0, 232, __pyx_L3_error) } } else { switch (PyTuple_GET_SIZE(__pyx_args)) { case 15: values[14] = PyTuple_GET_ITEM(__pyx_args, 14); CYTHON_FALLTHROUGH; case 14: values[13] = PyTuple_GET_ITEM(__pyx_args, 13); CYTHON_FALLTHROUGH; case 13: values[12] = PyTuple_GET_ITEM(__pyx_args, 12); CYTHON_FALLTHROUGH; case 12: values[11] = PyTuple_GET_ITEM(__pyx_args, 11); CYTHON_FALLTHROUGH; case 11: values[10] = PyTuple_GET_ITEM(__pyx_args, 10); CYTHON_FALLTHROUGH; case 10: values[9] = PyTuple_GET_ITEM(__pyx_args, 9); CYTHON_FALLTHROUGH; case 9: values[8] = PyTuple_GET_ITEM(__pyx_args, 8); CYTHON_FALLTHROUGH; case 8: values[7] = PyTuple_GET_ITEM(__pyx_args, 7); CYTHON_FALLTHROUGH; case 7: values[6] = PyTuple_GET_ITEM(__pyx_args, 6); CYTHON_FALLTHROUGH; case 6: values[5] = PyTuple_GET_ITEM(__pyx_args, 5); CYTHON_FALLTHROUGH; case 5: values[4] = PyTuple_GET_ITEM(__pyx_args, 4); values[3] = PyTuple_GET_ITEM(__pyx_args, 3); values[2] = PyTuple_GET_ITEM(__pyx_args, 2); values[1] = PyTuple_GET_ITEM(__pyx_args, 1); values[0] = PyTuple_GET_ITEM(__pyx_args, 0); break; default: goto __pyx_L5_argtuple_error; } } __pyx_v_L1Static = values[0]; __pyx_v_L2Static = values[1]; __pyx_v_diffSym = values[2]; __pyx_v_dicoPos = values[3]; __pyx_v_coutFixe = values[4]; __pyx_v_dicoMinMax1 = values[5]; __pyx_v_dicoMinMax2 = values[6]; __pyx_v_lSuppression = values[7]; __pyx_v_lInsertion = values[8]; __pyx_v_arrayRepetT1 = values[9]; __pyx_v_arrayRepetT2 = values[10]; __pyx_v_MO = values[11]; __pyx_v_l_texte1 = values[12]; __pyx_v_l_texte2 = values[13]; __pyx_v_coeff = values[14]; } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; __Pyx_RaiseArgtupleInvalid("deplacements_pond_Astar", 0, 5, 15, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 232, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("medite40.MediteAppli.cost.deplacements_pond_Astar", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); return NULL; __pyx_L4_argument_unpacking_done:; __pyx_r = __pyx_pf_8medite40_11MediteAppli_4cost_2deplacements_pond_Astar(__pyx_self, __pyx_v_L1Static, __pyx_v_L2Static, __pyx_v_diffSym, __pyx_v_dicoPos, __pyx_v_coutFixe, __pyx_v_dicoMinMax1, __pyx_v_dicoMinMax2, __pyx_v_lSuppression, __pyx_v_lInsertion, __pyx_v_arrayRepetT1, __pyx_v_arrayRepetT2, __pyx_v_MO, __pyx_v_l_texte1, __pyx_v_l_texte2, __pyx_v_coeff);
235: """ implémentation de A* pour rechercher le meilleur chemin dans l'arbre des appariement entre blocs
236: Renvoie le noeud du dernier appariement """
237: global fct_cout
+238: openSet = {} # ensemble des sommets ouverts pour A*
__pyx_t_1 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 238, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_v_openSet = ((PyObject*)__pyx_t_1); __pyx_t_1 = 0;
+239: closedSet = {} # ensemble des sommets fermés pour A*
__pyx_t_1 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 239, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_v_closedSet = ((PyObject*)__pyx_t_1); __pyx_t_1 = 0;
+240: goalNodes = {}
__pyx_t_1 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 240, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_v_goalNodes = ((PyObject*)__pyx_t_1); __pyx_t_1 = 0;
+241: L1 = L1Static # liste L1 courante
__Pyx_INCREF(__pyx_v_L1Static);
__pyx_v_L1 = __pyx_v_L1Static;
+242: L2 = L2Static
__Pyx_INCREF(__pyx_v_L2Static);
__pyx_v_L2 = __pyx_v_L2Static;
+243: logging.debug('len(L1)='+str(len(L1))+' / len(L2)='+str(len(L2)))
__Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_logging); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 243, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_debug); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 243, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_4 = PyObject_Length(__pyx_v_L1); if (unlikely(__pyx_t_4 == ((Py_ssize_t)-1))) __PYX_ERR(0, 243, __pyx_L1_error) __pyx_t_2 = PyInt_FromSsize_t(__pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 243, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_5 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 243, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_kp_u_len_L1, __pyx_t_5); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 243, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_t_5 = __Pyx_PyUnicode_Concat(__pyx_t_2, __pyx_kp_u_len_L2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 243, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_4 = PyObject_Length(__pyx_v_L2); if (unlikely(__pyx_t_4 == ((Py_ssize_t)-1))) __PYX_ERR(0, 243, __pyx_L1_error) __pyx_t_2 = PyInt_FromSsize_t(__pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 243, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_6 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 243, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_t_5, __pyx_t_6); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 243, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __pyx_t_6 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_3))) { __pyx_t_6 = PyMethod_GET_SELF(__pyx_t_3); if (likely(__pyx_t_6)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); __Pyx_INCREF(__pyx_t_6); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_3, function); } } __pyx_t_1 = (__pyx_t_6) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_6, __pyx_t_2) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_2); __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 243, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+244: logging.debug('openSet = '+str(openSet))
__Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_logging); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 244, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_debug); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 244, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_v_openSet); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 244, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_6 = __Pyx_PyUnicode_Concat(__pyx_kp_u_openSet, __pyx_t_3); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 244, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) { __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2); if (likely(__pyx_t_3)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2); __Pyx_INCREF(__pyx_t_3); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_2, function); } } __pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_3, __pyx_t_6) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_6); __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 244, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+245: logging.debug('closedSet = '+str(closedSet))
__Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_logging); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 245, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_debug); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 245, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_v_closedSet); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 245, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_3 = __Pyx_PyUnicode_Concat(__pyx_kp_u_closedSet, __pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 245, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_6))) { __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_6); if (likely(__pyx_t_2)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_6); __Pyx_INCREF(__pyx_t_2); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_6, function); } } __pyx_t_1 = (__pyx_t_2) ? __Pyx_PyObject_Call2Args(__pyx_t_6, __pyx_t_2, __pyx_t_3) : __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_t_3); __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 245, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+246: best = (-1,-1)
__Pyx_INCREF(__pyx_tuple_); __pyx_v_best = __pyx_tuple_; /* … */ __pyx_tuple_ = PyTuple_Pack(2, __pyx_int_neg_1, __pyx_int_neg_1); if (unlikely(!__pyx_tuple_)) __PYX_ERR(0, 246, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple_); __Pyx_GIVEREF(__pyx_tuple_);
+247: if MO: bestValue = (0.0+sys.maxint, best, (0,0,0,0,0,0,0,0,0,0,0,0))
__pyx_t_7 = __Pyx_PyObject_IsTrue(__pyx_v_MO); if (unlikely(__pyx_t_7 < 0)) __PYX_ERR(0, 247, __pyx_L1_error) if (__pyx_t_7) { __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_sys); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 247, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_maxint); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 247, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = __Pyx_PyFloat_AddCObj(__pyx_float_0_0, __pyx_t_6, 0.0, 0, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 247, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __pyx_t_6 = PyTuple_New(3); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 247, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_GIVEREF(__pyx_t_1); PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_1); __Pyx_INCREF(__pyx_v_best); __Pyx_GIVEREF(__pyx_v_best); PyTuple_SET_ITEM(__pyx_t_6, 1, __pyx_v_best); __Pyx_INCREF(__pyx_tuple__2); __Pyx_GIVEREF(__pyx_tuple__2); PyTuple_SET_ITEM(__pyx_t_6, 2, __pyx_tuple__2); __pyx_t_1 = 0; __pyx_v_bestValue = __pyx_t_6; __pyx_t_6 = 0; goto __pyx_L3; } /* … */ __pyx_tuple__2 = PyTuple_Pack(12, __pyx_int_0, __pyx_int_0, __pyx_int_0, __pyx_int_0, __pyx_int_0, __pyx_int_0, __pyx_int_0, __pyx_int_0, __pyx_int_0, __pyx_int_0, __pyx_int_0, __pyx_int_0); if (unlikely(!__pyx_tuple__2)) __PYX_ERR(0, 247, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__2); __Pyx_GIVEREF(__pyx_tuple__2);
+248: else: bestValue = (0.0+sys.maxint, best, 0)
/*else*/ { __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_n_s_sys); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 248, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_maxint); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 248, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __pyx_t_6 = __Pyx_PyFloat_AddCObj(__pyx_float_0_0, __pyx_t_1, 0.0, 0, 0); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 248, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = PyTuple_New(3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 248, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_GIVEREF(__pyx_t_6); PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_t_6); __Pyx_INCREF(__pyx_v_best); __Pyx_GIVEREF(__pyx_v_best); PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_v_best); __Pyx_INCREF(__pyx_int_0); __Pyx_GIVEREF(__pyx_int_0); PyTuple_SET_ITEM(__pyx_t_1, 2, __pyx_int_0); __pyx_t_6 = 0; __pyx_v_bestValue = __pyx_t_1; __pyx_t_1 = 0; } __pyx_L3:;
249: #iteration = 0
+250: while True:
while (1) {
+251: cptEval = 0
__Pyx_INCREF(__pyx_int_0); __Pyx_XDECREF_SET(__pyx_v_cptEval, __pyx_int_0);
+252: for posB1 in xrange(len(L1)):
__pyx_t_4 = PyObject_Length(__pyx_v_L1); if (unlikely(__pyx_t_4 == ((Py_ssize_t)-1))) __PYX_ERR(0, 252, __pyx_L1_error) __pyx_t_1 = PyInt_FromSsize_t(__pyx_t_4); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 252, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_6 = __Pyx_PyObject_CallOneArg(__pyx_builtin_xrange, __pyx_t_1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 252, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (likely(PyList_CheckExact(__pyx_t_6)) || PyTuple_CheckExact(__pyx_t_6)) { __pyx_t_1 = __pyx_t_6; __Pyx_INCREF(__pyx_t_1); __pyx_t_4 = 0; __pyx_t_8 = NULL; } else { __pyx_t_4 = -1; __pyx_t_1 = PyObject_GetIter(__pyx_t_6); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 252, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_8 = Py_TYPE(__pyx_t_1)->tp_iternext; if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 252, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; for (;;) { if (likely(!__pyx_t_8)) { if (likely(PyList_CheckExact(__pyx_t_1))) { if (__pyx_t_4 >= PyList_GET_SIZE(__pyx_t_1)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_6 = PyList_GET_ITEM(__pyx_t_1, __pyx_t_4); __Pyx_INCREF(__pyx_t_6); __pyx_t_4++; if (unlikely(0 < 0)) __PYX_ERR(0, 252, __pyx_L1_error) #else __pyx_t_6 = PySequence_ITEM(__pyx_t_1, __pyx_t_4); __pyx_t_4++; if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 252, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); #endif } else { if (__pyx_t_4 >= PyTuple_GET_SIZE(__pyx_t_1)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_6 = PyTuple_GET_ITEM(__pyx_t_1, __pyx_t_4); __Pyx_INCREF(__pyx_t_6); __pyx_t_4++; if (unlikely(0 < 0)) __PYX_ERR(0, 252, __pyx_L1_error) #else __pyx_t_6 = PySequence_ITEM(__pyx_t_1, __pyx_t_4); __pyx_t_4++; if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 252, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); #endif } } else { __pyx_t_6 = __pyx_t_8(__pyx_t_1); if (unlikely(!__pyx_t_6)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 252, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_6); } __Pyx_XDECREF_SET(__pyx_v_posB1, __pyx_t_6); __pyx_t_6 = 0; /* … */ } __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
253: #for posB2 in dicoPos[2][texte[L1[posB1][0]:L1[posB1][1]]]:
+254: for posB2 in dicoPos[2][L1[posB1]]:
__pyx_t_6 = __Pyx_GetItemInt(__pyx_v_dicoPos, 2, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 254, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_3 = __Pyx_PyObject_GetItem(__pyx_v_L1, __pyx_v_posB1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 254, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_2 = __Pyx_PyObject_GetItem(__pyx_t_6, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 254, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; if (likely(PyList_CheckExact(__pyx_t_2)) || PyTuple_CheckExact(__pyx_t_2)) { __pyx_t_3 = __pyx_t_2; __Pyx_INCREF(__pyx_t_3); __pyx_t_9 = 0; __pyx_t_10 = NULL; } else { __pyx_t_9 = -1; __pyx_t_3 = PyObject_GetIter(__pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 254, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_10 = Py_TYPE(__pyx_t_3)->tp_iternext; if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 254, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; for (;;) { if (likely(!__pyx_t_10)) { if (likely(PyList_CheckExact(__pyx_t_3))) { if (__pyx_t_9 >= PyList_GET_SIZE(__pyx_t_3)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_2 = PyList_GET_ITEM(__pyx_t_3, __pyx_t_9); __Pyx_INCREF(__pyx_t_2); __pyx_t_9++; if (unlikely(0 < 0)) __PYX_ERR(0, 254, __pyx_L1_error) #else __pyx_t_2 = PySequence_ITEM(__pyx_t_3, __pyx_t_9); __pyx_t_9++; if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 254, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); #endif } else { if (__pyx_t_9 >= PyTuple_GET_SIZE(__pyx_t_3)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS __pyx_t_2 = PyTuple_GET_ITEM(__pyx_t_3, __pyx_t_9); __Pyx_INCREF(__pyx_t_2); __pyx_t_9++; if (unlikely(0 < 0)) __PYX_ERR(0, 254, __pyx_L1_error) #else __pyx_t_2 = PySequence_ITEM(__pyx_t_3, __pyx_t_9); __pyx_t_9++; if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 254, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); #endif } } else { __pyx_t_2 = __pyx_t_10(__pyx_t_3); if (unlikely(!__pyx_t_2)) { PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); else __PYX_ERR(0, 254, __pyx_L1_error) } break; } __Pyx_GOTREF(__pyx_t_2); } __Pyx_XDECREF_SET(__pyx_v_posB2, __pyx_t_2); __pyx_t_2 = 0; /* … */ __pyx_L8_continue:; } __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
+255: if posB2 < best[1]+1: continue # cette position est hors de la liste courante
__pyx_t_2 = __Pyx_GetItemInt(__pyx_v_best, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 255, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_6 = __Pyx_PyInt_AddObjC(__pyx_t_2, __pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 255, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = PyObject_RichCompare(__pyx_v_posB2, __pyx_t_6, Py_LT); __Pyx_XGOTREF(__pyx_t_2); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 255, __pyx_L1_error) __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __pyx_t_7 = __Pyx_PyObject_IsTrue(__pyx_t_2); if (unlikely(__pyx_t_7 < 0)) __PYX_ERR(0, 255, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; if (__pyx_t_7) { goto __pyx_L8_continue; }
+256: cptEval = cptEval + 1
__pyx_t_2 = __Pyx_PyInt_AddObjC(__pyx_v_cptEval, __pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 256, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF_SET(__pyx_v_cptEval, __pyx_t_2); __pyx_t_2 = 0;
+257: node = (posB1+best[0]+1,posB2) #,iteration) # position absolue par rapport à self.L1 et self.L2
__pyx_t_2 = __Pyx_GetItemInt(__pyx_v_best, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 257, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_6 = PyNumber_Add(__pyx_v_posB1, __pyx_t_2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 257, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = __Pyx_PyInt_AddObjC(__pyx_t_6, __pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 257, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __pyx_t_6 = PyTuple_New(2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 257, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_GIVEREF(__pyx_t_2); PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_2); __Pyx_INCREF(__pyx_v_posB2); __Pyx_GIVEREF(__pyx_v_posB2); PyTuple_SET_ITEM(__pyx_t_6, 1, __pyx_v_posB2); __pyx_t_2 = 0; __Pyx_XDECREF_SET(__pyx_v_node, __pyx_t_6); __pyx_t_6 = 0;
258: #cout=self.cout(best[0]+1,best[1]+1,posB1+best[0]+1,posB2,diffSym,coutFixe)
+259: if MO:
__pyx_t_7 = __Pyx_PyObject_IsTrue(__pyx_v_MO); if (unlikely(__pyx_t_7 < 0)) __PYX_ERR(0, 259, __pyx_L1_error) if (__pyx_t_7) { /* … */ goto __pyx_L11; }
+260: logging.debug('cout='+str(cout))
__Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_logging); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 260, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_debug); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 260, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; if (unlikely(!__pyx_v_cout)) { __Pyx_RaiseUnboundLocalError("cout"); __PYX_ERR(0, 260, __pyx_L1_error) } __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_v_cout); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 260, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_11 = __Pyx_PyUnicode_Concat(__pyx_kp_u_cout, __pyx_t_2); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 260, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_5))) { __pyx_t_2 = PyMethod_GET_SELF(__pyx_t_5); if (likely(__pyx_t_2)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); __Pyx_INCREF(__pyx_t_2); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_5, function); } } __pyx_t_6 = (__pyx_t_2) ? __Pyx_PyObject_Call2Args(__pyx_t_5, __pyx_t_2, __pyx_t_11) : __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_11); __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 260, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
+261: nodeValue = fct_cout(best[0], best[1], node[0], node[1],
__Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_fct_cout); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 261, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_11 = __Pyx_GetItemInt(__pyx_v_best, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 261, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); __pyx_t_2 = __Pyx_GetItemInt(__pyx_v_best, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 261, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_12 = __Pyx_GetItemInt(__pyx_v_node, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 261, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); __pyx_t_13 = __Pyx_GetItemInt(__pyx_v_node, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 261, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_13);
+262: diffSym, coutFixe[0][0], coutFixe[0][1],
__pyx_t_14 = __Pyx_GetItemInt(__pyx_v_coutFixe, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 262, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_14); __pyx_t_15 = __Pyx_GetItemInt(__pyx_t_14, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 262, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_15); __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; __pyx_t_14 = __Pyx_GetItemInt(__pyx_v_coutFixe, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 262, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_14); __pyx_t_16 = __Pyx_GetItemInt(__pyx_t_14, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 262, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_16); __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
+263: coutFixe[1][0], coutFixe[1][1],
__pyx_t_14 = __Pyx_GetItemInt(__pyx_v_coutFixe, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 263, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_14); __pyx_t_17 = __Pyx_GetItemInt(__pyx_t_14, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_17)) __PYX_ERR(0, 263, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_17); __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; __pyx_t_14 = __Pyx_GetItemInt(__pyx_v_coutFixe, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 263, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_14); __pyx_t_18 = __Pyx_GetItemInt(__pyx_t_14, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_18)) __PYX_ERR(0, 263, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_18); __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0;
264: bestValue, dicoMinMax1, dicoMinMax2, lSuppression, lInsertion,
265: arrayRepetT1, arrayRepetT2,
+266: coeff[0], coeff[1], coeff[2],
__pyx_t_14 = __Pyx_GetItemInt(__pyx_v_coeff, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 266, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_14); __pyx_t_19 = __Pyx_GetItemInt(__pyx_v_coeff, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_19)) __PYX_ERR(0, 266, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_19); __pyx_t_20 = __Pyx_GetItemInt(__pyx_v_coeff, 2, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 266, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_20);
+267: l_texte1, l_texte2)
__pyx_t_21 = NULL; __pyx_t_22 = 0; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_5))) { __pyx_t_21 = PyMethod_GET_SELF(__pyx_t_5); if (likely(__pyx_t_21)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); __Pyx_INCREF(__pyx_t_21); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_5, function); __pyx_t_22 = 1; } } #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_5)) { PyObject *__pyx_temp[22] = {__pyx_t_21, __pyx_t_11, __pyx_t_2, __pyx_t_12, __pyx_t_13, __pyx_v_diffSym, __pyx_t_15, __pyx_t_16, __pyx_t_17, __pyx_t_18, __pyx_v_bestValue, __pyx_v_dicoMinMax1, __pyx_v_dicoMinMax2, __pyx_v_lSuppression, __pyx_v_lInsertion, __pyx_v_arrayRepetT1, __pyx_v_arrayRepetT2, __pyx_t_14, __pyx_t_19, __pyx_t_20, __pyx_v_l_texte1, __pyx_v_l_texte2}; __pyx_t_6 = __Pyx_PyFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_22, 21+__pyx_t_22); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 261, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_21); __pyx_t_21 = 0; __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0; __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; __Pyx_DECREF(__pyx_t_19); __pyx_t_19 = 0; __Pyx_DECREF(__pyx_t_20); __pyx_t_20 = 0; } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_5)) { PyObject *__pyx_temp[22] = {__pyx_t_21, __pyx_t_11, __pyx_t_2, __pyx_t_12, __pyx_t_13, __pyx_v_diffSym, __pyx_t_15, __pyx_t_16, __pyx_t_17, __pyx_t_18, __pyx_v_bestValue, __pyx_v_dicoMinMax1, __pyx_v_dicoMinMax2, __pyx_v_lSuppression, __pyx_v_lInsertion, __pyx_v_arrayRepetT1, __pyx_v_arrayRepetT2, __pyx_t_14, __pyx_t_19, __pyx_t_20, __pyx_v_l_texte1, __pyx_v_l_texte2}; __pyx_t_6 = __Pyx_PyCFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_22, 21+__pyx_t_22); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 261, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_21); __pyx_t_21 = 0; __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0; __Pyx_DECREF(__pyx_t_17); __pyx_t_17 = 0; __Pyx_DECREF(__pyx_t_18); __pyx_t_18 = 0; __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; __Pyx_DECREF(__pyx_t_19); __pyx_t_19 = 0; __Pyx_DECREF(__pyx_t_20); __pyx_t_20 = 0; } else #endif { __pyx_t_23 = PyTuple_New(21+__pyx_t_22); if (unlikely(!__pyx_t_23)) __PYX_ERR(0, 261, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_23); if (__pyx_t_21) { __Pyx_GIVEREF(__pyx_t_21); PyTuple_SET_ITEM(__pyx_t_23, 0, __pyx_t_21); __pyx_t_21 = NULL; } __Pyx_GIVEREF(__pyx_t_11); PyTuple_SET_ITEM(__pyx_t_23, 0+__pyx_t_22, __pyx_t_11); __Pyx_GIVEREF(__pyx_t_2); PyTuple_SET_ITEM(__pyx_t_23, 1+__pyx_t_22, __pyx_t_2); __Pyx_GIVEREF(__pyx_t_12); PyTuple_SET_ITEM(__pyx_t_23, 2+__pyx_t_22, __pyx_t_12); __Pyx_GIVEREF(__pyx_t_13); PyTuple_SET_ITEM(__pyx_t_23, 3+__pyx_t_22, __pyx_t_13); __Pyx_INCREF(__pyx_v_diffSym); __Pyx_GIVEREF(__pyx_v_diffSym); PyTuple_SET_ITEM(__pyx_t_23, 4+__pyx_t_22, __pyx_v_diffSym); __Pyx_GIVEREF(__pyx_t_15); PyTuple_SET_ITEM(__pyx_t_23, 5+__pyx_t_22, __pyx_t_15); __Pyx_GIVEREF(__pyx_t_16); PyTuple_SET_ITEM(__pyx_t_23, 6+__pyx_t_22, __pyx_t_16); __Pyx_GIVEREF(__pyx_t_17); PyTuple_SET_ITEM(__pyx_t_23, 7+__pyx_t_22, __pyx_t_17); __Pyx_GIVEREF(__pyx_t_18); PyTuple_SET_ITEM(__pyx_t_23, 8+__pyx_t_22, __pyx_t_18); __Pyx_INCREF(__pyx_v_bestValue); __Pyx_GIVEREF(__pyx_v_bestValue); PyTuple_SET_ITEM(__pyx_t_23, 9+__pyx_t_22, __pyx_v_bestValue); __Pyx_INCREF(__pyx_v_dicoMinMax1); __Pyx_GIVEREF(__pyx_v_dicoMinMax1); PyTuple_SET_ITEM(__pyx_t_23, 10+__pyx_t_22, __pyx_v_dicoMinMax1); __Pyx_INCREF(__pyx_v_dicoMinMax2); __Pyx_GIVEREF(__pyx_v_dicoMinMax2); PyTuple_SET_ITEM(__pyx_t_23, 11+__pyx_t_22, __pyx_v_dicoMinMax2); __Pyx_INCREF(__pyx_v_lSuppression); __Pyx_GIVEREF(__pyx_v_lSuppression); PyTuple_SET_ITEM(__pyx_t_23, 12+__pyx_t_22, __pyx_v_lSuppression); __Pyx_INCREF(__pyx_v_lInsertion); __Pyx_GIVEREF(__pyx_v_lInsertion); PyTuple_SET_ITEM(__pyx_t_23, 13+__pyx_t_22, __pyx_v_lInsertion); __Pyx_INCREF(__pyx_v_arrayRepetT1); __Pyx_GIVEREF(__pyx_v_arrayRepetT1); PyTuple_SET_ITEM(__pyx_t_23, 14+__pyx_t_22, __pyx_v_arrayRepetT1); __Pyx_INCREF(__pyx_v_arrayRepetT2); __Pyx_GIVEREF(__pyx_v_arrayRepetT2); PyTuple_SET_ITEM(__pyx_t_23, 15+__pyx_t_22, __pyx_v_arrayRepetT2); __Pyx_GIVEREF(__pyx_t_14); PyTuple_SET_ITEM(__pyx_t_23, 16+__pyx_t_22, __pyx_t_14); __Pyx_GIVEREF(__pyx_t_19); PyTuple_SET_ITEM(__pyx_t_23, 17+__pyx_t_22, __pyx_t_19); __Pyx_GIVEREF(__pyx_t_20); PyTuple_SET_ITEM(__pyx_t_23, 18+__pyx_t_22, __pyx_t_20); __Pyx_INCREF(__pyx_v_l_texte1); __Pyx_GIVEREF(__pyx_v_l_texte1); PyTuple_SET_ITEM(__pyx_t_23, 19+__pyx_t_22, __pyx_v_l_texte1); __Pyx_INCREF(__pyx_v_l_texte2); __Pyx_GIVEREF(__pyx_v_l_texte2); PyTuple_SET_ITEM(__pyx_t_23, 20+__pyx_t_22, __pyx_v_l_texte2); __pyx_t_11 = 0; __pyx_t_2 = 0; __pyx_t_12 = 0; __pyx_t_13 = 0; __pyx_t_15 = 0; __pyx_t_16 = 0; __pyx_t_17 = 0; __pyx_t_18 = 0; __pyx_t_14 = 0; __pyx_t_19 = 0; __pyx_t_20 = 0; __pyx_t_6 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_23, NULL); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 261, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_23); __pyx_t_23 = 0; } __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_XDECREF_SET(__pyx_v_nodeValue, __pyx_t_6); __pyx_t_6 = 0;
268: #logging.debug((node,nodeValue))
+269: cout = nodeValue[0]
__pyx_t_6 = __Pyx_GetItemInt(__pyx_v_nodeValue, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 269, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_XDECREF_SET(__pyx_v_cout, __pyx_t_6); __pyx_t_6 = 0;
270: else:
+271: cout, cF = cout(best, node, diffSym, coutFixe, bestValue)
/*else*/ { if (unlikely(!__pyx_v_cout)) { __Pyx_RaiseUnboundLocalError("cout"); __PYX_ERR(0, 271, __pyx_L1_error) } __Pyx_INCREF(__pyx_v_cout); __pyx_t_5 = __pyx_v_cout; __pyx_t_23 = NULL; __pyx_t_22 = 0; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_5))) { __pyx_t_23 = PyMethod_GET_SELF(__pyx_t_5); if (likely(__pyx_t_23)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_5); __Pyx_INCREF(__pyx_t_23); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_5, function); __pyx_t_22 = 1; } } #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_5)) { PyObject *__pyx_temp[6] = {__pyx_t_23, __pyx_v_best, __pyx_v_node, __pyx_v_diffSym, __pyx_v_coutFixe, __pyx_v_bestValue}; __pyx_t_6 = __Pyx_PyFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_22, 5+__pyx_t_22); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 271, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_23); __pyx_t_23 = 0; __Pyx_GOTREF(__pyx_t_6); } else #endif #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_5)) { PyObject *__pyx_temp[6] = {__pyx_t_23, __pyx_v_best, __pyx_v_node, __pyx_v_diffSym, __pyx_v_coutFixe, __pyx_v_bestValue}; __pyx_t_6 = __Pyx_PyCFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_22, 5+__pyx_t_22); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 271, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_23); __pyx_t_23 = 0; __Pyx_GOTREF(__pyx_t_6); } else #endif { __pyx_t_20 = PyTuple_New(5+__pyx_t_22); if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 271, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_20); if (__pyx_t_23) { __Pyx_GIVEREF(__pyx_t_23); PyTuple_SET_ITEM(__pyx_t_20, 0, __pyx_t_23); __pyx_t_23 = NULL; } __Pyx_INCREF(__pyx_v_best); __Pyx_GIVEREF(__pyx_v_best); PyTuple_SET_ITEM(__pyx_t_20, 0+__pyx_t_22, __pyx_v_best); __Pyx_INCREF(__pyx_v_node); __Pyx_GIVEREF(__pyx_v_node); PyTuple_SET_ITEM(__pyx_t_20, 1+__pyx_t_22, __pyx_v_node); __Pyx_INCREF(__pyx_v_diffSym); __Pyx_GIVEREF(__pyx_v_diffSym); PyTuple_SET_ITEM(__pyx_t_20, 2+__pyx_t_22, __pyx_v_diffSym); __Pyx_INCREF(__pyx_v_coutFixe); __Pyx_GIVEREF(__pyx_v_coutFixe); PyTuple_SET_ITEM(__pyx_t_20, 3+__pyx_t_22, __pyx_v_coutFixe); __Pyx_INCREF(__pyx_v_bestValue); __Pyx_GIVEREF(__pyx_v_bestValue); PyTuple_SET_ITEM(__pyx_t_20, 4+__pyx_t_22, __pyx_v_bestValue); __pyx_t_6 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_20, NULL); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 271, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_20); __pyx_t_20 = 0; } __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; if ((likely(PyTuple_CheckExact(__pyx_t_6))) || (PyList_CheckExact(__pyx_t_6))) { PyObject* sequence = __pyx_t_6; Py_ssize_t size = __Pyx_PySequence_SIZE(sequence); if (unlikely(size != 2)) { if (size > 2) __Pyx_RaiseTooManyValuesError(2); else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size); __PYX_ERR(0, 271, __pyx_L1_error) } #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS if (likely(PyTuple_CheckExact(sequence))) { __pyx_t_5 = PyTuple_GET_ITEM(sequence, 0); __pyx_t_20 = PyTuple_GET_ITEM(sequence, 1); } else { __pyx_t_5 = PyList_GET_ITEM(sequence, 0); __pyx_t_20 = PyList_GET_ITEM(sequence, 1); } __Pyx_INCREF(__pyx_t_5); __Pyx_INCREF(__pyx_t_20); #else __pyx_t_5 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 271, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_20 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 271, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_20); #endif __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; } else { Py_ssize_t index = -1; __pyx_t_23 = PyObject_GetIter(__pyx_t_6); if (unlikely(!__pyx_t_23)) __PYX_ERR(0, 271, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_23); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __pyx_t_24 = Py_TYPE(__pyx_t_23)->tp_iternext; index = 0; __pyx_t_5 = __pyx_t_24(__pyx_t_23); if (unlikely(!__pyx_t_5)) goto __pyx_L12_unpacking_failed; __Pyx_GOTREF(__pyx_t_5); index = 1; __pyx_t_20 = __pyx_t_24(__pyx_t_23); if (unlikely(!__pyx_t_20)) goto __pyx_L12_unpacking_failed; __Pyx_GOTREF(__pyx_t_20); if (__Pyx_IternextUnpackEndCheck(__pyx_t_24(__pyx_t_23), 2) < 0) __PYX_ERR(0, 271, __pyx_L1_error) __pyx_t_24 = NULL; __Pyx_DECREF(__pyx_t_23); __pyx_t_23 = 0; goto __pyx_L13_unpacking_done; __pyx_L12_unpacking_failed:; __Pyx_DECREF(__pyx_t_23); __pyx_t_23 = 0; __pyx_t_24 = NULL; if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index); __PYX_ERR(0, 271, __pyx_L1_error) __pyx_L13_unpacking_done:; } __Pyx_XDECREF_SET(__pyx_v_cout, __pyx_t_5); __pyx_t_5 = 0; __Pyx_XDECREF_SET(__pyx_v_cF, __pyx_t_20); __pyx_t_20 = 0;
+272: nodeValue = (cout,best,cF)
__pyx_t_6 = PyTuple_New(3); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 272, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_INCREF(__pyx_v_cout); __Pyx_GIVEREF(__pyx_v_cout); PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_v_cout); __Pyx_INCREF(__pyx_v_best); __Pyx_GIVEREF(__pyx_v_best); PyTuple_SET_ITEM(__pyx_t_6, 1, __pyx_v_best); __Pyx_INCREF(__pyx_v_cF); __Pyx_GIVEREF(__pyx_v_cF); PyTuple_SET_ITEM(__pyx_t_6, 2, __pyx_v_cF); __Pyx_XDECREF_SET(__pyx_v_nodeValue, __pyx_t_6); __pyx_t_6 = 0; } __pyx_L11:;
+273: if node in closedSet: # Modifiee 15.04.2019, ancienne ligne: if closedSet.has_key(node):
__pyx_t_7 = (__Pyx_PyDict_ContainsTF(__pyx_v_node, __pyx_v_closedSet, Py_EQ)); if (unlikely(__pyx_t_7 < 0)) __PYX_ERR(0, 273, __pyx_L1_error) __pyx_t_25 = (__pyx_t_7 != 0); if (__pyx_t_25) { /* … */ goto __pyx_L14; }
+274: if closedSet[node][0] > cout:
__pyx_t_6 = __Pyx_PyDict_GetItem(__pyx_v_closedSet, __pyx_v_node); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 274, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_20 = __Pyx_GetItemInt(__pyx_t_6, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 274, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_20); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __pyx_t_6 = PyObject_RichCompare(__pyx_t_20, __pyx_v_cout, Py_GT); __Pyx_XGOTREF(__pyx_t_6); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 274, __pyx_L1_error) __Pyx_DECREF(__pyx_t_20); __pyx_t_20 = 0; __pyx_t_25 = __Pyx_PyObject_IsTrue(__pyx_t_6); if (unlikely(__pyx_t_25 < 0)) __PYX_ERR(0, 274, __pyx_L1_error) __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; if (__pyx_t_25) { /* … */ }
+275: openSet[node] = nodeValue
if (unlikely(PyDict_SetItem(__pyx_v_openSet, __pyx_v_node, __pyx_v_nodeValue) < 0)) __PYX_ERR(0, 275, __pyx_L1_error)
+276: del closedSet[node]
if (unlikely(PyDict_DelItem(__pyx_v_closedSet, __pyx_v_node) < 0)) __PYX_ERR(0, 276, __pyx_L1_error)
+277: elif node in openSet: # Modifiee 15.04.2019, ancienne ligne: elif openSet.has_key(node):
__pyx_t_25 = (__Pyx_PyDict_ContainsTF(__pyx_v_node, __pyx_v_openSet, Py_EQ)); if (unlikely(__pyx_t_25 < 0)) __PYX_ERR(0, 277, __pyx_L1_error) __pyx_t_7 = (__pyx_t_25 != 0); if (__pyx_t_7) { /* … */ goto __pyx_L14; }
+278: if openSet[node][0] > cout:
__pyx_t_6 = __Pyx_PyDict_GetItem(__pyx_v_openSet, __pyx_v_node); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 278, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_20 = __Pyx_GetItemInt(__pyx_t_6, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 278, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_20); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __pyx_t_6 = PyObject_RichCompare(__pyx_t_20, __pyx_v_cout, Py_GT); __Pyx_XGOTREF(__pyx_t_6); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 278, __pyx_L1_error) __Pyx_DECREF(__pyx_t_20); __pyx_t_20 = 0; __pyx_t_7 = __Pyx_PyObject_IsTrue(__pyx_t_6); if (unlikely(__pyx_t_7 < 0)) __PYX_ERR(0, 278, __pyx_L1_error) __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; if (__pyx_t_7) { /* … */ }
+279: openSet[node] = nodeValue
if (unlikely(PyDict_SetItem(__pyx_v_openSet, __pyx_v_node, __pyx_v_nodeValue) < 0)) __PYX_ERR(0, 279, __pyx_L1_error)
+280: else: openSet[node] = nodeValue
/*else*/ { if (unlikely(PyDict_SetItem(__pyx_v_openSet, __pyx_v_node, __pyx_v_nodeValue) < 0)) __PYX_ERR(0, 280, __pyx_L1_error) } __pyx_L14:;
281: # + rapide en théorie mais pas en pratique
282: #try:
283: # if closedSet[node][0] > cout:
284: # openSet[node] = nodeValue
285: # del closedSet[node]
286: #except KeyError:
287: # try:
288: # if openSet[node][0] > cout:
289: # openSet[node] = nodeValue
290: # except KeyError:
291: # openSet[node] = nodeValue
+292: best = None # noeud (posL1, posL2)
__Pyx_INCREF(Py_None); __Pyx_DECREF_SET(__pyx_v_best, Py_None);
+293: bestValue = None # valeur (cout,pere)
__Pyx_INCREF(Py_None); __Pyx_DECREF_SET(__pyx_v_bestValue, Py_None);
+294: if len(openSet) > 0:
__pyx_t_4 = PyDict_Size(__pyx_v_openSet); if (unlikely(__pyx_t_4 == ((Py_ssize_t)-1))) __PYX_ERR(0, 294, __pyx_L1_error) __pyx_t_7 = ((__pyx_t_4 > 0) != 0); if (__pyx_t_7) { /* … */ }
+295: for node in openSet: # recherche du noeud de moindre cout
__pyx_t_4 = 0; __pyx_t_3 = __Pyx_dict_iterator(__pyx_v_openSet, 1, ((PyObject *)NULL), (&__pyx_t_9), (&__pyx_t_22)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 295, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = __pyx_t_3; __pyx_t_3 = 0; while (1) { __pyx_t_26 = __Pyx_dict_iter_next(__pyx_t_1, __pyx_t_9, &__pyx_t_4, &__pyx_t_3, NULL, NULL, __pyx_t_22); if (unlikely(__pyx_t_26 == 0)) break; if (unlikely(__pyx_t_26 == -1)) __PYX_ERR(0, 295, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_XDECREF_SET(__pyx_v_node, __pyx_t_3); __pyx_t_3 = 0;
+296: if (best == None or openSet[node][0] < bestValue[0]):
__pyx_t_3 = PyObject_RichCompare(__pyx_v_best, Py_None, Py_EQ); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 296, __pyx_L1_error) __pyx_t_25 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_25 < 0)) __PYX_ERR(0, 296, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; if (!__pyx_t_25) { } else { __pyx_t_7 = __pyx_t_25; goto __pyx_L21_bool_binop_done; } __pyx_t_3 = __Pyx_PyDict_GetItem(__pyx_v_openSet, __pyx_v_node); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 296, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_6 = __Pyx_GetItemInt(__pyx_t_3, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 296, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_3 = __Pyx_GetItemInt(__pyx_v_bestValue, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 296, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_20 = PyObject_RichCompare(__pyx_t_6, __pyx_t_3, Py_LT); __Pyx_XGOTREF(__pyx_t_20); if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 296, __pyx_L1_error) __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_25 = __Pyx_PyObject_IsTrue(__pyx_t_20); if (unlikely(__pyx_t_25 < 0)) __PYX_ERR(0, 296, __pyx_L1_error) __Pyx_DECREF(__pyx_t_20); __pyx_t_20 = 0; __pyx_t_7 = __pyx_t_25; __pyx_L21_bool_binop_done:; if (__pyx_t_7) { /* … */ } } __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+297: best = node
__Pyx_INCREF(__pyx_v_node); __Pyx_DECREF_SET(__pyx_v_best, __pyx_v_node);
+298: bestValue = openSet[node]
__pyx_t_20 = __Pyx_PyDict_GetItem(__pyx_v_openSet, __pyx_v_node); if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 298, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_20); __Pyx_DECREF_SET(__pyx_v_bestValue, __pyx_t_20); __pyx_t_20 = 0;
+299: logging.debug( best)
__Pyx_GetModuleGlobalName(__pyx_t_20, __pyx_n_s_logging); if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 299, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_20); __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_20, __pyx_n_s_debug); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 299, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_20); __pyx_t_20 = 0; __pyx_t_20 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_3))) { __pyx_t_20 = PyMethod_GET_SELF(__pyx_t_3); if (likely(__pyx_t_20)) { PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3); __Pyx_INCREF(__pyx_t_20); __Pyx_INCREF(function); __Pyx_DECREF_SET(__pyx_t_3, function); } } __pyx_t_1 = (__pyx_t_20) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_20, __pyx_v_best) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_v_best); __Pyx_XDECREF(__pyx_t_20); __pyx_t_20 = 0; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 299, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
+300: L1 = L1Static[best[0]+1:] # listes correspondant à ce noeud
__pyx_t_1 = __Pyx_GetItemInt(__pyx_v_best, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 300, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_3 = __Pyx_PyInt_AddObjC(__pyx_t_1, __pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 300, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = __Pyx_PyObject_GetSlice(__pyx_v_L1Static, 0, 0, &__pyx_t_3, NULL, NULL, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 300, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF_SET(__pyx_v_L1, __pyx_t_1); __pyx_t_1 = 0;
+301: L2 = L2Static[best[1]+1:]
__pyx_t_1 = __Pyx_GetItemInt(__pyx_v_best, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 301, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_3 = __Pyx_PyInt_AddObjC(__pyx_t_1, __pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 301, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_1 = __Pyx_PyObject_GetSlice(__pyx_v_L2Static, 0, 0, &__pyx_t_3, NULL, NULL, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 301, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF_SET(__pyx_v_L2, __pyx_t_1); __pyx_t_1 = 0;
+302: del openSet[best]
if (unlikely(PyDict_DelItem(__pyx_v_openSet, __pyx_v_best) < 0)) __PYX_ERR(0, 302, __pyx_L1_error)
+303: closedSet[best] = bestValue
if (unlikely(PyDict_SetItem(__pyx_v_closedSet, __pyx_v_best, __pyx_v_bestValue) < 0)) __PYX_ERR(0, 303, __pyx_L1_error)
304: #logging.debug('best='+str(best)+' / bestValue='+str(bestValue))
+305: if (L1==[] or L2==[] or len(L1)+len(L2)==diffSym[(best[0],best[1])][1] or
__pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 305, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_3 = PyObject_RichCompare(__pyx_v_L1, __pyx_t_1, Py_EQ); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 305, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_25 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_25 < 0)) __PYX_ERR(0, 305, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; if (!__pyx_t_25) { } else { __pyx_t_7 = __pyx_t_25; goto __pyx_L24_bool_binop_done; } __pyx_t_3 = PyList_New(0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 305, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_1 = PyObject_RichCompare(__pyx_v_L2, __pyx_t_3, Py_EQ); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 305, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_25 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_25 < 0)) __PYX_ERR(0, 305, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (!__pyx_t_25) { } else { __pyx_t_7 = __pyx_t_25; goto __pyx_L24_bool_binop_done; } __pyx_t_9 = PyObject_Length(__pyx_v_L1); if (unlikely(__pyx_t_9 == ((Py_ssize_t)-1))) __PYX_ERR(0, 305, __pyx_L1_error) __pyx_t_4 = PyObject_Length(__pyx_v_L2); if (unlikely(__pyx_t_4 == ((Py_ssize_t)-1))) __PYX_ERR(0, 305, __pyx_L1_error) __pyx_t_1 = PyInt_FromSsize_t((__pyx_t_9 + __pyx_t_4)); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 305, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_3 = __Pyx_GetItemInt(__pyx_v_best, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 305, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_20 = __Pyx_GetItemInt(__pyx_v_best, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 305, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_20); __pyx_t_6 = PyTuple_New(2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 305, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_3); __Pyx_GIVEREF(__pyx_t_20); PyTuple_SET_ITEM(__pyx_t_6, 1, __pyx_t_20); __pyx_t_3 = 0; __pyx_t_20 = 0; __pyx_t_20 = __Pyx_PyObject_GetItem(__pyx_v_diffSym, __pyx_t_6); if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 305, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_20); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __pyx_t_6 = __Pyx_GetItemInt(__pyx_t_20, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 305, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_20); __pyx_t_20 = 0; __pyx_t_20 = PyObject_RichCompare(__pyx_t_1, __pyx_t_6, Py_EQ); __Pyx_XGOTREF(__pyx_t_20); if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 305, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __pyx_t_25 = __Pyx_PyObject_IsTrue(__pyx_t_20); if (unlikely(__pyx_t_25 < 0)) __PYX_ERR(0, 305, __pyx_L1_error) __Pyx_DECREF(__pyx_t_20); __pyx_t_20 = 0; if (!__pyx_t_25) { } else { __pyx_t_7 = __pyx_t_25; goto __pyx_L24_bool_binop_done; } /* … */ if (__pyx_t_7) { /* … */ } }
+306: len(openSet) == 0): # plus d'appariement possible, sortie
__pyx_t_4 = PyDict_Size(__pyx_v_openSet); if (unlikely(__pyx_t_4 == ((Py_ssize_t)-1))) __PYX_ERR(0, 306, __pyx_L1_error) __pyx_t_25 = ((__pyx_t_4 == 0) != 0); __pyx_t_7 = __pyx_t_25; __pyx_L24_bool_binop_done:;
+307: goalNodes[best] = bestValue
if (unlikely(PyDict_SetItem(__pyx_v_goalNodes, __pyx_v_best, __pyx_v_bestValue) < 0)) __PYX_ERR(0, 307, __pyx_L1_error)
+308: if len(openSet) == 0 or len(goalNodes) == 5:
__pyx_t_4 = PyDict_Size(__pyx_v_openSet); if (unlikely(__pyx_t_4 == ((Py_ssize_t)-1))) __PYX_ERR(0, 308, __pyx_L1_error) __pyx_t_25 = ((__pyx_t_4 == 0) != 0); if (!__pyx_t_25) { } else { __pyx_t_7 = __pyx_t_25; goto __pyx_L29_bool_binop_done; } __pyx_t_4 = PyDict_Size(__pyx_v_goalNodes); if (unlikely(__pyx_t_4 == ((Py_ssize_t)-1))) __PYX_ERR(0, 308, __pyx_L1_error) __pyx_t_25 = ((__pyx_t_4 == 5) != 0); __pyx_t_7 = __pyx_t_25; __pyx_L29_bool_binop_done:; if (__pyx_t_7) { /* … */ }
+309: best = None ; bestValue = None
__Pyx_INCREF(Py_None); __Pyx_DECREF_SET(__pyx_v_best, Py_None); __Pyx_INCREF(Py_None); __Pyx_DECREF_SET(__pyx_v_bestValue, Py_None);
+310: for node in goalNodes:
__pyx_t_4 = 0; __pyx_t_6 = __Pyx_dict_iterator(__pyx_v_goalNodes, 1, ((PyObject *)NULL), (&__pyx_t_9), (&__pyx_t_22)); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 310, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_XDECREF(__pyx_t_20); __pyx_t_20 = __pyx_t_6; __pyx_t_6 = 0; while (1) { __pyx_t_26 = __Pyx_dict_iter_next(__pyx_t_20, __pyx_t_9, &__pyx_t_4, &__pyx_t_6, NULL, NULL, __pyx_t_22); if (unlikely(__pyx_t_26 == 0)) break; if (unlikely(__pyx_t_26 == -1)) __PYX_ERR(0, 310, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_XDECREF_SET(__pyx_v_node, __pyx_t_6); __pyx_t_6 = 0;
+311: if (best == None or goalNodes[node][0] < bestValue[0]):
__pyx_t_6 = PyObject_RichCompare(__pyx_v_best, Py_None, Py_EQ); __Pyx_XGOTREF(__pyx_t_6); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 311, __pyx_L1_error) __pyx_t_25 = __Pyx_PyObject_IsTrue(__pyx_t_6); if (unlikely(__pyx_t_25 < 0)) __PYX_ERR(0, 311, __pyx_L1_error) __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; if (!__pyx_t_25) { } else { __pyx_t_7 = __pyx_t_25; goto __pyx_L34_bool_binop_done; } __pyx_t_6 = __Pyx_PyDict_GetItem(__pyx_v_goalNodes, __pyx_v_node); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 311, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_1 = __Pyx_GetItemInt(__pyx_t_6, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 311, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __pyx_t_6 = __Pyx_GetItemInt(__pyx_v_bestValue, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 311, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_3 = PyObject_RichCompare(__pyx_t_1, __pyx_t_6, Py_LT); __Pyx_XGOTREF(__pyx_t_3); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 311, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __pyx_t_25 = __Pyx_PyObject_IsTrue(__pyx_t_3); if (unlikely(__pyx_t_25 < 0)) __PYX_ERR(0, 311, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_t_7 = __pyx_t_25; __pyx_L34_bool_binop_done:; if (__pyx_t_7) { /* … */ } } __Pyx_DECREF(__pyx_t_20); __pyx_t_20 = 0;
+312: best = node
__Pyx_INCREF(__pyx_v_node); __Pyx_DECREF_SET(__pyx_v_best, __pyx_v_node);
+313: bestValue = goalNodes[node]
__pyx_t_3 = __Pyx_PyDict_GetItem(__pyx_v_goalNodes, __pyx_v_node); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 313, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF_SET(__pyx_v_bestValue, __pyx_t_3); __pyx_t_3 = 0;
+314: return best,closedSet
__Pyx_XDECREF(__pyx_r); __pyx_t_20 = PyTuple_New(2); if (unlikely(!__pyx_t_20)) __PYX_ERR(0, 314, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_20); __Pyx_INCREF(__pyx_v_best); __Pyx_GIVEREF(__pyx_v_best); PyTuple_SET_ITEM(__pyx_t_20, 0, __pyx_v_best); __Pyx_INCREF(__pyx_v_closedSet); __Pyx_GIVEREF(__pyx_v_closedSet); PyTuple_SET_ITEM(__pyx_t_20, 1, __pyx_v_closedSet); __pyx_r = __pyx_t_20; __pyx_t_20 = 0; goto __pyx_L0;
315: #iteration = best[2] + 1 # arbre ou graphe
316: #logging.debug('len(L1)='+str(len(L1))+' / len(L2)='+str(len(L2)))
317: #logging.debug('len(openSet)='+str(len(openSet)))
318: #logging.debug('len(closedSet)='+str(len(closedSet)))
319: #logging.debug('cptEval='+str(cptEval))
320: #logging.debug('openSet = '+str(openSet))
321: #logging.debug('closedSet = '+str(closedSet))
322: #logging.debug('rang(best) = '+str(best[2]))
323: #logging.debug('---------------------------')
324: