static PyObject *__Pyx_Generator_Throw(PyObject *self, PyObject *args) { __pyx_GeneratorObject *gen = (__pyx_GeneratorObject *) self; PyObject *typ; PyObject *tb = NULL; PyObject *val = NULL; PyObject *yf = gen->yieldfrom; if (!PyArg_UnpackTuple(args, (char *)"throw", 1, 3, &typ, &val, &tb)) return NULL; if (unlikely(__Pyx_Generator_CheckRunning(gen))) return NULL; if (yf) { PyObject *ret; Py_INCREF(yf); #if PY_VERSION_HEX >= 0x02050000 if (PyErr_GivenExceptionMatches(typ, PyExc_GeneratorExit)) { int err = __Pyx_Generator_CloseIter(gen, yf); Py_DECREF(yf); __Pyx_Generator_Undelegate(gen); if (err < 0) return __Pyx_Generator_SendEx(gen, NULL); goto throw_here; } #endif gen->is_running = 1; if (__Pyx_Generator_CheckExact(yf)) { ret = __Pyx_Generator_Throw(yf, args); } else { PyObject *meth = PyObject_GetAttr(yf, PYIDENT("throw")); if (unlikely(!meth)) { Py_DECREF(yf); if (!PyErr_ExceptionMatches(PyExc_AttributeError)) { gen->is_running = 0; return NULL; } PyErr_Clear(); __Pyx_Generator_Undelegate(gen); gen->is_running = 0; goto throw_here; } ret = PyObject_CallObject(meth, args); Py_DECREF(meth); } gen->is_running = 0; Py_DECREF(yf); if (!ret) { ret = __Pyx_Generator_FinishDelegation(gen); } return ret; } throw_here: __Pyx_Raise(typ, val, tb, NULL); return __Pyx_Generator_SendEx(gen, NULL); }
static PyObject *__Pyx_Generator_Throw(PyObject *self, PyObject *args) { __pyx_GeneratorObject *generator = (__pyx_GeneratorObject *) self; PyObject *typ; PyObject *tb = NULL; PyObject *val = NULL; if (!PyArg_UnpackTuple(args, (char *)"throw", 1, 3, &typ, &val, &tb)) return NULL; __Pyx_Raise(typ, val, tb, NULL); return __Pyx_Generator_SendEx(generator, NULL); }
/* "/home/richard/private/Working/snowball/pystemmer/src/Stemmer.pyx":68 */ Py_INCREF(__pyx_v_py_algs); __pyx_r = __pyx_v_py_algs; goto __pyx_L0; __pyx_r = Py_None; Py_INCREF(Py_None); goto __pyx_L0; __pyx_L1:; Py_XDECREF(__pyx_1); Py_XDECREF(__pyx_3); Py_XDECREF(__pyx_4); __Pyx_AddTraceback("Stemmer.algorithms"); __pyx_r = 0; __pyx_L0:; Py_DECREF(__pyx_v_py_algs); Py_DECREF(__pyx_v_aliases); return __pyx_r; } static PyObject *__pyx_f_7Stemmer_version(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static char __pyx_doc_7Stemmer_version[] = "Get the version string of the stemming module.\n\n This version number is for the Stemmer module as a whole (not for an\n individual stemming algorithm).\n\n "; static PyObject *__pyx_f_7Stemmer_version(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_r; static char *__pyx_argnames[] = {0}; if (!PyArg_ParseTupleAndKeywords(__pyx_args, __pyx_kwds, "", __pyx_argnames)) return 0; Py_INCREF(__pyx_k2p); __pyx_r = __pyx_k2p; goto __pyx_L0; __pyx_r = Py_None; Py_INCREF(Py_None); __pyx_L0:; return __pyx_r; } static int __pyx_f_7Stemmer_7Stemmer___init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/ static int __pyx_f_7Stemmer_7Stemmer___init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_v_algorithm = 0; int __pyx_v_maxCacheSize; int __pyx_r; char *__pyx_1; int __pyx_2; PyObject *__pyx_3 = 0; PyObject *__pyx_4 = 0; static char *__pyx_argnames[] = {"algorithm","maxCacheSize",0}; __pyx_v_maxCacheSize = __pyx_d2; if (!PyArg_ParseTupleAndKeywords(__pyx_args, __pyx_kwds, "O|i", __pyx_argnames, &__pyx_v_algorithm, &__pyx_v_maxCacheSize)) return -1; Py_INCREF(__pyx_v_self); Py_INCREF(__pyx_v_algorithm); /* "/home/richard/private/Working/snowball/pystemmer/src/Stemmer.pyx":118 */ __pyx_1 = PyString_AsString(__pyx_v_algorithm); if (!__pyx_1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 118; goto __pyx_L1;} ((struct __pyx_obj_7Stemmer_Stemmer *)__pyx_v_self)->cobj = sb_stemmer_new(__pyx_1,__pyx_k3); /* "/home/richard/private/Working/snowball/pystemmer/src/Stemmer.pyx":119 */ __pyx_2 = (((struct __pyx_obj_7Stemmer_Stemmer *)__pyx_v_self)->cobj == NULL); if (__pyx_2) { __pyx_3 = PyNumber_Remainder(__pyx_k4p, __pyx_v_algorithm); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 120; goto __pyx_L1;} __pyx_4 = PyTuple_New(1); if (!__pyx_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 120; goto __pyx_L1;} PyTuple_SET_ITEM(__pyx_4, 0, __pyx_3); __pyx_3 = 0; __pyx_3 = PyObject_CallObject(PyExc_KeyError, __pyx_4); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 120; goto __pyx_L1;} Py_DECREF(__pyx_4); __pyx_4 = 0; __Pyx_Raise(__pyx_3, 0, 0); Py_DECREF(__pyx_3); __pyx_3 = 0; {__pyx_filename = __pyx_f[0]; __pyx_lineno = 120; goto __pyx_L1;} goto __pyx_L2; } __pyx_L2:; /* "/home/richard/private/Working/snowball/pystemmer/src/Stemmer.pyx":121 */ ((struct __pyx_obj_7Stemmer_Stemmer *)__pyx_v_self)->max_cache_size = __pyx_v_maxCacheSize; /* "/home/richard/private/Working/snowball/pystemmer/src/Stemmer.pyx":122 */ __pyx_4 = PyInt_FromLong(0); if (!__pyx_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 122; goto __pyx_L1;} Py_DECREF(((struct __pyx_obj_7Stemmer_Stemmer *)__pyx_v_self)->counter); ((struct __pyx_obj_7Stemmer_Stemmer *)__pyx_v_self)->counter = __pyx_4; __pyx_4 = 0; /* "/home/richard/private/Working/snowball/pystemmer/src/Stemmer.pyx":123 */ __pyx_3 = PyDict_New(); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 123; goto __pyx_L1;} Py_DECREF(((struct __pyx_obj_7Stemmer_Stemmer *)__pyx_v_self)->cache); ((struct __pyx_obj_7Stemmer_Stemmer *)__pyx_v_self)->cache = __pyx_3; __pyx_3 = 0; __pyx_r = 0; goto __pyx_L0; __pyx_L1:; Py_XDECREF(__pyx_3); Py_XDECREF(__pyx_4); __Pyx_AddTraceback("Stemmer.Stemmer.__init__"); __pyx_r = -1; __pyx_L0:; Py_DECREF(__pyx_v_self); Py_DECREF(__pyx_v_algorithm); return __pyx_r; }
static PyObject *__pyx_f_6ssdeep_6ssdeep_hash_file(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_v_filename = 0; PyObject *__pyx_v_res; PyObject *__pyx_r; char (*__pyx_1); PyObject *__pyx_2 = 0; int __pyx_3; PyObject *__pyx_4 = 0; PyObject *__pyx_5 = 0; PyObject *__pyx_6 = 0; static char *__pyx_argnames[] = {"filename",0}; if (!PyArg_ParseTupleAndKeywords(__pyx_args, __pyx_kwds, "O", __pyx_argnames, &__pyx_v_filename)) return 0; Py_INCREF(__pyx_v_self); Py_INCREF(__pyx_v_filename); __pyx_v_res = Py_None; Py_INCREF(__pyx_v_res); /* "/home/jose/tmp/ssdeep-2.2/pyssdeep-read-only/ssdeep.pyx":33 */ __pyx_1 = PyString_AsString(__pyx_v_filename); if (PyErr_Occurred()) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 33; goto __pyx_L1;} __pyx_2 = PyString_FromString(fuzzy_hash(__pyx_1)); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 33; goto __pyx_L1;} Py_DECREF(__pyx_v_res); __pyx_v_res = __pyx_2; __pyx_2 = 0; /* "/home/jose/tmp/ssdeep-2.2/pyssdeep-read-only/ssdeep.pyx":35 */ __pyx_3 = PySequence_Contains(__pyx_v_res, __pyx_k2p); if (__pyx_3 < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 35; goto __pyx_L1;} if (__pyx_3) { /* "/home/jose/tmp/ssdeep-2.2/pyssdeep-read-only/ssdeep.pyx":36 */ __pyx_2 = __Pyx_GetName(__pyx_m, __pyx_n_SsdeepException); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 36; goto __pyx_L1;} __pyx_4 = PyObject_GetAttr(__pyx_v_res, __pyx_n_replace); if (!__pyx_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 36; goto __pyx_L1;} __pyx_5 = PyTuple_New(2); if (!__pyx_5) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 36; goto __pyx_L1;} Py_INCREF(__pyx_k3p); PyTuple_SET_ITEM(__pyx_5, 0, __pyx_k3p); Py_INCREF(__pyx_k4p); PyTuple_SET_ITEM(__pyx_5, 1, __pyx_k4p); __pyx_6 = PyObject_CallObject(__pyx_4, __pyx_5); if (!__pyx_6) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 36; goto __pyx_L1;} Py_DECREF(__pyx_4); __pyx_4 = 0; Py_DECREF(__pyx_5); __pyx_5 = 0; __Pyx_Raise(__pyx_2, __pyx_6, 0); Py_DECREF(__pyx_2); __pyx_2 = 0; Py_DECREF(__pyx_6); __pyx_6 = 0; {__pyx_filename = __pyx_f[0]; __pyx_lineno = 36; goto __pyx_L1;} goto __pyx_L2; } /*else*/ { Py_INCREF(__pyx_v_res); __pyx_r = __pyx_v_res; goto __pyx_L0; } __pyx_L2:; __pyx_r = Py_None; Py_INCREF(__pyx_r); goto __pyx_L0; __pyx_L1:; Py_XDECREF(__pyx_2); Py_XDECREF(__pyx_4); Py_XDECREF(__pyx_5); Py_XDECREF(__pyx_6); __Pyx_AddTraceback("ssdeep.ssdeep.hash_file"); __pyx_r = 0; __pyx_L0:; Py_DECREF(__pyx_v_res); Py_DECREF(__pyx_v_self); Py_DECREF(__pyx_v_filename); return __pyx_r; }
static PyObject *__pyx_f_6ssdeep_6ssdeep_hash_bytes(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyObject *__pyx_v_buf = 0; char (*__pyx_v_utext); PyObject *__pyx_v_res; PyObject *__pyx_r; char (*__pyx_1); PyObject *__pyx_2 = 0; PyObject *__pyx_3 = 0; PyObject *__pyx_4 = 0; int __pyx_5; PyObject *__pyx_6 = 0; static char *__pyx_argnames[] = {"buf",0}; if (!PyArg_ParseTupleAndKeywords(__pyx_args, __pyx_kwds, "O", __pyx_argnames, &__pyx_v_buf)) return 0; Py_INCREF(__pyx_v_self); Py_INCREF(__pyx_v_buf); __pyx_v_res = Py_None; Py_INCREF(__pyx_v_res); /* "/home/jose/tmp/ssdeep-2.2/pyssdeep-read-only/ssdeep.pyx":42 */ __pyx_1 = PyString_AsString(__pyx_v_buf); if (PyErr_Occurred()) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 42; goto __pyx_L1;} __pyx_v_utext = __pyx_1; /* "/home/jose/tmp/ssdeep-2.2/pyssdeep-read-only/ssdeep.pyx":43 */ __pyx_2 = __Pyx_GetName(__pyx_b, __pyx_n_len); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 43; goto __pyx_L1;} __pyx_3 = PyTuple_New(1); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 43; goto __pyx_L1;} Py_INCREF(__pyx_v_buf); PyTuple_SET_ITEM(__pyx_3, 0, __pyx_v_buf); __pyx_4 = PyObject_CallObject(__pyx_2, __pyx_3); if (!__pyx_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 43; goto __pyx_L1;} Py_DECREF(__pyx_2); __pyx_2 = 0; Py_DECREF(__pyx_3); __pyx_3 = 0; __pyx_5 = PyInt_AsLong(__pyx_4); if (PyErr_Occurred()) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 43; goto __pyx_L1;} Py_DECREF(__pyx_4); __pyx_4 = 0; __pyx_2 = PyString_FromString(fuzzy_hash_data(__pyx_v_utext,__pyx_5)); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 43; goto __pyx_L1;} Py_DECREF(__pyx_v_res); __pyx_v_res = __pyx_2; __pyx_2 = 0; /* "/home/jose/tmp/ssdeep-2.2/pyssdeep-read-only/ssdeep.pyx":44 */ __pyx_5 = PySequence_Contains(__pyx_v_res, __pyx_k5p); if (__pyx_5 < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 44; goto __pyx_L1;} if (__pyx_5) { /* "/home/jose/tmp/ssdeep-2.2/pyssdeep-read-only/ssdeep.pyx":45 */ __pyx_3 = __Pyx_GetName(__pyx_m, __pyx_n_SsdeepException); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 45; goto __pyx_L1;} __pyx_4 = __Pyx_GetName(__pyx_b, __pyx_n_replace); if (!__pyx_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 45; goto __pyx_L1;} __pyx_2 = PyTuple_New(2); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 45; goto __pyx_L1;} Py_INCREF(__pyx_k6p); PyTuple_SET_ITEM(__pyx_2, 0, __pyx_k6p); Py_INCREF(__pyx_k7p); PyTuple_SET_ITEM(__pyx_2, 1, __pyx_k7p); __pyx_6 = PyObject_CallObject(__pyx_4, __pyx_2); if (!__pyx_6) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 45; goto __pyx_L1;} Py_DECREF(__pyx_4); __pyx_4 = 0; Py_DECREF(__pyx_2); __pyx_2 = 0; __Pyx_Raise(__pyx_3, __pyx_v_res, __pyx_6); Py_DECREF(__pyx_3); __pyx_3 = 0; Py_DECREF(__pyx_6); __pyx_6 = 0; {__pyx_filename = __pyx_f[0]; __pyx_lineno = 45; goto __pyx_L1;} goto __pyx_L2; } /*else*/ { Py_INCREF(__pyx_v_res); __pyx_r = __pyx_v_res; goto __pyx_L0; } __pyx_L2:; __pyx_r = Py_None; Py_INCREF(__pyx_r); goto __pyx_L0; __pyx_L1:; Py_XDECREF(__pyx_2); Py_XDECREF(__pyx_3); Py_XDECREF(__pyx_4); Py_XDECREF(__pyx_6); __Pyx_AddTraceback("ssdeep.ssdeep.hash_bytes"); __pyx_r = 0; __pyx_L0:; Py_DECREF(__pyx_v_res); Py_DECREF(__pyx_v_self); Py_DECREF(__pyx_v_buf); return __pyx_r; }
static PyObject *__pyx_f_11closestpair_closest_pair(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { PyListObject *__pyx_v_points = 0; float __pyx_v_min_d; PyObject *__pyx_v_min_p1; PyObject *__pyx_v_min_p2; PyObject *__pyx_v_i; PyObject *__pyx_v_point; PyObject *__pyx_v_point2; PyObject *__pyx_v_d; PyObject *__pyx_v_split; PyObject *__pyx_v_d1; PyObject *__pyx_v_p11; PyObject *__pyx_v_p12; PyObject *__pyx_v_d2; PyObject *__pyx_v_p21; PyObject *__pyx_v_p22; PyObject *__pyx_v_points_in_strip; PyObject *__pyx_v_split_at; PyObject *__pyx_v_max_i; PyObject *__pyx_v_sd; PyObject *__pyx_r; Py_ssize_t __pyx_1; int __pyx_2; PyObject *__pyx_3 = 0; PyObject *__pyx_4 = 0; PyObject *__pyx_5 = 0; PyObject *__pyx_6 = 0; PyObject *__pyx_7 = 0; PyObject *__pyx_8 = 0; PyObject *__pyx_9 = 0; PyObject *__pyx_10 = 0; float __pyx_11; int __pyx_12; Py_ssize_t __pyx_13; static char *__pyx_argnames[] = {"points",0}; if (!PyArg_ParseTupleAndKeywords(__pyx_args, __pyx_kwds, "O", __pyx_argnames, &__pyx_v_points)) return 0; Py_INCREF(__pyx_v_points); __pyx_v_min_p1 = Py_None; Py_INCREF(Py_None); __pyx_v_min_p2 = Py_None; Py_INCREF(Py_None); __pyx_v_i = Py_None; Py_INCREF(Py_None); __pyx_v_point = Py_None; Py_INCREF(Py_None); __pyx_v_point2 = Py_None; Py_INCREF(Py_None); __pyx_v_d = Py_None; Py_INCREF(Py_None); __pyx_v_split = Py_None; Py_INCREF(Py_None); __pyx_v_d1 = Py_None; Py_INCREF(Py_None); __pyx_v_p11 = Py_None; Py_INCREF(Py_None); __pyx_v_p12 = Py_None; Py_INCREF(Py_None); __pyx_v_d2 = Py_None; Py_INCREF(Py_None); __pyx_v_p21 = Py_None; Py_INCREF(Py_None); __pyx_v_p22 = Py_None; Py_INCREF(Py_None); __pyx_v_points_in_strip = Py_None; Py_INCREF(Py_None); __pyx_v_split_at = Py_None; Py_INCREF(Py_None); __pyx_v_max_i = Py_None; Py_INCREF(Py_None); __pyx_v_sd = Py_None; Py_INCREF(Py_None); if (!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_points), (&PyList_Type), 1, "points")) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 6; goto __pyx_L1;} /* "/home/andrew/Programs/cluster/clusterer/closestpair.pyx":15 */ __pyx_1 = PyObject_Length(((PyObject *)__pyx_v_points)); if (__pyx_1 == -1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 15; goto __pyx_L1;} __pyx_2 = (__pyx_1 < 2); if (__pyx_2) { __pyx_3 = PyTuple_New(1); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 16; goto __pyx_L1;} Py_INCREF(__pyx_k1p); PyTuple_SET_ITEM(__pyx_3, 0, __pyx_k1p); __pyx_4 = PyObject_CallObject(PyExc_ValueError, __pyx_3); if (!__pyx_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 16; goto __pyx_L1;} Py_DECREF(__pyx_3); __pyx_3 = 0; __Pyx_Raise(__pyx_4, 0, 0); Py_DECREF(__pyx_4); __pyx_4 = 0; {__pyx_filename = __pyx_f[0]; __pyx_lineno = 16; goto __pyx_L1;} goto __pyx_L2; } __pyx_1 = PyObject_Length(((PyObject *)__pyx_v_points)); if (__pyx_1 == -1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 17; goto __pyx_L1;} __pyx_2 = 2 <= __pyx_1; if (__pyx_2) { __pyx_2 = __pyx_1 <= 6; } if (__pyx_2) { /* "/home/andrew/Programs/cluster/clusterer/closestpair.pyx":18 */ __pyx_v_min_d = 0; /* "/home/andrew/Programs/cluster/clusterer/closestpair.pyx":19 */ Py_INCREF(Py_None); Py_DECREF(__pyx_v_min_p1); __pyx_v_min_p1 = Py_None; /* "/home/andrew/Programs/cluster/clusterer/closestpair.pyx":20 */ Py_INCREF(Py_None); Py_DECREF(__pyx_v_min_p2); __pyx_v_min_p2 = Py_None; /* "/home/andrew/Programs/cluster/clusterer/closestpair.pyx":21 */ __pyx_3 = PyTuple_New(1); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 21; goto __pyx_L1;} Py_INCREF(((PyObject *)__pyx_v_points)); PyTuple_SET_ITEM(__pyx_3, 0, ((PyObject *)__pyx_v_points)); __pyx_4 = PyObject_CallObject(((PyObject *)(&PyEnum_Type)), __pyx_3); if (!__pyx_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 21; goto __pyx_L1;} Py_DECREF(__pyx_3); __pyx_3 = 0; __pyx_3 = PyObject_GetIter(__pyx_4); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 21; goto __pyx_L1;} Py_DECREF(__pyx_4); __pyx_4 = 0; for (;;) { __pyx_4 = PyIter_Next(__pyx_3); if (!__pyx_4) { if (PyErr_Occurred()) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 21; goto __pyx_L1;} break; } __pyx_5 = PyObject_GetIter(__pyx_4); if (!__pyx_5) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 21; goto __pyx_L1;} Py_DECREF(__pyx_4); __pyx_4 = 0; __pyx_4 = __Pyx_UnpackItem(__pyx_5); if (!__pyx_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 21; goto __pyx_L1;} Py_DECREF(__pyx_v_i); __pyx_v_i = __pyx_4; __pyx_4 = 0; __pyx_4 = __Pyx_UnpackItem(__pyx_5); if (!__pyx_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 21; goto __pyx_L1;} Py_DECREF(__pyx_v_point); __pyx_v_point = __pyx_4; __pyx_4 = 0; if (__Pyx_EndUnpack(__pyx_5) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 21; goto __pyx_L1;} Py_DECREF(__pyx_5); __pyx_5 = 0; __pyx_4 = PyInt_FromLong(1); if (!__pyx_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 22; goto __pyx_L1;} __pyx_5 = PyNumber_Add(__pyx_v_i, __pyx_4); if (!__pyx_5) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 22; goto __pyx_L1;} Py_DECREF(__pyx_4); __pyx_4 = 0; __pyx_1 = PyInt_AsSsize_t(__pyx_5); if (PyErr_Occurred()) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 22; goto __pyx_L1;} Py_DECREF(__pyx_5); __pyx_5 = 0; __pyx_4 = PySequence_GetSlice(((PyObject *)__pyx_v_points), __pyx_1, PY_SSIZE_T_MAX); if (!__pyx_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 22; goto __pyx_L1;} __pyx_5 = PyObject_GetIter(__pyx_4); if (!__pyx_5) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 22; goto __pyx_L1;} Py_DECREF(__pyx_4); __pyx_4 = 0; for (;;) { __pyx_4 = PyIter_Next(__pyx_5); if (!__pyx_4) { if (PyErr_Occurred()) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 22; goto __pyx_L1;} break; } Py_DECREF(__pyx_v_point2); __pyx_v_point2 = __pyx_4; __pyx_4 = 0; /* "/home/andrew/Programs/cluster/clusterer/closestpair.pyx":23 */ __pyx_4 = __Pyx_GetName(__pyx_m, __pyx_n_distance); if (!__pyx_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 23; goto __pyx_L1;} __pyx_6 = PySequence_GetItem(__pyx_v_point, 0); if (!__pyx_6) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 23; goto __pyx_L1;} __pyx_7 = PySequence_GetItem(__pyx_v_point, 1); if (!__pyx_7) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 23; goto __pyx_L1;} __pyx_8 = PySequence_GetItem(__pyx_v_point2, 0); if (!__pyx_8) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 23; goto __pyx_L1;} __pyx_9 = PySequence_GetItem(__pyx_v_point2, 1); if (!__pyx_9) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 23; goto __pyx_L1;} __pyx_10 = PyTuple_New(4); if (!__pyx_10) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 23; goto __pyx_L1;} PyTuple_SET_ITEM(__pyx_10, 0, __pyx_6); PyTuple_SET_ITEM(__pyx_10, 1, __pyx_7); PyTuple_SET_ITEM(__pyx_10, 2, __pyx_8); PyTuple_SET_ITEM(__pyx_10, 3, __pyx_9); __pyx_6 = 0; __pyx_7 = 0; __pyx_8 = 0; __pyx_9 = 0; __pyx_6 = PyObject_CallObject(__pyx_4, __pyx_10); if (!__pyx_6) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 23; goto __pyx_L1;} Py_DECREF(__pyx_4); __pyx_4 = 0; Py_DECREF(__pyx_10); __pyx_10 = 0; Py_DECREF(__pyx_v_d); __pyx_v_d = __pyx_6; __pyx_6 = 0; /* "/home/andrew/Programs/cluster/clusterer/closestpair.pyx":24 */ __pyx_2 = (__pyx_v_min_d == 0); if (!__pyx_2) { __pyx_7 = PyFloat_FromDouble(__pyx_v_min_d); if (!__pyx_7) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 24; goto __pyx_L1;} if (PyObject_Cmp(__pyx_7, __pyx_v_d, &__pyx_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 24; goto __pyx_L1;} __pyx_2 = __pyx_2 > 0; Py_DECREF(__pyx_7); __pyx_7 = 0; } if (__pyx_2) { /* "/home/andrew/Programs/cluster/clusterer/closestpair.pyx":25 */ __pyx_11 = PyFloat_AsDouble(__pyx_v_d); if (PyErr_Occurred()) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 25; goto __pyx_L1;} __pyx_v_min_d = __pyx_11; /* "/home/andrew/Programs/cluster/clusterer/closestpair.pyx":26 */ Py_INCREF(__pyx_v_point); Py_DECREF(__pyx_v_min_p1); __pyx_v_min_p1 = __pyx_v_point; /* "/home/andrew/Programs/cluster/clusterer/closestpair.pyx":27 */ Py_INCREF(__pyx_v_point2); Py_DECREF(__pyx_v_min_p2); __pyx_v_min_p2 = __pyx_v_point2; goto __pyx_L7; } __pyx_L7:; } Py_DECREF(__pyx_5); __pyx_5 = 0; } Py_DECREF(__pyx_3); __pyx_3 = 0; /* "/home/andrew/Programs/cluster/clusterer/closestpair.pyx":28 */ __pyx_8 = PyFloat_FromDouble(__pyx_v_min_d); if (!__pyx_8) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 28; goto __pyx_L1;} __pyx_9 = PyTuple_New(3); if (!__pyx_9) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 28; goto __pyx_L1;} PyTuple_SET_ITEM(__pyx_9, 0, __pyx_8); Py_INCREF(__pyx_v_min_p1); PyTuple_SET_ITEM(__pyx_9, 1, __pyx_v_min_p1); Py_INCREF(__pyx_v_min_p2); PyTuple_SET_ITEM(__pyx_9, 2, __pyx_v_min_p2); __pyx_8 = 0; __pyx_r = __pyx_9; __pyx_9 = 0; goto __pyx_L0; goto __pyx_L2; } /*else*/ { /* "/home/andrew/Programs/cluster/clusterer/closestpair.pyx":30 */ __pyx_12 = PyList_Sort(((PyObject *)__pyx_v_points)); if (__pyx_12 == -1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 30; goto __pyx_L1;} /* "/home/andrew/Programs/cluster/clusterer/closestpair.pyx":32 */ __pyx_1 = PyObject_Length(((PyObject *)__pyx_v_points)); if (__pyx_1 == -1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 32; goto __pyx_L1;} __pyx_4 = PyInt_FromSsize_t((__pyx_1 / 2)); if (!__pyx_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 32; goto __pyx_L1;} __pyx_10 = PyTuple_New(1); if (!__pyx_10) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 32; goto __pyx_L1;} PyTuple_SET_ITEM(__pyx_10, 0, __pyx_4); __pyx_4 = 0; __pyx_6 = PyObject_CallObject(((PyObject *)(&PyInt_Type)), __pyx_10); if (!__pyx_6) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 32; goto __pyx_L1;} Py_DECREF(__pyx_10); __pyx_10 = 0; Py_DECREF(__pyx_v_split); __pyx_v_split = __pyx_6; __pyx_6 = 0; /* "/home/andrew/Programs/cluster/clusterer/closestpair.pyx":33 */ __pyx_7 = __Pyx_GetName(__pyx_m, __pyx_n_closest_pair); if (!__pyx_7) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 33; goto __pyx_L1;} __pyx_1 = PyInt_AsSsize_t(__pyx_v_split); if (PyErr_Occurred()) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 33; goto __pyx_L1;} __pyx_5 = PySequence_GetSlice(((PyObject *)__pyx_v_points), 0, __pyx_1); if (!__pyx_5) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 33; goto __pyx_L1;} __pyx_3 = PyTuple_New(1); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 33; goto __pyx_L1;} PyTuple_SET_ITEM(__pyx_3, 0, __pyx_5); __pyx_5 = 0; __pyx_8 = PyObject_CallObject(__pyx_7, __pyx_3); if (!__pyx_8) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 33; goto __pyx_L1;} Py_DECREF(__pyx_7); __pyx_7 = 0; Py_DECREF(__pyx_3); __pyx_3 = 0; __pyx_9 = PyObject_GetIter(__pyx_8); if (!__pyx_9) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 33; goto __pyx_L1;} Py_DECREF(__pyx_8); __pyx_8 = 0; __pyx_4 = __Pyx_UnpackItem(__pyx_9); if (!__pyx_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 33; goto __pyx_L1;} Py_DECREF(__pyx_v_d1); __pyx_v_d1 = __pyx_4; __pyx_4 = 0; __pyx_10 = __Pyx_UnpackItem(__pyx_9); if (!__pyx_10) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 33; goto __pyx_L1;} Py_DECREF(__pyx_v_p11); __pyx_v_p11 = __pyx_10; __pyx_10 = 0; __pyx_6 = __Pyx_UnpackItem(__pyx_9); if (!__pyx_6) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 33; goto __pyx_L1;} Py_DECREF(__pyx_v_p12); __pyx_v_p12 = __pyx_6; __pyx_6 = 0; if (__Pyx_EndUnpack(__pyx_9) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 33; goto __pyx_L1;} Py_DECREF(__pyx_9); __pyx_9 = 0; /* "/home/andrew/Programs/cluster/clusterer/closestpair.pyx":34 */ __pyx_5 = __Pyx_GetName(__pyx_m, __pyx_n_closest_pair); if (!__pyx_5) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 34; goto __pyx_L1;} __pyx_1 = PyInt_AsSsize_t(__pyx_v_split); if (PyErr_Occurred()) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 34; goto __pyx_L1;} __pyx_7 = PySequence_GetSlice(((PyObject *)__pyx_v_points), __pyx_1, PY_SSIZE_T_MAX); if (!__pyx_7) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 34; goto __pyx_L1;} __pyx_3 = PyTuple_New(1); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 34; goto __pyx_L1;} PyTuple_SET_ITEM(__pyx_3, 0, __pyx_7); __pyx_7 = 0; __pyx_8 = PyObject_CallObject(__pyx_5, __pyx_3); if (!__pyx_8) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 34; goto __pyx_L1;} Py_DECREF(__pyx_5); __pyx_5 = 0; Py_DECREF(__pyx_3); __pyx_3 = 0; __pyx_4 = PyObject_GetIter(__pyx_8); if (!__pyx_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 34; goto __pyx_L1;} Py_DECREF(__pyx_8); __pyx_8 = 0; __pyx_10 = __Pyx_UnpackItem(__pyx_4); if (!__pyx_10) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 34; goto __pyx_L1;} Py_DECREF(__pyx_v_d2); __pyx_v_d2 = __pyx_10; __pyx_10 = 0; __pyx_6 = __Pyx_UnpackItem(__pyx_4); if (!__pyx_6) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 34; goto __pyx_L1;} Py_DECREF(__pyx_v_p21); __pyx_v_p21 = __pyx_6; __pyx_6 = 0; __pyx_9 = __Pyx_UnpackItem(__pyx_4); if (!__pyx_9) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 34; goto __pyx_L1;} Py_DECREF(__pyx_v_p22); __pyx_v_p22 = __pyx_9; __pyx_9 = 0; if (__Pyx_EndUnpack(__pyx_4) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 34; goto __pyx_L1;} Py_DECREF(__pyx_4); __pyx_4 = 0; /* "/home/andrew/Programs/cluster/clusterer/closestpair.pyx":35 */ __pyx_7 = __Pyx_GetName(__pyx_b, __pyx_n_min); if (!__pyx_7) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 35; goto __pyx_L1;} __pyx_5 = PyTuple_New(2); if (!__pyx_5) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 35; goto __pyx_L1;} Py_INCREF(__pyx_v_d1); PyTuple_SET_ITEM(__pyx_5, 0, __pyx_v_d1); Py_INCREF(__pyx_v_d2); PyTuple_SET_ITEM(__pyx_5, 1, __pyx_v_d2); __pyx_3 = PyObject_CallObject(__pyx_7, __pyx_5); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 35; goto __pyx_L1;} Py_DECREF(__pyx_7); __pyx_7 = 0; Py_DECREF(__pyx_5); __pyx_5 = 0; Py_DECREF(__pyx_v_d); __pyx_v_d = __pyx_3; __pyx_3 = 0; /* "/home/andrew/Programs/cluster/clusterer/closestpair.pyx":37 */ __pyx_8 = PyList_New(0); if (!__pyx_8) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 37; goto __pyx_L1;} Py_DECREF(__pyx_v_points_in_strip); __pyx_v_points_in_strip = __pyx_8; __pyx_8 = 0; /* "/home/andrew/Programs/cluster/clusterer/closestpair.pyx":38 */ __pyx_10 = PyInt_FromLong(1); if (!__pyx_10) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 38; goto __pyx_L1;} __pyx_6 = PyNumber_Subtract(__pyx_v_split, __pyx_10); if (!__pyx_6) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 38; goto __pyx_L1;} Py_DECREF(__pyx_10); __pyx_10 = 0; __pyx_9 = PyObject_GetItem(((PyObject *)__pyx_v_points), __pyx_6); if (!__pyx_9) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 38; goto __pyx_L1;} Py_DECREF(__pyx_6); __pyx_6 = 0; __pyx_4 = PySequence_GetItem(__pyx_9, 0); if (!__pyx_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 38; goto __pyx_L1;} Py_DECREF(__pyx_9); __pyx_9 = 0; __pyx_7 = PyObject_GetItem(((PyObject *)__pyx_v_points), __pyx_v_split); if (!__pyx_7) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 38; goto __pyx_L1;} __pyx_5 = PySequence_GetItem(__pyx_7, 0); if (!__pyx_5) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 38; goto __pyx_L1;} Py_DECREF(__pyx_7); __pyx_7 = 0; __pyx_3 = PyNumber_Add(__pyx_4, __pyx_5); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 38; goto __pyx_L1;} Py_DECREF(__pyx_4); __pyx_4 = 0; Py_DECREF(__pyx_5); __pyx_5 = 0; __pyx_8 = PyFloat_FromDouble(2.0); if (!__pyx_8) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 38; goto __pyx_L1;} __pyx_10 = PyNumber_Divide(__pyx_3, __pyx_8); if (!__pyx_10) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 38; goto __pyx_L1;} Py_DECREF(__pyx_3); __pyx_3 = 0; Py_DECREF(__pyx_8); __pyx_8 = 0; Py_DECREF(__pyx_v_split_at); __pyx_v_split_at = __pyx_10; __pyx_10 = 0; /* "/home/andrew/Programs/cluster/clusterer/closestpair.pyx":39 */ __pyx_6 = PyObject_GetIter(((PyObject *)__pyx_v_points)); if (!__pyx_6) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 39; goto __pyx_L1;} for (;;) { __pyx_9 = PyIter_Next(__pyx_6); if (!__pyx_9) { if (PyErr_Occurred()) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 39; goto __pyx_L1;} break; } Py_DECREF(__pyx_v_point); __pyx_v_point = __pyx_9; __pyx_9 = 0; /* "/home/andrew/Programs/cluster/clusterer/closestpair.pyx":40 */ __pyx_7 = PySequence_GetItem(__pyx_v_point, 0); if (!__pyx_7) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 40; goto __pyx_L1;} __pyx_4 = PyNumber_Subtract(__pyx_v_split_at, __pyx_v_d); if (!__pyx_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 40; goto __pyx_L1;} if (PyObject_Cmp(__pyx_7, __pyx_4, &__pyx_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 40; goto __pyx_L1;} __pyx_2 = __pyx_2 < 0; Py_DECREF(__pyx_7); __pyx_7 = 0; Py_DECREF(__pyx_4); __pyx_4 = 0; if (__pyx_2) { goto __pyx_L8; goto __pyx_L10; } __pyx_5 = PySequence_GetItem(__pyx_v_point, 0); if (!__pyx_5) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 42; goto __pyx_L1;} __pyx_3 = PyNumber_Add(__pyx_v_split_at, __pyx_v_d); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 42; goto __pyx_L1;} if (PyObject_Cmp(__pyx_5, __pyx_3, &__pyx_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 42; goto __pyx_L1;} __pyx_2 = __pyx_2 > 0; Py_DECREF(__pyx_5); __pyx_5 = 0; Py_DECREF(__pyx_3); __pyx_3 = 0; if (__pyx_2) { goto __pyx_L9; goto __pyx_L10; } __pyx_L10:; /* "/home/andrew/Programs/cluster/clusterer/closestpair.pyx":44 */ __pyx_8 = PyObject_GetAttr(__pyx_v_points_in_strip, __pyx_n_append); if (!__pyx_8) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 44; goto __pyx_L1;} __pyx_10 = PySequence_GetItem(__pyx_v_point, 1); if (!__pyx_10) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 44; goto __pyx_L1;} __pyx_9 = PySequence_GetItem(__pyx_v_point, 0); if (!__pyx_9) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 44; goto __pyx_L1;} __pyx_7 = PySequence_GetItem(__pyx_v_point, 2); if (!__pyx_7) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 44; goto __pyx_L1;} __pyx_4 = PyTuple_New(3); if (!__pyx_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 44; goto __pyx_L1;} PyTuple_SET_ITEM(__pyx_4, 0, __pyx_10); PyTuple_SET_ITEM(__pyx_4, 1, __pyx_9); PyTuple_SET_ITEM(__pyx_4, 2, __pyx_7); __pyx_10 = 0; __pyx_9 = 0; __pyx_7 = 0; __pyx_5 = PyTuple_New(1); if (!__pyx_5) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 44; goto __pyx_L1;} PyTuple_SET_ITEM(__pyx_5, 0, __pyx_4); __pyx_4 = 0; __pyx_3 = PyObject_CallObject(__pyx_8, __pyx_5); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 44; goto __pyx_L1;} Py_DECREF(__pyx_8); __pyx_8 = 0; Py_DECREF(__pyx_5); __pyx_5 = 0; Py_DECREF(__pyx_3); __pyx_3 = 0; __pyx_L8:; } __pyx_L9:; Py_DECREF(__pyx_6); __pyx_6 = 0; /* "/home/andrew/Programs/cluster/clusterer/closestpair.pyx":46 */ __pyx_10 = PyObject_GetAttr(__pyx_v_points_in_strip, __pyx_n_sort); if (!__pyx_10) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 46; goto __pyx_L1;} __pyx_9 = PyObject_CallObject(__pyx_10, 0); if (!__pyx_9) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 46; goto __pyx_L1;} Py_DECREF(__pyx_10); __pyx_10 = 0; Py_DECREF(__pyx_9); __pyx_9 = 0; /* "/home/andrew/Programs/cluster/clusterer/closestpair.pyx":48 */ __pyx_v_min_d = 0; /* "/home/andrew/Programs/cluster/clusterer/closestpair.pyx":49 */ Py_INCREF(Py_None); Py_DECREF(__pyx_v_min_p1); __pyx_v_min_p1 = Py_None; /* "/home/andrew/Programs/cluster/clusterer/closestpair.pyx":50 */ Py_INCREF(Py_None); Py_DECREF(__pyx_v_min_p2); __pyx_v_min_p2 = Py_None; /* "/home/andrew/Programs/cluster/clusterer/closestpair.pyx":51 */ __pyx_1 = PyObject_Length(__pyx_v_points_in_strip); if (__pyx_1 == -1) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 51; goto __pyx_L1;} __pyx_7 = PyInt_FromSsize_t(__pyx_1); if (!__pyx_7) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 51; goto __pyx_L1;} Py_DECREF(__pyx_v_max_i); __pyx_v_max_i = __pyx_7; __pyx_7 = 0; /* "/home/andrew/Programs/cluster/clusterer/closestpair.pyx":52 */ __pyx_4 = PyTuple_New(1); if (!__pyx_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 52; goto __pyx_L1;} Py_INCREF(__pyx_v_points_in_strip); PyTuple_SET_ITEM(__pyx_4, 0, __pyx_v_points_in_strip); __pyx_8 = PyObject_CallObject(((PyObject *)(&PyEnum_Type)), __pyx_4); if (!__pyx_8) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 52; goto __pyx_L1;} Py_DECREF(__pyx_4); __pyx_4 = 0; __pyx_5 = PyObject_GetIter(__pyx_8); if (!__pyx_5) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 52; goto __pyx_L1;} Py_DECREF(__pyx_8); __pyx_8 = 0; for (;;) { __pyx_3 = PyIter_Next(__pyx_5); if (!__pyx_3) { if (PyErr_Occurred()) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 52; goto __pyx_L1;} break; } __pyx_6 = PyObject_GetIter(__pyx_3); if (!__pyx_6) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 52; goto __pyx_L1;} Py_DECREF(__pyx_3); __pyx_3 = 0; __pyx_10 = __Pyx_UnpackItem(__pyx_6); if (!__pyx_10) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 52; goto __pyx_L1;} Py_DECREF(__pyx_v_i); __pyx_v_i = __pyx_10; __pyx_10 = 0; __pyx_9 = __Pyx_UnpackItem(__pyx_6); if (!__pyx_9) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 52; goto __pyx_L1;} Py_DECREF(__pyx_v_point); __pyx_v_point = __pyx_9; __pyx_9 = 0; if (__Pyx_EndUnpack(__pyx_6) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 52; goto __pyx_L1;} Py_DECREF(__pyx_6); __pyx_6 = 0; __pyx_7 = PyInt_FromLong(1); if (!__pyx_7) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 53; goto __pyx_L1;} __pyx_4 = PyNumber_Add(__pyx_v_i, __pyx_7); if (!__pyx_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 53; goto __pyx_L1;} Py_DECREF(__pyx_7); __pyx_7 = 0; __pyx_1 = PyInt_AsSsize_t(__pyx_4); if (PyErr_Occurred()) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 53; goto __pyx_L1;} Py_DECREF(__pyx_4); __pyx_4 = 0; __pyx_8 = __Pyx_GetName(__pyx_b, __pyx_n_min); if (!__pyx_8) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 53; goto __pyx_L1;} __pyx_3 = PyInt_FromLong(7); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 53; goto __pyx_L1;} __pyx_10 = PyNumber_Add(__pyx_v_i, __pyx_3); if (!__pyx_10) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 53; goto __pyx_L1;} Py_DECREF(__pyx_3); __pyx_3 = 0; __pyx_9 = PyTuple_New(2); if (!__pyx_9) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 53; goto __pyx_L1;} Py_INCREF(__pyx_v_max_i); PyTuple_SET_ITEM(__pyx_9, 0, __pyx_v_max_i); PyTuple_SET_ITEM(__pyx_9, 1, __pyx_10); __pyx_10 = 0; __pyx_6 = PyObject_CallObject(__pyx_8, __pyx_9); if (!__pyx_6) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 53; goto __pyx_L1;} Py_DECREF(__pyx_8); __pyx_8 = 0; Py_DECREF(__pyx_9); __pyx_9 = 0; __pyx_13 = PyInt_AsSsize_t(__pyx_6); if (PyErr_Occurred()) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 53; goto __pyx_L1;} Py_DECREF(__pyx_6); __pyx_6 = 0; __pyx_7 = PySequence_GetSlice(__pyx_v_points_in_strip, __pyx_1, __pyx_13); if (!__pyx_7) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 53; goto __pyx_L1;} __pyx_4 = PyObject_GetIter(__pyx_7); if (!__pyx_4) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 53; goto __pyx_L1;} Py_DECREF(__pyx_7); __pyx_7 = 0; for (;;) { __pyx_3 = PyIter_Next(__pyx_4); if (!__pyx_3) { if (PyErr_Occurred()) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 53; goto __pyx_L1;} break; } Py_DECREF(__pyx_v_point2); __pyx_v_point2 = __pyx_3; __pyx_3 = 0; /* "/home/andrew/Programs/cluster/clusterer/closestpair.pyx":54 */ __pyx_10 = __Pyx_GetName(__pyx_m, __pyx_n_distance); if (!__pyx_10) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 54; goto __pyx_L1;} __pyx_8 = PySequence_GetItem(__pyx_v_point, 0); if (!__pyx_8) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 54; goto __pyx_L1;} __pyx_9 = PySequence_GetItem(__pyx_v_point, 1); if (!__pyx_9) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 54; goto __pyx_L1;} __pyx_6 = PySequence_GetItem(__pyx_v_point2, 0); if (!__pyx_6) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 54; goto __pyx_L1;} __pyx_7 = PySequence_GetItem(__pyx_v_point2, 1); if (!__pyx_7) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 54; goto __pyx_L1;} __pyx_3 = PyTuple_New(4); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 54; goto __pyx_L1;} PyTuple_SET_ITEM(__pyx_3, 0, __pyx_8); PyTuple_SET_ITEM(__pyx_3, 1, __pyx_9); PyTuple_SET_ITEM(__pyx_3, 2, __pyx_6); PyTuple_SET_ITEM(__pyx_3, 3, __pyx_7); __pyx_8 = 0; __pyx_9 = 0; __pyx_6 = 0; __pyx_7 = 0; __pyx_8 = PyObject_CallObject(__pyx_10, __pyx_3); if (!__pyx_8) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 54; goto __pyx_L1;} Py_DECREF(__pyx_10); __pyx_10 = 0; Py_DECREF(__pyx_3); __pyx_3 = 0; Py_DECREF(__pyx_v_sd); __pyx_v_sd = __pyx_8; __pyx_8 = 0; /* "/home/andrew/Programs/cluster/clusterer/closestpair.pyx":55 */ __pyx_2 = (__pyx_v_min_d == 0); if (!__pyx_2) { __pyx_9 = PyFloat_FromDouble(__pyx_v_min_d); if (!__pyx_9) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 55; goto __pyx_L1;} if (PyObject_Cmp(__pyx_9, __pyx_v_sd, &__pyx_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 55; goto __pyx_L1;} __pyx_2 = __pyx_2 > 0; Py_DECREF(__pyx_9); __pyx_9 = 0; } if (__pyx_2) { /* "/home/andrew/Programs/cluster/clusterer/closestpair.pyx":56 */ __pyx_11 = PyFloat_AsDouble(__pyx_v_sd); if (PyErr_Occurred()) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 56; goto __pyx_L1;} __pyx_v_min_d = __pyx_11; /* "/home/andrew/Programs/cluster/clusterer/closestpair.pyx":57 */ __pyx_6 = PySequence_GetItem(__pyx_v_point, 1); if (!__pyx_6) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 57; goto __pyx_L1;} __pyx_7 = PySequence_GetItem(__pyx_v_point, 0); if (!__pyx_7) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 57; goto __pyx_L1;} __pyx_10 = PySequence_GetItem(__pyx_v_point, 2); if (!__pyx_10) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 57; goto __pyx_L1;} __pyx_3 = PyTuple_New(3); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 57; goto __pyx_L1;} PyTuple_SET_ITEM(__pyx_3, 0, __pyx_6); PyTuple_SET_ITEM(__pyx_3, 1, __pyx_7); PyTuple_SET_ITEM(__pyx_3, 2, __pyx_10); __pyx_6 = 0; __pyx_7 = 0; __pyx_10 = 0; Py_DECREF(__pyx_v_min_p1); __pyx_v_min_p1 = __pyx_3; __pyx_3 = 0; /* "/home/andrew/Programs/cluster/clusterer/closestpair.pyx":58 */ __pyx_8 = PySequence_GetItem(__pyx_v_point2, 1); if (!__pyx_8) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 58; goto __pyx_L1;} __pyx_9 = PySequence_GetItem(__pyx_v_point2, 0); if (!__pyx_9) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 58; goto __pyx_L1;} __pyx_6 = PySequence_GetItem(__pyx_v_point2, 2); if (!__pyx_6) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 58; goto __pyx_L1;} __pyx_7 = PyTuple_New(3); if (!__pyx_7) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 58; goto __pyx_L1;} PyTuple_SET_ITEM(__pyx_7, 0, __pyx_8); PyTuple_SET_ITEM(__pyx_7, 1, __pyx_9); PyTuple_SET_ITEM(__pyx_7, 2, __pyx_6); __pyx_8 = 0; __pyx_9 = 0; __pyx_6 = 0; Py_DECREF(__pyx_v_min_p2); __pyx_v_min_p2 = __pyx_7; __pyx_7 = 0; goto __pyx_L15; } __pyx_L15:; } Py_DECREF(__pyx_4); __pyx_4 = 0; } Py_DECREF(__pyx_5); __pyx_5 = 0; /* "/home/andrew/Programs/cluster/clusterer/closestpair.pyx":59 */ __pyx_2 = (__pyx_v_min_d != 0); if (__pyx_2) { __pyx_10 = PyFloat_FromDouble(__pyx_v_min_d); if (!__pyx_10) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 59; goto __pyx_L1;} if (PyObject_Cmp(__pyx_10, __pyx_v_d, &__pyx_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 59; goto __pyx_L1;} __pyx_2 = __pyx_2 < 0; Py_DECREF(__pyx_10); __pyx_10 = 0; } if (__pyx_2) { __pyx_3 = PyFloat_FromDouble(__pyx_v_min_d); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 60; goto __pyx_L1;} __pyx_8 = PyTuple_New(3); if (!__pyx_8) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 60; goto __pyx_L1;} PyTuple_SET_ITEM(__pyx_8, 0, __pyx_3); Py_INCREF(__pyx_v_min_p1); PyTuple_SET_ITEM(__pyx_8, 1, __pyx_v_min_p1); Py_INCREF(__pyx_v_min_p2); PyTuple_SET_ITEM(__pyx_8, 2, __pyx_v_min_p2); __pyx_3 = 0; __pyx_r = __pyx_8; __pyx_8 = 0; goto __pyx_L0; goto __pyx_L16; } if (PyObject_Cmp(__pyx_v_d1, __pyx_v_d2, &__pyx_2) < 0) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 61; goto __pyx_L1;} __pyx_2 = __pyx_2 < 0; if (__pyx_2) { __pyx_9 = PyTuple_New(3); if (!__pyx_9) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 62; goto __pyx_L1;} Py_INCREF(__pyx_v_d1); PyTuple_SET_ITEM(__pyx_9, 0, __pyx_v_d1); Py_INCREF(__pyx_v_p11); PyTuple_SET_ITEM(__pyx_9, 1, __pyx_v_p11); Py_INCREF(__pyx_v_p12); PyTuple_SET_ITEM(__pyx_9, 2, __pyx_v_p12); __pyx_r = __pyx_9; __pyx_9 = 0; goto __pyx_L0; goto __pyx_L16; } /*else*/ { __pyx_6 = PyTuple_New(3); if (!__pyx_6) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 64; goto __pyx_L1;} Py_INCREF(__pyx_v_d2); PyTuple_SET_ITEM(__pyx_6, 0, __pyx_v_d2); Py_INCREF(__pyx_v_p21); PyTuple_SET_ITEM(__pyx_6, 1, __pyx_v_p21); Py_INCREF(__pyx_v_p22); PyTuple_SET_ITEM(__pyx_6, 2, __pyx_v_p22); __pyx_r = __pyx_6; __pyx_6 = 0; goto __pyx_L0; } __pyx_L16:; } __pyx_L2:; __pyx_r = Py_None; Py_INCREF(Py_None); goto __pyx_L0; __pyx_L1:; Py_XDECREF(__pyx_3); Py_XDECREF(__pyx_4); Py_XDECREF(__pyx_5); Py_XDECREF(__pyx_6); Py_XDECREF(__pyx_7); Py_XDECREF(__pyx_8); Py_XDECREF(__pyx_9); Py_XDECREF(__pyx_10); __Pyx_AddTraceback("closestpair.closest_pair"); __pyx_r = 0; __pyx_L0:; Py_DECREF(__pyx_v_min_p1); Py_DECREF(__pyx_v_min_p2); Py_DECREF(__pyx_v_i); Py_DECREF(__pyx_v_point); Py_DECREF(__pyx_v_point2); Py_DECREF(__pyx_v_d); Py_DECREF(__pyx_v_split); Py_DECREF(__pyx_v_d1); Py_DECREF(__pyx_v_p11); Py_DECREF(__pyx_v_p12); Py_DECREF(__pyx_v_d2); Py_DECREF(__pyx_v_p21); Py_DECREF(__pyx_v_p22); Py_DECREF(__pyx_v_points_in_strip); Py_DECREF(__pyx_v_split_at); Py_DECREF(__pyx_v_max_i); Py_DECREF(__pyx_v_sd); Py_DECREF(__pyx_v_points); return __pyx_r; }
static PyObject *__pyx_f_11_pointcloud_readDataPoints(PyObject *__pyx_self, PyObject *__pyx_args, PyObject *__pyx_kwds) { long __pyx_v_readFuncLoc; long __pyx_v_ptcHandle; long __pyx_v_numPoints; long __pyx_v_pointBuf; int __pyx_v_pointStride; long __pyx_v_normalBuf; int __pyx_v_normalStride; long __pyx_v_radiusBuf; int __pyx_v_radiusStride; long __pyx_v_dataBuf; int __pyx_v_dataStride; __pyx_t_11_pointcloud_PtcReadDataPointPtr __pyx_v_PtcReadDataPoint; __pyx_t_11_pointcloud_PtcPointCloud __pyx_v_pointCloud; float *__pyx_v_pntPtr; float *__pyx_v_normalPtr; float *__pyx_v_radiusPtr; float *__pyx_v_dataPtr; int __pyx_v_n; int __pyx_v_res; PyObject *__pyx_r; int __pyx_1; PyObject *__pyx_2 = 0; PyObject *__pyx_3 = 0; static char *__pyx_argnames[] = {"readFuncLoc","ptcHandle","numPoints","pointBuf","pointStride","normalBuf","normalStride","radiusBuf","radiusStride","dataBuf","dataStride",0}; if (!PyArg_ParseTupleAndKeywords(__pyx_args, __pyx_kwds, "llllililili", __pyx_argnames, &__pyx_v_readFuncLoc, &__pyx_v_ptcHandle, &__pyx_v_numPoints, &__pyx_v_pointBuf, &__pyx_v_pointStride, &__pyx_v_normalBuf, &__pyx_v_normalStride, &__pyx_v_radiusBuf, &__pyx_v_radiusStride, &__pyx_v_dataBuf, &__pyx_v_dataStride)) return 0; /* "/Users/baas/src/cgkit/pyrex/pyx/_pointcloud.pyx":63 */ __pyx_v_PtcReadDataPoint = (((__pyx_t_11_pointcloud_PtcReadDataPointPtr *)__pyx_v_readFuncLoc)[0]); /* "/Users/baas/src/cgkit/pyrex/pyx/_pointcloud.pyx":64 */ __pyx_v_pointCloud = ((__pyx_t_11_pointcloud_PtcPointCloud)__pyx_v_ptcHandle); /* "/Users/baas/src/cgkit/pyrex/pyx/_pointcloud.pyx":73 */ __pyx_v_pntPtr = ((float *)__pyx_v_pointBuf); /* "/Users/baas/src/cgkit/pyrex/pyx/_pointcloud.pyx":74 */ __pyx_v_normalPtr = ((float *)__pyx_v_normalBuf); /* "/Users/baas/src/cgkit/pyrex/pyx/_pointcloud.pyx":75 */ __pyx_v_radiusPtr = ((float *)__pyx_v_radiusBuf); /* "/Users/baas/src/cgkit/pyrex/pyx/_pointcloud.pyx":76 */ __pyx_v_dataPtr = ((float *)__pyx_v_dataBuf); /* "/Users/baas/src/cgkit/pyrex/pyx/_pointcloud.pyx":79 */ __pyx_v_n = 0; /* "/Users/baas/src/cgkit/pyrex/pyx/_pointcloud.pyx":80 */ while (1) { __pyx_1 = (__pyx_v_n < __pyx_v_numPoints); if (!__pyx_1) break; /* "/Users/baas/src/cgkit/pyrex/pyx/_pointcloud.pyx":81 */ __pyx_v_res = __pyx_v_PtcReadDataPoint(__pyx_v_pointCloud,__pyx_v_pntPtr,__pyx_v_normalPtr,__pyx_v_radiusPtr,__pyx_v_dataPtr); /* "/Users/baas/src/cgkit/pyrex/pyx/_pointcloud.pyx":82 */ __pyx_1 = (__pyx_v_res == 0); if (__pyx_1) { __pyx_2 = PyTuple_New(1); if (!__pyx_2) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 83; goto __pyx_L1;} Py_INCREF(__pyx_k1p); PyTuple_SET_ITEM(__pyx_2, 0, __pyx_k1p); __pyx_3 = PyObject_CallObject(PyExc_IOError, __pyx_2); if (!__pyx_3) {__pyx_filename = __pyx_f[0]; __pyx_lineno = 83; goto __pyx_L1;} Py_DECREF(__pyx_2); __pyx_2 = 0; __Pyx_Raise(__pyx_3, 0, 0); Py_DECREF(__pyx_3); __pyx_3 = 0; {__pyx_filename = __pyx_f[0]; __pyx_lineno = 83; goto __pyx_L1;} goto __pyx_L4; } __pyx_L4:; /* "/Users/baas/src/cgkit/pyrex/pyx/_pointcloud.pyx":84 */ __pyx_v_pntPtr += __pyx_v_pointStride; /* "/Users/baas/src/cgkit/pyrex/pyx/_pointcloud.pyx":85 */ __pyx_v_normalPtr += __pyx_v_normalStride; /* "/Users/baas/src/cgkit/pyrex/pyx/_pointcloud.pyx":86 */ __pyx_v_radiusPtr += __pyx_v_radiusStride; /* "/Users/baas/src/cgkit/pyrex/pyx/_pointcloud.pyx":87 */ __pyx_v_dataPtr += __pyx_v_dataStride; /* "/Users/baas/src/cgkit/pyrex/pyx/_pointcloud.pyx":88 */ __pyx_v_n += 1; } __pyx_r = Py_None; Py_INCREF(Py_None); goto __pyx_L0; __pyx_L1:; Py_XDECREF(__pyx_2); Py_XDECREF(__pyx_3); __Pyx_AddTraceback("_pointcloud.readDataPoints"); __pyx_r = 0; __pyx_L0:; return __pyx_r; }