From 34e82bfce8e5860342cb4f7b3420be3773de1c12 Mon Sep 17 00:00:00 2001 From: jajupmochi Date: Thu, 7 May 2020 17:05:27 +0200 Subject: [PATCH] Add parallel functions to MGE. --- gklearn/ged/median/median_graph_estimator.py | 282 +- gklearn/ged/median/test_median_graph_estimator.py | 8 +- gklearn/ged/median/utils.py | 2 + gklearn/ged/util/util.py | 2 + gklearn/gedlib/gedlibpy.cpp | 2934 ++++++++++---------- .../gedlibpy.cpython-36m-x86_64-linux-gnu.so | Bin 33390352 -> 33390352 bytes gklearn/gedlib/gedlibpy.pyx | 10 +- gklearn/preimage/median_preimage_generator.py | 8 +- 8 files changed, 1708 insertions(+), 1538 deletions(-) diff --git a/gklearn/ged/median/median_graph_estimator.py b/gklearn/ged/median/median_graph_estimator.py index df21601..9e0db71 100644 --- a/gklearn/ged/median/median_graph_estimator.py +++ b/gklearn/ged/median/median_graph_estimator.py @@ -13,6 +13,9 @@ import time from tqdm import tqdm import sys import networkx as nx +import multiprocessing +from multiprocessing import Pool +from functools import partial class MedianGraphEstimator(object): # @todo: differ dummy_node from undifined node? @@ -47,6 +50,7 @@ class MedianGraphEstimator(object): # @todo: differ dummy_node from undifined no self.__desired_num_random_inits = 10 self.__use_real_randomness = True self.__seed = 0 + self.__parallel = True self.__update_order = True self.__refine = True self.__time_limit_in_sec = 0 @@ -125,6 +129,16 @@ class MedianGraphEstimator(object): # @todo: differ dummy_node from undifined no else: raise Exception('Invalid argument "' + opt_val + '" for option stdout. Usage: options = "[--stdout 0|1|2] [...]"') + + elif opt_name == 'parallel': + if opt_val == 'TRUE': + self.__parallel = True + + elif opt_val == 'FALSE': + self.__parallel = False + + else: + raise Exception('Invalid argument "' + opt_val + '" for option parallel. Usage: options = "[--parallel TRUE|FALSE] [...]"') elif opt_name == 'update-order': if opt_val == 'TRUE': @@ -312,7 +326,6 @@ class MedianGraphEstimator(object): # @todo: differ dummy_node from undifined no # print(graphs[0].nodes(data=True)) # print(graphs[0].edges(data=True)) # print(nx.adjacency_matrix(graphs[0])) - # Construct initial medians. medians = [] @@ -356,30 +369,12 @@ class MedianGraphEstimator(object): # @todo: differ dummy_node from undifined no self.__ged_env.load_nx_graph(median, gen_median_id) self.__ged_env.init(self.__ged_env.get_init_type()) - # Print information about current iteration. - if self.__print_to_stdout == 2: - progress = tqdm(desc='Computing initial node maps', total=len(graph_ids), file=sys.stdout) - # Compute node maps and sum of distances for initial median. - self.__sum_of_distances = 0 - self.__node_maps_from_median.clear() - for graph_id in graph_ids: - self.__ged_env.run_method(gen_median_id, graph_id) - self.__node_maps_from_median[graph_id] = self.__ged_env.get_node_map(gen_median_id, graph_id) -# print(self.__node_maps_from_median[graph_id]) - self.__sum_of_distances += self.__node_maps_from_median[graph_id].induced_cost() -# print(self.__sum_of_distances) - # Print information about current iteration. - if self.__print_to_stdout == 2: - progress.update(1) - + self.__compute_init_node_maps(graph_ids, gen_median_id) + self.__best_init_sum_of_distances = min(self.__best_init_sum_of_distances, self.__sum_of_distances) self.__ged_env.load_nx_graph(median, set_median_id) # print(self.__best_init_sum_of_distances) - - # Print information about current iteration. - if self.__print_to_stdout == 2: - print('\n') # Run block gradient descent from initial median. converged = False @@ -434,7 +429,7 @@ class MedianGraphEstimator(object): # @todo: differ dummy_node from undifined no # print(self.__node_maps_from_median[graph_id].induced_cost()) # xxx = self.__node_maps_from_median[graph_id] self.__ged_env.compute_induced_cost(gen_median_id, graph_id, self.__node_maps_from_median[graph_id]) -# print('---------------------------------------') +# print('---------------------------------------') # print(self.__node_maps_from_median[graph_id].induced_cost()) # @todo:!!!!!!!!!!!!!!!!!!!!!!!!!!!!This value is a slight different from the c++ program, which might be a bug! Use it very carefully! @@ -637,6 +632,7 @@ class MedianGraphEstimator(object): # @todo: differ dummy_node from undifined no self.__desired_num_random_inits = 10 self.__use_real_randomness = True self.__seed = 0 + self.__parallel = True self.__update_order = True self.__refine = True self.__time_limit_in_sec = 0 @@ -682,35 +678,123 @@ class MedianGraphEstimator(object): # @todo: differ dummy_node from undifined no def __compute_medoid(self, graph_ids, timer, initial_medians): # Use method selected for initialization phase. self.__ged_env.set_method(self.__init_method, self.__init_options) - - # Print information about current iteration. - if self.__print_to_stdout == 2: - progress = tqdm(desc='Computing medoid', total=len(graph_ids), file=sys.stdout) - + # Compute the medoid. - medoid_id = graph_ids[0] - best_sum_of_distances = np.inf - for g_id in graph_ids: - if timer.expired(): - self.__state = AlgorithmState.CALLED - break - sum_of_distances = 0 - for h_id in graph_ids: - self.__ged_env.run_method(g_id, h_id) - sum_of_distances += self.__ged_env.get_upper_bound(g_id, h_id) - if sum_of_distances < best_sum_of_distances: - best_sum_of_distances = sum_of_distances - medoid_id = g_id - + if self.__parallel: + # @todo: notice when parallel self.__ged_env is not modified. + sum_of_distances_list = [np.inf] * len(graph_ids) + len_itr = len(graph_ids) + itr = zip(graph_ids, range(0, len(graph_ids))) + n_jobs = multiprocessing.cpu_count() + if len_itr < 100 * n_jobs: + chunksize = int(len_itr / n_jobs) + 1 + else: + chunksize = 100 + def init_worker(ged_env_toshare): + global G_ged_env + G_ged_env = ged_env_toshare + do_fun = partial(_compute_medoid_parallel, graph_ids) + pool = Pool(processes=n_jobs, initializer=init_worker, initargs=(self.__ged_env,)) + if self.__print_to_stdout == 2: + iterator = tqdm(pool.imap_unordered(do_fun, itr, chunksize), + desc='Computing medoid', file=sys.stdout) + else: + iterator = pool.imap_unordered(do_fun, itr, chunksize) + for i, dis in iterator: + sum_of_distances_list[i] = dis + pool.close() + pool.join() + + medoid_id = np.argmin(sum_of_distances_list) + best_sum_of_distances = sum_of_distances_list[medoid_id] + + initial_medians.append(self.__ged_env.get_nx_graph(medoid_id, True, True, False)) # @todo + + else: # Print information about current iteration. if self.__print_to_stdout == 2: - progress.update(1) - initial_medians.append(self.__ged_env.get_nx_graph(medoid_id, True, True, False)) # @todo + progress = tqdm(desc='Computing medoid', total=len(graph_ids), file=sys.stdout) - # Print information about current iteration. - if self.__print_to_stdout == 2: - print('\n') + medoid_id = graph_ids[0] + best_sum_of_distances = np.inf + for g_id in graph_ids: + if timer.expired(): + self.__state = AlgorithmState.CALLED + break + sum_of_distances = 0 + for h_id in graph_ids: + self.__ged_env.run_method(g_id, h_id) + sum_of_distances += self.__ged_env.get_upper_bound(g_id, h_id) + if sum_of_distances < best_sum_of_distances: + best_sum_of_distances = sum_of_distances + medoid_id = g_id + + # Print information about current iteration. + if self.__print_to_stdout == 2: + progress.update(1) + + initial_medians.append(self.__ged_env.get_nx_graph(medoid_id, True, True, False)) # @todo + + # Print information about current iteration. + if self.__print_to_stdout == 2: + print('\n') + + + def __compute_init_node_maps(self, graph_ids, gen_median_id): + # Compute node maps and sum of distances for initial median. + if self.__parallel: + # @todo: notice when parallel self.__ged_env is not modified. + self.__sum_of_distances = 0 + self.__node_maps_from_median.clear() + sum_of_distances_list = [0] * len(graph_ids) + + len_itr = len(graph_ids) + itr = graph_ids + n_jobs = multiprocessing.cpu_count() + if len_itr < 100 * n_jobs: + chunksize = int(len_itr / n_jobs) + 1 + else: + chunksize = 100 + def init_worker(ged_env_toshare): + global G_ged_env + G_ged_env = ged_env_toshare + do_fun = partial(_compute_init_node_maps_parallel, gen_median_id) + pool = Pool(processes=n_jobs, initializer=init_worker, initargs=(self.__ged_env,)) + if self.__print_to_stdout == 2: + iterator = tqdm(pool.imap_unordered(do_fun, itr, chunksize), + desc='Computing initial node maps', file=sys.stdout) + else: + iterator = pool.imap_unordered(do_fun, itr, chunksize) + for g_id, sod, node_maps in iterator: + sum_of_distances_list[g_id] = sod + self.__node_maps_from_median[g_id] = node_maps + pool.close() + pool.join() + self.__sum_of_distances = np.sum(sum_of_distances_list) +# xxx = self.__node_maps_from_median + + else: + # Print information about current iteration. + if self.__print_to_stdout == 2: + progress = tqdm(desc='Computing initial node maps', total=len(graph_ids), file=sys.stdout) + + self.__sum_of_distances = 0 + self.__node_maps_from_median.clear() + for graph_id in graph_ids: + self.__ged_env.run_method(gen_median_id, graph_id) + self.__node_maps_from_median[graph_id] = self.__ged_env.get_node_map(gen_median_id, graph_id) + # print(self.__node_maps_from_median[graph_id]) + self.__sum_of_distances += self.__node_maps_from_median[graph_id].induced_cost() + # print(self.__sum_of_distances) + # Print information about current iteration. + if self.__print_to_stdout == 2: + progress.update(1) + + # Print information about current iteration. + if self.__print_to_stdout == 2: + print('\n') + def __termination_criterion_met(self, converged, timer, itr, itrs_without_update): if timer.expired() or (itr >= self.__max_itrs if self.__max_itrs >= 0 else False): @@ -816,26 +900,57 @@ class MedianGraphEstimator(object): # @todo: differ dummy_node from undifined no def __update_node_maps(self): - # Print information about current iteration. - if self.__print_to_stdout == 2: - progress = tqdm(desc='Updating node maps', total=len(self.__node_maps_from_median), file=sys.stdout) - # Update the node maps. - node_maps_were_modified = False - for graph_id, node_map in self.__node_maps_from_median.items(): - self.__ged_env.run_method(self.__median_id, graph_id) - if self.__ged_env.get_upper_bound(self.__median_id, graph_id) < node_map.induced_cost() - self.__epsilon: -# xxx = self.__node_maps_from_median[graph_id] - self.__node_maps_from_median[graph_id] = self.__ged_env.get_node_map(self.__median_id, graph_id) -# yyy = self.__node_maps_from_median[graph_id] - node_maps_were_modified = True + if self.__parallel: + # @todo: notice when parallel self.__ged_env is not modified. + node_maps_were_modified = False +# xxx = self.__node_maps_from_median.copy() + + len_itr = len(self.__node_maps_from_median) + itr = [item for item in self.__node_maps_from_median.items()] + n_jobs = multiprocessing.cpu_count() + if len_itr < 100 * n_jobs: + chunksize = int(len_itr / n_jobs) + 1 + else: + chunksize = 100 + def init_worker(ged_env_toshare): + global G_ged_env + G_ged_env = ged_env_toshare + do_fun = partial(_update_node_maps_parallel, self.__median_id, self.__epsilon) + pool = Pool(processes=n_jobs, initializer=init_worker, initargs=(self.__ged_env,)) + if self.__print_to_stdout == 2: + iterator = tqdm(pool.imap_unordered(do_fun, itr, chunksize), + desc='Updating node maps', file=sys.stdout) + else: + iterator = pool.imap_unordered(do_fun, itr, chunksize) + for g_id, node_map, nm_modified in iterator: + self.__node_maps_from_median[g_id] = node_map + if nm_modified: + node_maps_were_modified = True + pool.close() + pool.join() +# yyy = self.__node_maps_from_median.copy() + + else: # Print information about current iteration. if self.__print_to_stdout == 2: - progress.update(1) - - # Print information about current iteration. - if self.__print_to_stdout == 2: - print('\n') + progress = tqdm(desc='Updating node maps', total=len(self.__node_maps_from_median), file=sys.stdout) + + node_maps_were_modified = False + for graph_id, node_map in self.__node_maps_from_median.items(): + self.__ged_env.run_method(self.__median_id, graph_id) + if self.__ged_env.get_upper_bound(self.__median_id, graph_id) < node_map.induced_cost() - self.__epsilon: + # xxx = self.__node_maps_from_median[graph_id] + self.__node_maps_from_median[graph_id] = self.__ged_env.get_node_map(self.__median_id, graph_id) + # yyy = self.__node_maps_from_median[graph_id] + node_maps_were_modified = True + # Print information about current iteration. + if self.__print_to_stdout == 2: + progress.update(1) + + # Print information about current iteration. + if self.__print_to_stdout == 2: + print('\n') # Return true if the node maps were modified. return node_maps_were_modified @@ -1230,7 +1345,8 @@ class MedianGraphEstimator(object): # @todo: differ dummy_node from undifined no def __add_node_to_median(self, best_config, best_label, median): # Update the median. - median.add_node(nx.number_of_nodes(median), **best_label) + nb_nodes_median = nx.number_of_nodes(median) + median.add_node(nb_nodes_median, **best_label) # Update the node maps. for graph_id, node_map in self.__node_maps_from_median.items(): @@ -1494,4 +1610,40 @@ class MedianGraphEstimator(object): # @todo: differ dummy_node from undifined no # median_label = {} # for key, val in median.items(): # median_label[key] = str(val) -# return median_label \ No newline at end of file +# return median_label + + +def _compute_medoid_parallel(graph_ids, itr): + g_id = itr[0] + i = itr[1] + # @todo: timer not considered here. +# if timer.expired(): +# self.__state = AlgorithmState.CALLED +# break + sum_of_distances = 0 + for h_id in graph_ids: + G_ged_env.run_method(g_id, h_id) + sum_of_distances += G_ged_env.get_upper_bound(g_id, h_id) + return i, sum_of_distances + + +def _compute_init_node_maps_parallel(gen_median_id, itr): + graph_id = itr + G_ged_env.run_method(gen_median_id, graph_id) + node_maps_from_median = G_ged_env.get_node_map(gen_median_id, graph_id) +# print(self.__node_maps_from_median[graph_id]) + sum_of_distance = node_maps_from_median.induced_cost() +# print(self.__sum_of_distances) + return graph_id, sum_of_distance, node_maps_from_median + + +def _update_node_maps_parallel(median_id, epsilon, itr): + graph_id = itr[0] + node_map = itr[1] + + node_maps_were_modified = False + G_ged_env.run_method(median_id, graph_id) + if G_ged_env.get_upper_bound(median_id, graph_id) < node_map.induced_cost() - epsilon: + node_map = G_ged_env.get_node_map(median_id, graph_id) + node_maps_were_modified = True + return graph_id, node_map, node_maps_were_modified \ No newline at end of file diff --git a/gklearn/ged/median/test_median_graph_estimator.py b/gklearn/ged/median/test_median_graph_estimator.py index 7497bab..60bce83 100644 --- a/gklearn/ged/median/test_median_graph_estimator.py +++ b/gklearn/ged/median/test_median_graph_estimator.py @@ -53,7 +53,7 @@ def test_median_graph_estimator(): mge.set_refine_method(algo, '--threads ' + str(threads) + ' --initial-solutions ' + str(initial_solutions) + ' --ratio-runs-from-initial-solutions 1') mge_options = '--time-limit ' + str(time_limit) + ' --stdout 2 --init-type ' + init_type - mge_options += ' --random-inits ' + str(num_inits) + ' --seed ' + '1' + ' --update-order TRUE --refine FALSE --randomness PSEUDO '# @todo: std::to_string(rng()) + mge_options += ' --random-inits ' + str(num_inits) + ' --seed ' + '1' + ' --update-order TRUE --refine FALSE --randomness PSEUDO --parallel TRUE '# @todo: std::to_string(rng()) # Select the GED algorithm. algo_options = '--threads ' + str(threads) + algo_options_suffix @@ -127,7 +127,7 @@ def test_median_graph_estimator_symb(): mge.set_refine_method(algo, '--threads ' + str(threads) + ' --initial-solutions ' + str(initial_solutions) + ' --ratio-runs-from-initial-solutions 1') mge_options = '--time-limit ' + str(time_limit) + ' --stdout 2 --init-type ' + init_type - mge_options += ' --random-inits ' + str(num_inits) + ' --seed ' + '1' + ' --update-order TRUE --refine FALSE'# @todo: std::to_string(rng()) + mge_options += ' --random-inits ' + str(num_inits) + ' --seed ' + '1' + ' --update-order TRUE --refine FALSE --randomness PSEUDO --parallel TRUE '# @todo: std::to_string(rng()) # Select the GED algorithm. algo_options = '--threads ' + str(threads) + algo_options_suffix @@ -155,5 +155,5 @@ def test_median_graph_estimator_symb(): if __name__ == '__main__': - set_median, gen_median = test_median_graph_estimator() - # set_median, gen_median = test_median_graph_estimator_symb() \ No newline at end of file + # set_median, gen_median = test_median_graph_estimator() + set_median, gen_median = test_median_graph_estimator_symb() \ No newline at end of file diff --git a/gklearn/ged/median/utils.py b/gklearn/ged/median/utils.py index 908cb11..5c4c52f 100644 --- a/gklearn/ged/median/utils.py +++ b/gklearn/ged/median/utils.py @@ -30,6 +30,8 @@ def mge_options_to_string(options): opt_str += '--randomness ' + str(val) + ' ' elif key == 'verbose': opt_str += '--stdout ' + str(val) + ' ' + elif key == 'parallel': + opt_str += '--parallel ' + ('TRUE' if val else 'FALSE') + ' ' elif key == 'update_order': opt_str += '--update-order ' + ('TRUE' if val else 'FALSE') + ' ' elif key == 'refine': diff --git a/gklearn/ged/util/util.py b/gklearn/ged/util/util.py index a18b0cb..d72c2e6 100644 --- a/gklearn/ged/util/util.py +++ b/gklearn/ged/util/util.py @@ -54,6 +54,8 @@ def compute_geds(graphs, options={}, parallel=False): ged_env.add_nx_graph(g, '') listID = ged_env.get_all_graph_ids() ged_env.init() + if parallel: + options['threads'] = 1 ged_env.set_method(options['method'], ged_options_to_string(options)) ged_env.init_method() diff --git a/gklearn/gedlib/gedlibpy.cpp b/gklearn/gedlib/gedlibpy.cpp index 58aa1fd..18e7cd8 100644 --- a/gklearn/gedlib/gedlibpy.cpp +++ b/gklearn/gedlib/gedlibpy.cpp @@ -1173,9 +1173,9 @@ typedef npy_clongdouble __pyx_t_5numpy_clongdouble_t; */ typedef npy_cdouble __pyx_t_5numpy_complex_t; -/* "gedlibpy.pyx":180 - * +/* "gedlibpy.pyx":182 * + * # @cython.auto_pickle(True) * cdef class GEDEnv: # <<<<<<<<<<<<<< * """Cython wrapper class for C++ class PyGEDEnv * """ @@ -2155,6 +2155,8 @@ static CYTHON_INLINE char *__pyx_f_5numpy__util_dtypestring(PyArray_Descr *, cha static PyTypeObject *__pyx_ptype_7cpython_5array_array = 0; static CYTHON_INLINE int __pyx_f_7cpython_5array_extend_buffer(arrayobject *, char *, Py_ssize_t); /*proto*/ +/* Module declarations from 'cython' */ + /* Module declarations from 'gedlibpy' */ static PyTypeObject *__pyx_ptype_8gedlibpy_GEDEnv = 0; static CYTHON_INLINE PyObject *__pyx_convert_PyObject_string_to_py_std__in_string(std::string const &); /*proto*/ @@ -2685,7 +2687,7 @@ static PyObject *__pyx_codeobj__37; static PyObject *__pyx_codeobj__39; /* Late includes */ -/* "gedlibpy.pyx":128 +/* "gedlibpy.pyx":129 * * * def get_edit_cost_options() : # <<<<<<<<<<<<<< @@ -2720,7 +2722,7 @@ static PyObject *__pyx_pf_8gedlibpy_get_edit_cost_options(CYTHON_UNUSED PyObject PyObject *__pyx_t_6 = NULL; __Pyx_RefNannySetupContext("get_edit_cost_options", 0); - /* "gedlibpy.pyx":139 + /* "gedlibpy.pyx":140 * """ * * return [option.decode('utf-8') for option in getEditCostStringOptions()] # <<<<<<<<<<<<<< @@ -2729,13 +2731,13 @@ static PyObject *__pyx_pf_8gedlibpy_get_edit_cost_options(CYTHON_UNUSED PyObject */ __Pyx_XDECREF(__pyx_r); { /* enter inner scope */ - __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 139, __pyx_L1_error) + __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 140, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); try { __pyx_t_2 = pyged::getEditCostStringOptions(); } catch(...) { __Pyx_CppExn2PyErr(); - __PYX_ERR(0, 139, __pyx_L1_error) + __PYX_ERR(0, 140, __pyx_L1_error) } __pyx_t_4 = &__pyx_t_2; __pyx_t_3 = __pyx_t_4->begin(); @@ -2744,9 +2746,9 @@ static PyObject *__pyx_pf_8gedlibpy_get_edit_cost_options(CYTHON_UNUSED PyObject __pyx_t_5 = *__pyx_t_3; ++__pyx_t_3; __pyx_7genexpr__pyx_v_option = __pyx_t_5; - __pyx_t_6 = __Pyx_decode_cpp_string(__pyx_7genexpr__pyx_v_option, 0, PY_SSIZE_T_MAX, NULL, NULL, PyUnicode_DecodeUTF8); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 139, __pyx_L1_error) + __pyx_t_6 = __Pyx_decode_cpp_string(__pyx_7genexpr__pyx_v_option, 0, PY_SSIZE_T_MAX, NULL, NULL, PyUnicode_DecodeUTF8); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 140, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); - if (unlikely(__Pyx_ListComp_Append(__pyx_t_1, (PyObject*)__pyx_t_6))) __PYX_ERR(0, 139, __pyx_L1_error) + if (unlikely(__Pyx_ListComp_Append(__pyx_t_1, (PyObject*)__pyx_t_6))) __PYX_ERR(0, 140, __pyx_L1_error) __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; } } /* exit inner scope */ @@ -2754,7 +2756,7 @@ static PyObject *__pyx_pf_8gedlibpy_get_edit_cost_options(CYTHON_UNUSED PyObject __pyx_t_1 = 0; goto __pyx_L0; - /* "gedlibpy.pyx":128 + /* "gedlibpy.pyx":129 * * * def get_edit_cost_options() : # <<<<<<<<<<<<<< @@ -2774,7 +2776,7 @@ static PyObject *__pyx_pf_8gedlibpy_get_edit_cost_options(CYTHON_UNUSED PyObject return __pyx_r; } -/* "gedlibpy.pyx":142 +/* "gedlibpy.pyx":143 * * * def get_method_options() : # <<<<<<<<<<<<<< @@ -2809,7 +2811,7 @@ static PyObject *__pyx_pf_8gedlibpy_2get_method_options(CYTHON_UNUSED PyObject * PyObject *__pyx_t_6 = NULL; __Pyx_RefNannySetupContext("get_method_options", 0); - /* "gedlibpy.pyx":152 + /* "gedlibpy.pyx":153 * .. note:: Prefer the list_of_method_options attribute of this module. * """ * return [option.decode('utf-8') for option in getMethodStringOptions()] # <<<<<<<<<<<<<< @@ -2818,13 +2820,13 @@ static PyObject *__pyx_pf_8gedlibpy_2get_method_options(CYTHON_UNUSED PyObject * */ __Pyx_XDECREF(__pyx_r); { /* enter inner scope */ - __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 152, __pyx_L1_error) + __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 153, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); try { __pyx_t_2 = pyged::getMethodStringOptions(); } catch(...) { __Pyx_CppExn2PyErr(); - __PYX_ERR(0, 152, __pyx_L1_error) + __PYX_ERR(0, 153, __pyx_L1_error) } __pyx_t_4 = &__pyx_t_2; __pyx_t_3 = __pyx_t_4->begin(); @@ -2833,9 +2835,9 @@ static PyObject *__pyx_pf_8gedlibpy_2get_method_options(CYTHON_UNUSED PyObject * __pyx_t_5 = *__pyx_t_3; ++__pyx_t_3; __pyx_8genexpr1__pyx_v_option = __pyx_t_5; - __pyx_t_6 = __Pyx_decode_cpp_string(__pyx_8genexpr1__pyx_v_option, 0, PY_SSIZE_T_MAX, NULL, NULL, PyUnicode_DecodeUTF8); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 152, __pyx_L1_error) + __pyx_t_6 = __Pyx_decode_cpp_string(__pyx_8genexpr1__pyx_v_option, 0, PY_SSIZE_T_MAX, NULL, NULL, PyUnicode_DecodeUTF8); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 153, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); - if (unlikely(__Pyx_ListComp_Append(__pyx_t_1, (PyObject*)__pyx_t_6))) __PYX_ERR(0, 152, __pyx_L1_error) + if (unlikely(__Pyx_ListComp_Append(__pyx_t_1, (PyObject*)__pyx_t_6))) __PYX_ERR(0, 153, __pyx_L1_error) __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; } } /* exit inner scope */ @@ -2843,7 +2845,7 @@ static PyObject *__pyx_pf_8gedlibpy_2get_method_options(CYTHON_UNUSED PyObject * __pyx_t_1 = 0; goto __pyx_L0; - /* "gedlibpy.pyx":142 + /* "gedlibpy.pyx":143 * * * def get_method_options() : # <<<<<<<<<<<<<< @@ -2863,7 +2865,7 @@ static PyObject *__pyx_pf_8gedlibpy_2get_method_options(CYTHON_UNUSED PyObject * return __pyx_r; } -/* "gedlibpy.pyx":155 +/* "gedlibpy.pyx":156 * * * def get_init_options() : # <<<<<<<<<<<<<< @@ -2898,7 +2900,7 @@ static PyObject *__pyx_pf_8gedlibpy_4get_init_options(CYTHON_UNUSED PyObject *__ PyObject *__pyx_t_6 = NULL; __Pyx_RefNannySetupContext("get_init_options", 0); - /* "gedlibpy.pyx":165 + /* "gedlibpy.pyx":166 * .. note:: Prefer the list_of_init_options attribute of this module. * """ * return [option.decode('utf-8') for option in getInitStringOptions()] # <<<<<<<<<<<<<< @@ -2907,13 +2909,13 @@ static PyObject *__pyx_pf_8gedlibpy_4get_init_options(CYTHON_UNUSED PyObject *__ */ __Pyx_XDECREF(__pyx_r); { /* enter inner scope */ - __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 165, __pyx_L1_error) + __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 166, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); try { __pyx_t_2 = pyged::getInitStringOptions(); } catch(...) { __Pyx_CppExn2PyErr(); - __PYX_ERR(0, 165, __pyx_L1_error) + __PYX_ERR(0, 166, __pyx_L1_error) } __pyx_t_4 = &__pyx_t_2; __pyx_t_3 = __pyx_t_4->begin(); @@ -2922,9 +2924,9 @@ static PyObject *__pyx_pf_8gedlibpy_4get_init_options(CYTHON_UNUSED PyObject *__ __pyx_t_5 = *__pyx_t_3; ++__pyx_t_3; __pyx_8genexpr2__pyx_v_option = __pyx_t_5; - __pyx_t_6 = __Pyx_decode_cpp_string(__pyx_8genexpr2__pyx_v_option, 0, PY_SSIZE_T_MAX, NULL, NULL, PyUnicode_DecodeUTF8); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 165, __pyx_L1_error) + __pyx_t_6 = __Pyx_decode_cpp_string(__pyx_8genexpr2__pyx_v_option, 0, PY_SSIZE_T_MAX, NULL, NULL, PyUnicode_DecodeUTF8); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 166, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); - if (unlikely(__Pyx_ListComp_Append(__pyx_t_1, (PyObject*)__pyx_t_6))) __PYX_ERR(0, 165, __pyx_L1_error) + if (unlikely(__Pyx_ListComp_Append(__pyx_t_1, (PyObject*)__pyx_t_6))) __PYX_ERR(0, 166, __pyx_L1_error) __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; } } /* exit inner scope */ @@ -2932,7 +2934,7 @@ static PyObject *__pyx_pf_8gedlibpy_4get_init_options(CYTHON_UNUSED PyObject *__ __pyx_t_1 = 0; goto __pyx_L0; - /* "gedlibpy.pyx":155 + /* "gedlibpy.pyx":156 * * * def get_init_options() : # <<<<<<<<<<<<<< @@ -2952,7 +2954,7 @@ static PyObject *__pyx_pf_8gedlibpy_4get_init_options(CYTHON_UNUSED PyObject *__ return __pyx_r; } -/* "gedlibpy.pyx":168 +/* "gedlibpy.pyx":169 * * * def get_dummy_node() : # <<<<<<<<<<<<<< @@ -2982,7 +2984,7 @@ static PyObject *__pyx_pf_8gedlibpy_6get_dummy_node(CYTHON_UNUSED PyObject *__py PyObject *__pyx_t_2 = NULL; __Pyx_RefNannySetupContext("get_dummy_node", 0); - /* "gedlibpy.pyx":177 + /* "gedlibpy.pyx":178 * .. note:: A dummy node is used when a node isn't associated to an other node. * """ * return getDummyNode() # <<<<<<<<<<<<<< @@ -2994,15 +2996,15 @@ static PyObject *__pyx_pf_8gedlibpy_6get_dummy_node(CYTHON_UNUSED PyObject *__py __pyx_t_1 = pyged::getDummyNode(); } catch(...) { __Pyx_CppExn2PyErr(); - __PYX_ERR(0, 177, __pyx_L1_error) + __PYX_ERR(0, 178, __pyx_L1_error) } - __pyx_t_2 = __Pyx_PyInt_FromSize_t(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 177, __pyx_L1_error) + __pyx_t_2 = __Pyx_PyInt_FromSize_t(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 178, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_r = __pyx_t_2; __pyx_t_2 = 0; goto __pyx_L0; - /* "gedlibpy.pyx":168 + /* "gedlibpy.pyx":169 * * * def get_dummy_node() : # <<<<<<<<<<<<<< @@ -3021,12 +3023,12 @@ static PyObject *__pyx_pf_8gedlibpy_6get_dummy_node(CYTHON_UNUSED PyObject *__py return __pyx_r; } -/* "gedlibpy.pyx":187 +/* "gedlibpy.pyx":189 * * * def __cinit__(self): # <<<<<<<<<<<<<< + * # self.c_env = PyGEDEnv() * self.c_env = new PyGEDEnv() - * */ /* Python wrapper */ @@ -3051,9 +3053,9 @@ static int __pyx_pf_8gedlibpy_6GEDEnv___cinit__(struct __pyx_obj_8gedlibpy_GEDEn pyged::PyGEDEnv *__pyx_t_1; __Pyx_RefNannySetupContext("__cinit__", 0); - /* "gedlibpy.pyx":188 - * + /* "gedlibpy.pyx":191 * def __cinit__(self): + * # self.c_env = PyGEDEnv() * self.c_env = new PyGEDEnv() # <<<<<<<<<<<<<< * * @@ -3062,16 +3064,16 @@ static int __pyx_pf_8gedlibpy_6GEDEnv___cinit__(struct __pyx_obj_8gedlibpy_GEDEn __pyx_t_1 = new pyged::PyGEDEnv(); } catch(...) { __Pyx_CppExn2PyErr(); - __PYX_ERR(0, 188, __pyx_L1_error) + __PYX_ERR(0, 191, __pyx_L1_error) } __pyx_v_self->c_env = __pyx_t_1; - /* "gedlibpy.pyx":187 + /* "gedlibpy.pyx":189 * * * def __cinit__(self): # <<<<<<<<<<<<<< + * # self.c_env = PyGEDEnv() * self.c_env = new PyGEDEnv() - * */ /* function exit code */ @@ -3085,7 +3087,7 @@ static int __pyx_pf_8gedlibpy_6GEDEnv___cinit__(struct __pyx_obj_8gedlibpy_GEDEn return __pyx_r; } -/* "gedlibpy.pyx":191 +/* "gedlibpy.pyx":194 * * * def __dealloc__(self): # <<<<<<<<<<<<<< @@ -3108,7 +3110,7 @@ static void __pyx_pf_8gedlibpy_6GEDEnv_2__dealloc__(struct __pyx_obj_8gedlibpy_G __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__dealloc__", 0); - /* "gedlibpy.pyx":192 + /* "gedlibpy.pyx":195 * * def __dealloc__(self): * del self.c_env # <<<<<<<<<<<<<< @@ -3117,7 +3119,7 @@ static void __pyx_pf_8gedlibpy_6GEDEnv_2__dealloc__(struct __pyx_obj_8gedlibpy_G */ delete __pyx_v_self->c_env; - /* "gedlibpy.pyx":191 + /* "gedlibpy.pyx":194 * * * def __dealloc__(self): # <<<<<<<<<<<<<< @@ -3129,7 +3131,7 @@ static void __pyx_pf_8gedlibpy_6GEDEnv_2__dealloc__(struct __pyx_obj_8gedlibpy_G __Pyx_RefNannyFinishContext(); } -/* "gedlibpy.pyx":195 +/* "gedlibpy.pyx":203 * * * def is_initialized(self) : # <<<<<<<<<<<<<< @@ -3158,7 +3160,7 @@ static PyObject *__pyx_pf_8gedlibpy_6GEDEnv_4is_initialized(struct __pyx_obj_8ge PyObject *__pyx_t_2 = NULL; __Pyx_RefNannySetupContext("is_initialized", 0); - /* "gedlibpy.pyx":204 + /* "gedlibpy.pyx":212 * .. note:: This function exists for internals verifications but you can use it for your code. * """ * return self.c_env.isInitialized() # <<<<<<<<<<<<<< @@ -3170,15 +3172,15 @@ static PyObject *__pyx_pf_8gedlibpy_6GEDEnv_4is_initialized(struct __pyx_obj_8ge __pyx_t_1 = __pyx_v_self->c_env->isInitialized(); } catch(...) { __Pyx_CppExn2PyErr(); - __PYX_ERR(0, 204, __pyx_L1_error) + __PYX_ERR(0, 212, __pyx_L1_error) } - __pyx_t_2 = __Pyx_PyBool_FromLong(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 204, __pyx_L1_error) + __pyx_t_2 = __Pyx_PyBool_FromLong(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 212, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_r = __pyx_t_2; __pyx_t_2 = 0; goto __pyx_L0; - /* "gedlibpy.pyx":195 + /* "gedlibpy.pyx":203 * * * def is_initialized(self) : # <<<<<<<<<<<<<< @@ -3197,7 +3199,7 @@ static PyObject *__pyx_pf_8gedlibpy_6GEDEnv_4is_initialized(struct __pyx_obj_8ge return __pyx_r; } -/* "gedlibpy.pyx":207 +/* "gedlibpy.pyx":215 * * * def restart_env(self) : # <<<<<<<<<<<<<< @@ -3224,7 +3226,7 @@ static PyObject *__pyx_pf_8gedlibpy_6GEDEnv_6restart_env(struct __pyx_obj_8gedli __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("restart_env", 0); - /* "gedlibpy.pyx":214 + /* "gedlibpy.pyx":222 * .. note:: You can now delete and add somes graphs after initialization so you can avoid this function. * """ * self.c_env.restartEnv() # <<<<<<<<<<<<<< @@ -3235,10 +3237,10 @@ static PyObject *__pyx_pf_8gedlibpy_6GEDEnv_6restart_env(struct __pyx_obj_8gedli __pyx_v_self->c_env->restartEnv(); } catch(...) { __Pyx_CppExn2PyErr(); - __PYX_ERR(0, 214, __pyx_L1_error) + __PYX_ERR(0, 222, __pyx_L1_error) } - /* "gedlibpy.pyx":207 + /* "gedlibpy.pyx":215 * * * def restart_env(self) : # <<<<<<<<<<<<<< @@ -3258,7 +3260,7 @@ static PyObject *__pyx_pf_8gedlibpy_6GEDEnv_6restart_env(struct __pyx_obj_8gedli return __pyx_r; } -/* "gedlibpy.pyx":217 +/* "gedlibpy.pyx":225 * * * def load_GXL_graphs(self, path_folder, path_XML, node_type, edge_type) : # <<<<<<<<<<<<<< @@ -3304,23 +3306,23 @@ static PyObject *__pyx_pw_8gedlibpy_6GEDEnv_9load_GXL_graphs(PyObject *__pyx_v_s case 1: if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_path_XML)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("load_GXL_graphs", 1, 4, 4, 1); __PYX_ERR(0, 217, __pyx_L3_error) + __Pyx_RaiseArgtupleInvalid("load_GXL_graphs", 1, 4, 4, 1); __PYX_ERR(0, 225, __pyx_L3_error) } CYTHON_FALLTHROUGH; case 2: if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_node_type)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("load_GXL_graphs", 1, 4, 4, 2); __PYX_ERR(0, 217, __pyx_L3_error) + __Pyx_RaiseArgtupleInvalid("load_GXL_graphs", 1, 4, 4, 2); __PYX_ERR(0, 225, __pyx_L3_error) } CYTHON_FALLTHROUGH; case 3: if (likely((values[3] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_edge_type)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("load_GXL_graphs", 1, 4, 4, 3); __PYX_ERR(0, 217, __pyx_L3_error) + __Pyx_RaiseArgtupleInvalid("load_GXL_graphs", 1, 4, 4, 3); __PYX_ERR(0, 225, __pyx_L3_error) } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "load_GXL_graphs") < 0)) __PYX_ERR(0, 217, __pyx_L3_error) + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "load_GXL_graphs") < 0)) __PYX_ERR(0, 225, __pyx_L3_error) } } else if (PyTuple_GET_SIZE(__pyx_args) != 4) { goto __pyx_L5_argtuple_error; @@ -3337,7 +3339,7 @@ static PyObject *__pyx_pw_8gedlibpy_6GEDEnv_9load_GXL_graphs(PyObject *__pyx_v_s } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("load_GXL_graphs", 1, 4, 4, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 217, __pyx_L3_error) + __Pyx_RaiseArgtupleInvalid("load_GXL_graphs", 1, 4, 4, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 225, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("gedlibpy.GEDEnv.load_GXL_graphs", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); @@ -3362,14 +3364,14 @@ static PyObject *__pyx_pf_8gedlibpy_6GEDEnv_8load_GXL_graphs(struct __pyx_obj_8g bool __pyx_t_7; __Pyx_RefNannySetupContext("load_GXL_graphs", 0); - /* "gedlibpy.pyx":233 + /* "gedlibpy.pyx":241 * .. note:: You can call this function multiple times if you want, but not after an init call. * """ * self.c_env.loadGXLGraph(path_folder.encode('utf-8'), path_XML.encode('utf-8'), node_type, edge_type) # <<<<<<<<<<<<<< * * */ - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_path_folder, __pyx_n_s_encode); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 233, __pyx_L1_error) + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_path_folder, __pyx_n_s_encode); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 241, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_3 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { @@ -3383,12 +3385,12 @@ static PyObject *__pyx_pf_8gedlibpy_6GEDEnv_8load_GXL_graphs(struct __pyx_obj_8g } __pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_3, __pyx_kp_u_utf_8) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_kp_u_utf_8); __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 233, __pyx_L1_error) + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 241, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_4 = __pyx_convert_string_from_py_std__in_string(__pyx_t_1); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 233, __pyx_L1_error) + __pyx_t_4 = __pyx_convert_string_from_py_std__in_string(__pyx_t_1); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 241, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_path_XML, __pyx_n_s_encode); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 233, __pyx_L1_error) + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_path_XML, __pyx_n_s_encode); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 241, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_3 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { @@ -3402,21 +3404,21 @@ static PyObject *__pyx_pf_8gedlibpy_6GEDEnv_8load_GXL_graphs(struct __pyx_obj_8g } __pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_3, __pyx_kp_u_utf_8) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_kp_u_utf_8); __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 233, __pyx_L1_error) + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 241, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_5 = __pyx_convert_string_from_py_std__in_string(__pyx_t_1); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 233, __pyx_L1_error) + __pyx_t_5 = __pyx_convert_string_from_py_std__in_string(__pyx_t_1); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 241, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_v_node_type); if (unlikely((__pyx_t_6 == ((bool)-1)) && PyErr_Occurred())) __PYX_ERR(0, 233, __pyx_L1_error) - __pyx_t_7 = __Pyx_PyObject_IsTrue(__pyx_v_edge_type); if (unlikely((__pyx_t_7 == ((bool)-1)) && PyErr_Occurred())) __PYX_ERR(0, 233, __pyx_L1_error) + __pyx_t_6 = __Pyx_PyObject_IsTrue(__pyx_v_node_type); if (unlikely((__pyx_t_6 == ((bool)-1)) && PyErr_Occurred())) __PYX_ERR(0, 241, __pyx_L1_error) + __pyx_t_7 = __Pyx_PyObject_IsTrue(__pyx_v_edge_type); if (unlikely((__pyx_t_7 == ((bool)-1)) && PyErr_Occurred())) __PYX_ERR(0, 241, __pyx_L1_error) try { __pyx_v_self->c_env->loadGXLGraph(__pyx_t_4, __pyx_t_5, __pyx_t_6, __pyx_t_7); } catch(...) { __Pyx_CppExn2PyErr(); - __PYX_ERR(0, 233, __pyx_L1_error) + __PYX_ERR(0, 241, __pyx_L1_error) } - /* "gedlibpy.pyx":217 + /* "gedlibpy.pyx":225 * * * def load_GXL_graphs(self, path_folder, path_XML, node_type, edge_type) : # <<<<<<<<<<<<<< @@ -3439,7 +3441,7 @@ static PyObject *__pyx_pf_8gedlibpy_6GEDEnv_8load_GXL_graphs(struct __pyx_obj_8g return __pyx_r; } -/* "gedlibpy.pyx":236 +/* "gedlibpy.pyx":244 * * * def graph_ids(self) : # <<<<<<<<<<<<<< @@ -3468,7 +3470,7 @@ static PyObject *__pyx_pf_8gedlibpy_6GEDEnv_10graph_ids(struct __pyx_obj_8gedlib PyObject *__pyx_t_2 = NULL; __Pyx_RefNannySetupContext("graph_ids", 0); - /* "gedlibpy.pyx":245 + /* "gedlibpy.pyx":253 * .. note:: Prefer this function if you have huges structures with lots of graphs. * """ * return self.c_env.getGraphIds() # <<<<<<<<<<<<<< @@ -3480,15 +3482,15 @@ static PyObject *__pyx_pf_8gedlibpy_6GEDEnv_10graph_ids(struct __pyx_obj_8gedlib __pyx_t_1 = __pyx_v_self->c_env->getGraphIds(); } catch(...) { __Pyx_CppExn2PyErr(); - __PYX_ERR(0, 245, __pyx_L1_error) + __PYX_ERR(0, 253, __pyx_L1_error) } - __pyx_t_2 = __pyx_convert_pair_to_py_size_t____size_t(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 245, __pyx_L1_error) + __pyx_t_2 = __pyx_convert_pair_to_py_size_t____size_t(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 253, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_r = __pyx_t_2; __pyx_t_2 = 0; goto __pyx_L0; - /* "gedlibpy.pyx":236 + /* "gedlibpy.pyx":244 * * * def graph_ids(self) : # <<<<<<<<<<<<<< @@ -3507,7 +3509,7 @@ static PyObject *__pyx_pf_8gedlibpy_6GEDEnv_10graph_ids(struct __pyx_obj_8gedlib return __pyx_r; } -/* "gedlibpy.pyx":248 +/* "gedlibpy.pyx":256 * * * def get_all_graph_ids(self) : # <<<<<<<<<<<<<< @@ -3536,7 +3538,7 @@ static PyObject *__pyx_pf_8gedlibpy_6GEDEnv_12get_all_graph_ids(struct __pyx_obj PyObject *__pyx_t_2 = NULL; __Pyx_RefNannySetupContext("get_all_graph_ids", 0); - /* "gedlibpy.pyx":257 + /* "gedlibpy.pyx":265 * .. note:: The last ID is equal to (number of graphs - 1). The order correspond to the loading order. * """ * return self.c_env.getAllGraphIds() # <<<<<<<<<<<<<< @@ -3548,15 +3550,15 @@ static PyObject *__pyx_pf_8gedlibpy_6GEDEnv_12get_all_graph_ids(struct __pyx_obj __pyx_t_1 = __pyx_v_self->c_env->getAllGraphIds(); } catch(...) { __Pyx_CppExn2PyErr(); - __PYX_ERR(0, 257, __pyx_L1_error) + __PYX_ERR(0, 265, __pyx_L1_error) } - __pyx_t_2 = __pyx_convert_vector_to_py_size_t(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 257, __pyx_L1_error) + __pyx_t_2 = __pyx_convert_vector_to_py_size_t(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 265, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_r = __pyx_t_2; __pyx_t_2 = 0; goto __pyx_L0; - /* "gedlibpy.pyx":248 + /* "gedlibpy.pyx":256 * * * def get_all_graph_ids(self) : # <<<<<<<<<<<<<< @@ -3575,7 +3577,7 @@ static PyObject *__pyx_pf_8gedlibpy_6GEDEnv_12get_all_graph_ids(struct __pyx_obj return __pyx_r; } -/* "gedlibpy.pyx":260 +/* "gedlibpy.pyx":268 * * * def get_graph_class(self, id) : # <<<<<<<<<<<<<< @@ -3605,7 +3607,7 @@ static PyObject *__pyx_pf_8gedlibpy_6GEDEnv_14get_graph_class(struct __pyx_obj_8 PyObject *__pyx_t_3 = NULL; __Pyx_RefNannySetupContext("get_graph_class", 0); - /* "gedlibpy.pyx":272 + /* "gedlibpy.pyx":280 * .. note:: An empty string can be a class. * """ * return self.c_env.getGraphClass(id) # <<<<<<<<<<<<<< @@ -3613,20 +3615,20 @@ static PyObject *__pyx_pf_8gedlibpy_6GEDEnv_14get_graph_class(struct __pyx_obj_8 * */ __Pyx_XDECREF(__pyx_r); - __pyx_t_1 = __Pyx_PyInt_As_size_t(__pyx_v_id); if (unlikely((__pyx_t_1 == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 272, __pyx_L1_error) + __pyx_t_1 = __Pyx_PyInt_As_size_t(__pyx_v_id); if (unlikely((__pyx_t_1 == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 280, __pyx_L1_error) try { __pyx_t_2 = __pyx_v_self->c_env->getGraphClass(__pyx_t_1); } catch(...) { __Pyx_CppExn2PyErr(); - __PYX_ERR(0, 272, __pyx_L1_error) + __PYX_ERR(0, 280, __pyx_L1_error) } - __pyx_t_3 = __pyx_convert_PyBytes_string_to_py_std__in_string(__pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 272, __pyx_L1_error) + __pyx_t_3 = __pyx_convert_PyBytes_string_to_py_std__in_string(__pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 280, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_r = __pyx_t_3; __pyx_t_3 = 0; goto __pyx_L0; - /* "gedlibpy.pyx":260 + /* "gedlibpy.pyx":268 * * * def get_graph_class(self, id) : # <<<<<<<<<<<<<< @@ -3645,7 +3647,7 @@ static PyObject *__pyx_pf_8gedlibpy_6GEDEnv_14get_graph_class(struct __pyx_obj_8 return __pyx_r; } -/* "gedlibpy.pyx":275 +/* "gedlibpy.pyx":283 * * * def get_graph_name(self, id) : # <<<<<<<<<<<<<< @@ -3675,7 +3677,7 @@ static PyObject *__pyx_pf_8gedlibpy_6GEDEnv_16get_graph_name(struct __pyx_obj_8g PyObject *__pyx_t_3 = NULL; __Pyx_RefNannySetupContext("get_graph_name", 0); - /* "gedlibpy.pyx":287 + /* "gedlibpy.pyx":295 * .. note:: An empty string can be a name. * """ * return self.c_env.getGraphName(id).decode('utf-8') # <<<<<<<<<<<<<< @@ -3683,20 +3685,20 @@ static PyObject *__pyx_pf_8gedlibpy_6GEDEnv_16get_graph_name(struct __pyx_obj_8g * */ __Pyx_XDECREF(__pyx_r); - __pyx_t_1 = __Pyx_PyInt_As_size_t(__pyx_v_id); if (unlikely((__pyx_t_1 == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 287, __pyx_L1_error) + __pyx_t_1 = __Pyx_PyInt_As_size_t(__pyx_v_id); if (unlikely((__pyx_t_1 == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 295, __pyx_L1_error) try { __pyx_t_2 = __pyx_v_self->c_env->getGraphName(__pyx_t_1); } catch(...) { __Pyx_CppExn2PyErr(); - __PYX_ERR(0, 287, __pyx_L1_error) + __PYX_ERR(0, 295, __pyx_L1_error) } - __pyx_t_3 = __Pyx_decode_cpp_string(__pyx_t_2, 0, PY_SSIZE_T_MAX, NULL, NULL, PyUnicode_DecodeUTF8); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 287, __pyx_L1_error) + __pyx_t_3 = __Pyx_decode_cpp_string(__pyx_t_2, 0, PY_SSIZE_T_MAX, NULL, NULL, PyUnicode_DecodeUTF8); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 295, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_r = __pyx_t_3; __pyx_t_3 = 0; goto __pyx_L0; - /* "gedlibpy.pyx":275 + /* "gedlibpy.pyx":283 * * * def get_graph_name(self, id) : # <<<<<<<<<<<<<< @@ -3715,7 +3717,7 @@ static PyObject *__pyx_pf_8gedlibpy_6GEDEnv_16get_graph_name(struct __pyx_obj_8g return __pyx_r; } -/* "gedlibpy.pyx":290 +/* "gedlibpy.pyx":298 * * * def add_graph(self, name="", classe="") : # <<<<<<<<<<<<<< @@ -3763,7 +3765,7 @@ static PyObject *__pyx_pw_8gedlibpy_6GEDEnv_19add_graph(PyObject *__pyx_v_self, } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "add_graph") < 0)) __PYX_ERR(0, 290, __pyx_L3_error) + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "add_graph") < 0)) __PYX_ERR(0, 298, __pyx_L3_error) } } else { switch (PyTuple_GET_SIZE(__pyx_args)) { @@ -3780,7 +3782,7 @@ static PyObject *__pyx_pw_8gedlibpy_6GEDEnv_19add_graph(PyObject *__pyx_v_self, } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("add_graph", 0, 0, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 290, __pyx_L3_error) + __Pyx_RaiseArgtupleInvalid("add_graph", 0, 0, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 298, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("gedlibpy.GEDEnv.add_graph", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); @@ -3804,7 +3806,7 @@ static PyObject *__pyx_pf_8gedlibpy_6GEDEnv_18add_graph(struct __pyx_obj_8gedlib size_t __pyx_t_6; __Pyx_RefNannySetupContext("add_graph", 0); - /* "gedlibpy.pyx":304 + /* "gedlibpy.pyx":312 * .. note:: You can call this function without parameters. You can also use this function after initialization, call init() after you're finished your modifications. * """ * return self.c_env.addGraph(name.encode('utf-8'), classe.encode('utf-8')) # <<<<<<<<<<<<<< @@ -3812,7 +3814,7 @@ static PyObject *__pyx_pf_8gedlibpy_6GEDEnv_18add_graph(struct __pyx_obj_8gedlib * */ __Pyx_XDECREF(__pyx_r); - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_name, __pyx_n_s_encode); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 304, __pyx_L1_error) + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_name, __pyx_n_s_encode); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 312, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_3 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { @@ -3826,12 +3828,12 @@ static PyObject *__pyx_pf_8gedlibpy_6GEDEnv_18add_graph(struct __pyx_obj_8gedlib } __pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_3, __pyx_kp_u_utf_8) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_kp_u_utf_8); __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 304, __pyx_L1_error) + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 312, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_4 = __pyx_convert_string_from_py_std__in_string(__pyx_t_1); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 304, __pyx_L1_error) + __pyx_t_4 = __pyx_convert_string_from_py_std__in_string(__pyx_t_1); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 312, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_classe, __pyx_n_s_encode); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 304, __pyx_L1_error) + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_classe, __pyx_n_s_encode); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 312, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_3 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { @@ -3845,24 +3847,24 @@ static PyObject *__pyx_pf_8gedlibpy_6GEDEnv_18add_graph(struct __pyx_obj_8gedlib } __pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_3, __pyx_kp_u_utf_8) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_kp_u_utf_8); __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 304, __pyx_L1_error) + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 312, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_5 = __pyx_convert_string_from_py_std__in_string(__pyx_t_1); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 304, __pyx_L1_error) + __pyx_t_5 = __pyx_convert_string_from_py_std__in_string(__pyx_t_1); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 312, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; try { __pyx_t_6 = __pyx_v_self->c_env->addGraph(__pyx_t_4, __pyx_t_5); } catch(...) { __Pyx_CppExn2PyErr(); - __PYX_ERR(0, 304, __pyx_L1_error) + __PYX_ERR(0, 312, __pyx_L1_error) } - __pyx_t_1 = __Pyx_PyInt_FromSize_t(__pyx_t_6); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 304, __pyx_L1_error) + __pyx_t_1 = __Pyx_PyInt_FromSize_t(__pyx_t_6); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 312, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_r = __pyx_t_1; __pyx_t_1 = 0; goto __pyx_L0; - /* "gedlibpy.pyx":290 + /* "gedlibpy.pyx":298 * * * def add_graph(self, name="", classe="") : # <<<<<<<<<<<<<< @@ -3883,7 +3885,7 @@ static PyObject *__pyx_pf_8gedlibpy_6GEDEnv_18add_graph(struct __pyx_obj_8gedlib return __pyx_r; } -/* "gedlibpy.pyx":307 +/* "gedlibpy.pyx":315 * * * def add_node(self, graph_id, node_id, node_label): # <<<<<<<<<<<<<< @@ -3926,17 +3928,17 @@ static PyObject *__pyx_pw_8gedlibpy_6GEDEnv_21add_node(PyObject *__pyx_v_self, P case 1: if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_node_id)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("add_node", 1, 3, 3, 1); __PYX_ERR(0, 307, __pyx_L3_error) + __Pyx_RaiseArgtupleInvalid("add_node", 1, 3, 3, 1); __PYX_ERR(0, 315, __pyx_L3_error) } CYTHON_FALLTHROUGH; case 2: if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_node_label)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("add_node", 1, 3, 3, 2); __PYX_ERR(0, 307, __pyx_L3_error) + __Pyx_RaiseArgtupleInvalid("add_node", 1, 3, 3, 2); __PYX_ERR(0, 315, __pyx_L3_error) } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "add_node") < 0)) __PYX_ERR(0, 307, __pyx_L3_error) + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "add_node") < 0)) __PYX_ERR(0, 315, __pyx_L3_error) } } else if (PyTuple_GET_SIZE(__pyx_args) != 3) { goto __pyx_L5_argtuple_error; @@ -3951,7 +3953,7 @@ static PyObject *__pyx_pw_8gedlibpy_6GEDEnv_21add_node(PyObject *__pyx_v_self, P } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("add_node", 1, 3, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 307, __pyx_L3_error) + __Pyx_RaiseArgtupleInvalid("add_node", 1, 3, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 315, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("gedlibpy.GEDEnv.add_node", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); @@ -3975,15 +3977,15 @@ static PyObject *__pyx_pf_8gedlibpy_6GEDEnv_20add_node(struct __pyx_obj_8gedlibp std::map __pyx_t_6; __Pyx_RefNannySetupContext("add_node", 0); - /* "gedlibpy.pyx":321 + /* "gedlibpy.pyx":329 * .. note:: You can also use this function after initialization, but only on a newly added graph. Call init() after you're finished your modifications. * """ * self.c_env.addNode(graph_id, node_id.encode('utf-8'), encode_your_map(node_label)) # <<<<<<<<<<<<<< * * */ - __pyx_t_1 = __Pyx_PyInt_As_size_t(__pyx_v_graph_id); if (unlikely((__pyx_t_1 == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 321, __pyx_L1_error) - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_node_id, __pyx_n_s_encode); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 321, __pyx_L1_error) + __pyx_t_1 = __Pyx_PyInt_As_size_t(__pyx_v_graph_id); if (unlikely((__pyx_t_1 == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 329, __pyx_L1_error) + __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_node_id, __pyx_n_s_encode); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 329, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_4 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) { @@ -3997,12 +3999,12 @@ static PyObject *__pyx_pf_8gedlibpy_6GEDEnv_20add_node(struct __pyx_obj_8gedlibp } __pyx_t_2 = (__pyx_t_4) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_4, __pyx_kp_u_utf_8) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_kp_u_utf_8); __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; - if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 321, __pyx_L1_error) + if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 329, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_5 = __pyx_convert_string_from_py_std__in_string(__pyx_t_2); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 321, __pyx_L1_error) + __pyx_t_5 = __pyx_convert_string_from_py_std__in_string(__pyx_t_2); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 329, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_encode_your_map); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 321, __pyx_L1_error) + __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_encode_your_map); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 329, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_4 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_3))) { @@ -4016,19 +4018,19 @@ static PyObject *__pyx_pf_8gedlibpy_6GEDEnv_20add_node(struct __pyx_obj_8gedlibp } __pyx_t_2 = (__pyx_t_4) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_4, __pyx_v_node_label) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_v_node_label); __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; - if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 321, __pyx_L1_error) + if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 329, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_6 = __pyx_convert_map_from_py_std_3a__3a_string__and_std_3a__3a_string(__pyx_t_2); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 321, __pyx_L1_error) + __pyx_t_6 = __pyx_convert_map_from_py_std_3a__3a_string__and_std_3a__3a_string(__pyx_t_2); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 329, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; try { __pyx_v_self->c_env->addNode(__pyx_t_1, __pyx_t_5, __pyx_t_6); } catch(...) { __Pyx_CppExn2PyErr(); - __PYX_ERR(0, 321, __pyx_L1_error) + __PYX_ERR(0, 329, __pyx_L1_error) } - /* "gedlibpy.pyx":307 + /* "gedlibpy.pyx":315 * * * def add_node(self, graph_id, node_id, node_label): # <<<<<<<<<<<<<< @@ -4051,7 +4053,7 @@ static PyObject *__pyx_pf_8gedlibpy_6GEDEnv_20add_node(struct __pyx_obj_8gedlibp return __pyx_r; } -/* "gedlibpy.pyx":324 +/* "gedlibpy.pyx":332 * * * def add_edge(self, graph_id, tail, head, edge_label, ignore_duplicates=True) : # <<<<<<<<<<<<<< @@ -4101,19 +4103,19 @@ static PyObject *__pyx_pw_8gedlibpy_6GEDEnv_23add_edge(PyObject *__pyx_v_self, P case 1: if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_tail)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("add_edge", 0, 4, 5, 1); __PYX_ERR(0, 324, __pyx_L3_error) + __Pyx_RaiseArgtupleInvalid("add_edge", 0, 4, 5, 1); __PYX_ERR(0, 332, __pyx_L3_error) } CYTHON_FALLTHROUGH; case 2: if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_head)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("add_edge", 0, 4, 5, 2); __PYX_ERR(0, 324, __pyx_L3_error) + __Pyx_RaiseArgtupleInvalid("add_edge", 0, 4, 5, 2); __PYX_ERR(0, 332, __pyx_L3_error) } CYTHON_FALLTHROUGH; case 3: if (likely((values[3] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_edge_label)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("add_edge", 0, 4, 5, 3); __PYX_ERR(0, 324, __pyx_L3_error) + __Pyx_RaiseArgtupleInvalid("add_edge", 0, 4, 5, 3); __PYX_ERR(0, 332, __pyx_L3_error) } CYTHON_FALLTHROUGH; case 4: @@ -4123,7 +4125,7 @@ static PyObject *__pyx_pw_8gedlibpy_6GEDEnv_23add_edge(PyObject *__pyx_v_self, P } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "add_edge") < 0)) __PYX_ERR(0, 324, __pyx_L3_error) + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "add_edge") < 0)) __PYX_ERR(0, 332, __pyx_L3_error) } } else { switch (PyTuple_GET_SIZE(__pyx_args)) { @@ -4145,7 +4147,7 @@ static PyObject *__pyx_pw_8gedlibpy_6GEDEnv_23add_edge(PyObject *__pyx_v_self, P } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("add_edge", 0, 4, 5, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 324, __pyx_L3_error) + __Pyx_RaiseArgtupleInvalid("add_edge", 0, 4, 5, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 332, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("gedlibpy.GEDEnv.add_edge", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); @@ -4171,15 +4173,15 @@ static PyObject *__pyx_pf_8gedlibpy_6GEDEnv_22add_edge(struct __pyx_obj_8gedlibp bool __pyx_t_8; __Pyx_RefNannySetupContext("add_edge", 0); - /* "gedlibpy.pyx":342 + /* "gedlibpy.pyx":350 * .. note:: You can also use this function after initialization, but only on a newly added graph. Call init() after you're finished your modifications. * """ * self.c_env.addEdge(graph_id, tail.encode('utf-8'), head.encode('utf-8'), encode_your_map(edge_label), ignore_duplicates) # <<<<<<<<<<<<<< * * */ - __pyx_t_1 = __Pyx_PyInt_As_size_t(__pyx_v_graph_id); if (unlikely((__pyx_t_1 == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 342, __pyx_L1_error) - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_tail, __pyx_n_s_encode); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 342, __pyx_L1_error) + __pyx_t_1 = __Pyx_PyInt_As_size_t(__pyx_v_graph_id); if (unlikely((__pyx_t_1 == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 350, __pyx_L1_error) + __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_tail, __pyx_n_s_encode); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 350, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_4 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) { @@ -4193,12 +4195,12 @@ static PyObject *__pyx_pf_8gedlibpy_6GEDEnv_22add_edge(struct __pyx_obj_8gedlibp } __pyx_t_2 = (__pyx_t_4) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_4, __pyx_kp_u_utf_8) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_kp_u_utf_8); __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; - if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 342, __pyx_L1_error) + if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 350, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_5 = __pyx_convert_string_from_py_std__in_string(__pyx_t_2); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 342, __pyx_L1_error) + __pyx_t_5 = __pyx_convert_string_from_py_std__in_string(__pyx_t_2); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 350, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_head, __pyx_n_s_encode); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 342, __pyx_L1_error) + __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_head, __pyx_n_s_encode); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 350, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_4 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) { @@ -4212,12 +4214,12 @@ static PyObject *__pyx_pf_8gedlibpy_6GEDEnv_22add_edge(struct __pyx_obj_8gedlibp } __pyx_t_2 = (__pyx_t_4) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_4, __pyx_kp_u_utf_8) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_kp_u_utf_8); __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; - if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 342, __pyx_L1_error) + if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 350, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_6 = __pyx_convert_string_from_py_std__in_string(__pyx_t_2); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 342, __pyx_L1_error) + __pyx_t_6 = __pyx_convert_string_from_py_std__in_string(__pyx_t_2); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 350, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_encode_your_map); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 342, __pyx_L1_error) + __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_encode_your_map); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 350, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_4 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_3))) { @@ -4231,20 +4233,20 @@ static PyObject *__pyx_pf_8gedlibpy_6GEDEnv_22add_edge(struct __pyx_obj_8gedlibp } __pyx_t_2 = (__pyx_t_4) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_4, __pyx_v_edge_label) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_v_edge_label); __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; - if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 342, __pyx_L1_error) + if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 350, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_7 = __pyx_convert_map_from_py_std_3a__3a_string__and_std_3a__3a_string(__pyx_t_2); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 342, __pyx_L1_error) + __pyx_t_7 = __pyx_convert_map_from_py_std_3a__3a_string__and_std_3a__3a_string(__pyx_t_2); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 350, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_8 = __Pyx_PyObject_IsTrue(__pyx_v_ignore_duplicates); if (unlikely((__pyx_t_8 == ((bool)-1)) && PyErr_Occurred())) __PYX_ERR(0, 342, __pyx_L1_error) + __pyx_t_8 = __Pyx_PyObject_IsTrue(__pyx_v_ignore_duplicates); if (unlikely((__pyx_t_8 == ((bool)-1)) && PyErr_Occurred())) __PYX_ERR(0, 350, __pyx_L1_error) try { __pyx_v_self->c_env->addEdge(__pyx_t_1, __pyx_t_5, __pyx_t_6, __pyx_t_7, __pyx_t_8); } catch(...) { __Pyx_CppExn2PyErr(); - __PYX_ERR(0, 342, __pyx_L1_error) + __PYX_ERR(0, 350, __pyx_L1_error) } - /* "gedlibpy.pyx":324 + /* "gedlibpy.pyx":332 * * * def add_edge(self, graph_id, tail, head, edge_label, ignore_duplicates=True) : # <<<<<<<<<<<<<< @@ -4267,7 +4269,7 @@ static PyObject *__pyx_pf_8gedlibpy_6GEDEnv_22add_edge(struct __pyx_obj_8gedlibp return __pyx_r; } -/* "gedlibpy.pyx":345 +/* "gedlibpy.pyx":353 * * * def add_symmetrical_edge(self, graph_id, tail, head, edge_label) : # <<<<<<<<<<<<<< @@ -4313,23 +4315,23 @@ static PyObject *__pyx_pw_8gedlibpy_6GEDEnv_25add_symmetrical_edge(PyObject *__p case 1: if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_tail)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("add_symmetrical_edge", 1, 4, 4, 1); __PYX_ERR(0, 345, __pyx_L3_error) + __Pyx_RaiseArgtupleInvalid("add_symmetrical_edge", 1, 4, 4, 1); __PYX_ERR(0, 353, __pyx_L3_error) } CYTHON_FALLTHROUGH; case 2: if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_head)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("add_symmetrical_edge", 1, 4, 4, 2); __PYX_ERR(0, 345, __pyx_L3_error) + __Pyx_RaiseArgtupleInvalid("add_symmetrical_edge", 1, 4, 4, 2); __PYX_ERR(0, 353, __pyx_L3_error) } CYTHON_FALLTHROUGH; case 3: if (likely((values[3] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_edge_label)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("add_symmetrical_edge", 1, 4, 4, 3); __PYX_ERR(0, 345, __pyx_L3_error) + __Pyx_RaiseArgtupleInvalid("add_symmetrical_edge", 1, 4, 4, 3); __PYX_ERR(0, 353, __pyx_L3_error) } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "add_symmetrical_edge") < 0)) __PYX_ERR(0, 345, __pyx_L3_error) + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "add_symmetrical_edge") < 0)) __PYX_ERR(0, 353, __pyx_L3_error) } } else if (PyTuple_GET_SIZE(__pyx_args) != 4) { goto __pyx_L5_argtuple_error; @@ -4346,7 +4348,7 @@ static PyObject *__pyx_pw_8gedlibpy_6GEDEnv_25add_symmetrical_edge(PyObject *__p } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("add_symmetrical_edge", 1, 4, 4, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 345, __pyx_L3_error) + __Pyx_RaiseArgtupleInvalid("add_symmetrical_edge", 1, 4, 4, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 353, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("gedlibpy.GEDEnv.add_symmetrical_edge", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); @@ -4374,14 +4376,14 @@ static PyObject *__pyx_pf_8gedlibpy_6GEDEnv_24add_symmetrical_edge(struct __pyx_ std::map __pyx_t_7; __Pyx_RefNannySetupContext("add_symmetrical_edge", 0); - /* "gedlibpy.pyx":361 + /* "gedlibpy.pyx":369 * .. note:: You can also use this function after initialization, but only on a newly added graph. Call init() after you're finished your modifications. * """ * tailB = tail.encode('utf-8') # <<<<<<<<<<<<<< * headB = head.encode('utf-8') * edgeLabelB = encode_your_map(edge_label) */ - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_tail, __pyx_n_s_encode); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 361, __pyx_L1_error) + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_tail, __pyx_n_s_encode); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 369, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_3 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { @@ -4395,20 +4397,20 @@ static PyObject *__pyx_pf_8gedlibpy_6GEDEnv_24add_symmetrical_edge(struct __pyx_ } __pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_3, __pyx_kp_u_utf_8) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_kp_u_utf_8); __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 361, __pyx_L1_error) + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 369, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_v_tailB = __pyx_t_1; __pyx_t_1 = 0; - /* "gedlibpy.pyx":362 + /* "gedlibpy.pyx":370 * """ * tailB = tail.encode('utf-8') * headB = head.encode('utf-8') # <<<<<<<<<<<<<< * edgeLabelB = encode_your_map(edge_label) * self.c_env.addEdge(graph_id, tailB, headB, edgeLabelB, True) */ - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_head, __pyx_n_s_encode); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 362, __pyx_L1_error) + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_head, __pyx_n_s_encode); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 370, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_3 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { @@ -4422,20 +4424,20 @@ static PyObject *__pyx_pf_8gedlibpy_6GEDEnv_24add_symmetrical_edge(struct __pyx_ } __pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_3, __pyx_kp_u_utf_8) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_kp_u_utf_8); __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 362, __pyx_L1_error) + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 370, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_v_headB = __pyx_t_1; __pyx_t_1 = 0; - /* "gedlibpy.pyx":363 + /* "gedlibpy.pyx":371 * tailB = tail.encode('utf-8') * headB = head.encode('utf-8') * edgeLabelB = encode_your_map(edge_label) # <<<<<<<<<<<<<< * self.c_env.addEdge(graph_id, tailB, headB, edgeLabelB, True) * self.c_env.addEdge(graph_id, headB, tailB, edgeLabelB, True) */ - __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_encode_your_map); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 363, __pyx_L1_error) + __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_encode_your_map); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 371, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_3 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) { @@ -4449,49 +4451,49 @@ static PyObject *__pyx_pf_8gedlibpy_6GEDEnv_24add_symmetrical_edge(struct __pyx_ } __pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_3, __pyx_v_edge_label) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_v_edge_label); __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 363, __pyx_L1_error) + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 371, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_v_edgeLabelB = __pyx_t_1; __pyx_t_1 = 0; - /* "gedlibpy.pyx":364 + /* "gedlibpy.pyx":372 * headB = head.encode('utf-8') * edgeLabelB = encode_your_map(edge_label) * self.c_env.addEdge(graph_id, tailB, headB, edgeLabelB, True) # <<<<<<<<<<<<<< * self.c_env.addEdge(graph_id, headB, tailB, edgeLabelB, True) * */ - __pyx_t_4 = __Pyx_PyInt_As_size_t(__pyx_v_graph_id); if (unlikely((__pyx_t_4 == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 364, __pyx_L1_error) - __pyx_t_5 = __pyx_convert_string_from_py_std__in_string(__pyx_v_tailB); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 364, __pyx_L1_error) - __pyx_t_6 = __pyx_convert_string_from_py_std__in_string(__pyx_v_headB); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 364, __pyx_L1_error) - __pyx_t_7 = __pyx_convert_map_from_py_std_3a__3a_string__and_std_3a__3a_string(__pyx_v_edgeLabelB); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 364, __pyx_L1_error) + __pyx_t_4 = __Pyx_PyInt_As_size_t(__pyx_v_graph_id); if (unlikely((__pyx_t_4 == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 372, __pyx_L1_error) + __pyx_t_5 = __pyx_convert_string_from_py_std__in_string(__pyx_v_tailB); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 372, __pyx_L1_error) + __pyx_t_6 = __pyx_convert_string_from_py_std__in_string(__pyx_v_headB); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 372, __pyx_L1_error) + __pyx_t_7 = __pyx_convert_map_from_py_std_3a__3a_string__and_std_3a__3a_string(__pyx_v_edgeLabelB); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 372, __pyx_L1_error) try { __pyx_v_self->c_env->addEdge(__pyx_t_4, __pyx_t_5, __pyx_t_6, __pyx_t_7, 1); } catch(...) { __Pyx_CppExn2PyErr(); - __PYX_ERR(0, 364, __pyx_L1_error) + __PYX_ERR(0, 372, __pyx_L1_error) } - /* "gedlibpy.pyx":365 + /* "gedlibpy.pyx":373 * edgeLabelB = encode_your_map(edge_label) * self.c_env.addEdge(graph_id, tailB, headB, edgeLabelB, True) * self.c_env.addEdge(graph_id, headB, tailB, edgeLabelB, True) # <<<<<<<<<<<<<< * * */ - __pyx_t_4 = __Pyx_PyInt_As_size_t(__pyx_v_graph_id); if (unlikely((__pyx_t_4 == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 365, __pyx_L1_error) - __pyx_t_6 = __pyx_convert_string_from_py_std__in_string(__pyx_v_headB); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 365, __pyx_L1_error) - __pyx_t_5 = __pyx_convert_string_from_py_std__in_string(__pyx_v_tailB); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 365, __pyx_L1_error) - __pyx_t_7 = __pyx_convert_map_from_py_std_3a__3a_string__and_std_3a__3a_string(__pyx_v_edgeLabelB); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 365, __pyx_L1_error) + __pyx_t_4 = __Pyx_PyInt_As_size_t(__pyx_v_graph_id); if (unlikely((__pyx_t_4 == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 373, __pyx_L1_error) + __pyx_t_6 = __pyx_convert_string_from_py_std__in_string(__pyx_v_headB); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 373, __pyx_L1_error) + __pyx_t_5 = __pyx_convert_string_from_py_std__in_string(__pyx_v_tailB); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 373, __pyx_L1_error) + __pyx_t_7 = __pyx_convert_map_from_py_std_3a__3a_string__and_std_3a__3a_string(__pyx_v_edgeLabelB); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 373, __pyx_L1_error) try { __pyx_v_self->c_env->addEdge(__pyx_t_4, __pyx_t_6, __pyx_t_5, __pyx_t_7, 1); } catch(...) { __Pyx_CppExn2PyErr(); - __PYX_ERR(0, 365, __pyx_L1_error) + __PYX_ERR(0, 373, __pyx_L1_error) } - /* "gedlibpy.pyx":345 + /* "gedlibpy.pyx":353 * * * def add_symmetrical_edge(self, graph_id, tail, head, edge_label) : # <<<<<<<<<<<<<< @@ -4517,7 +4519,7 @@ static PyObject *__pyx_pf_8gedlibpy_6GEDEnv_24add_symmetrical_edge(struct __pyx_ return __pyx_r; } -/* "gedlibpy.pyx":368 +/* "gedlibpy.pyx":376 * * * def clear_graph(self, graph_id) : # <<<<<<<<<<<<<< @@ -4545,22 +4547,22 @@ static PyObject *__pyx_pf_8gedlibpy_6GEDEnv_26clear_graph(struct __pyx_obj_8gedl size_t __pyx_t_1; __Pyx_RefNannySetupContext("clear_graph", 0); - /* "gedlibpy.pyx":377 + /* "gedlibpy.pyx":385 * .. note:: Call init() after you're finished your modifications. * """ * self.c_env.clearGraph(graph_id) # <<<<<<<<<<<<<< * * */ - __pyx_t_1 = __Pyx_PyInt_As_size_t(__pyx_v_graph_id); if (unlikely((__pyx_t_1 == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 377, __pyx_L1_error) + __pyx_t_1 = __Pyx_PyInt_As_size_t(__pyx_v_graph_id); if (unlikely((__pyx_t_1 == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 385, __pyx_L1_error) try { __pyx_v_self->c_env->clearGraph(__pyx_t_1); } catch(...) { __Pyx_CppExn2PyErr(); - __PYX_ERR(0, 377, __pyx_L1_error) + __PYX_ERR(0, 385, __pyx_L1_error) } - /* "gedlibpy.pyx":368 + /* "gedlibpy.pyx":376 * * * def clear_graph(self, graph_id) : # <<<<<<<<<<<<<< @@ -4580,7 +4582,7 @@ static PyObject *__pyx_pf_8gedlibpy_6GEDEnv_26clear_graph(struct __pyx_obj_8gedl return __pyx_r; } -/* "gedlibpy.pyx":380 +/* "gedlibpy.pyx":388 * * * def get_graph_internal_id(self, graph_id) : # <<<<<<<<<<<<<< @@ -4610,7 +4612,7 @@ static PyObject *__pyx_pf_8gedlibpy_6GEDEnv_28get_graph_internal_id(struct __pyx PyObject *__pyx_t_3 = NULL; __Pyx_RefNannySetupContext("get_graph_internal_id", 0); - /* "gedlibpy.pyx":392 + /* "gedlibpy.pyx":400 * .. note:: These functions allow to collect all the graph's informations. * """ * return self.c_env.getGraphInternalId(graph_id) # <<<<<<<<<<<<<< @@ -4618,20 +4620,20 @@ static PyObject *__pyx_pf_8gedlibpy_6GEDEnv_28get_graph_internal_id(struct __pyx * */ __Pyx_XDECREF(__pyx_r); - __pyx_t_1 = __Pyx_PyInt_As_size_t(__pyx_v_graph_id); if (unlikely((__pyx_t_1 == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 392, __pyx_L1_error) + __pyx_t_1 = __Pyx_PyInt_As_size_t(__pyx_v_graph_id); if (unlikely((__pyx_t_1 == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 400, __pyx_L1_error) try { __pyx_t_2 = __pyx_v_self->c_env->getGraphInternalId(__pyx_t_1); } catch(...) { __Pyx_CppExn2PyErr(); - __PYX_ERR(0, 392, __pyx_L1_error) + __PYX_ERR(0, 400, __pyx_L1_error) } - __pyx_t_3 = __Pyx_PyInt_FromSize_t(__pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 392, __pyx_L1_error) + __pyx_t_3 = __Pyx_PyInt_FromSize_t(__pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 400, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_r = __pyx_t_3; __pyx_t_3 = 0; goto __pyx_L0; - /* "gedlibpy.pyx":380 + /* "gedlibpy.pyx":388 * * * def get_graph_internal_id(self, graph_id) : # <<<<<<<<<<<<<< @@ -4650,7 +4652,7 @@ static PyObject *__pyx_pf_8gedlibpy_6GEDEnv_28get_graph_internal_id(struct __pyx return __pyx_r; } -/* "gedlibpy.pyx":395 +/* "gedlibpy.pyx":403 * * * def get_graph_num_nodes(self, graph_id) : # <<<<<<<<<<<<<< @@ -4680,7 +4682,7 @@ static PyObject *__pyx_pf_8gedlibpy_6GEDEnv_30get_graph_num_nodes(struct __pyx_o PyObject *__pyx_t_3 = NULL; __Pyx_RefNannySetupContext("get_graph_num_nodes", 0); - /* "gedlibpy.pyx":407 + /* "gedlibpy.pyx":415 * .. note:: These functions allow to collect all the graph's informations. * """ * return self.c_env.getGraphNumNodes(graph_id) # <<<<<<<<<<<<<< @@ -4688,20 +4690,20 @@ static PyObject *__pyx_pf_8gedlibpy_6GEDEnv_30get_graph_num_nodes(struct __pyx_o * */ __Pyx_XDECREF(__pyx_r); - __pyx_t_1 = __Pyx_PyInt_As_size_t(__pyx_v_graph_id); if (unlikely((__pyx_t_1 == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 407, __pyx_L1_error) + __pyx_t_1 = __Pyx_PyInt_As_size_t(__pyx_v_graph_id); if (unlikely((__pyx_t_1 == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 415, __pyx_L1_error) try { __pyx_t_2 = __pyx_v_self->c_env->getGraphNumNodes(__pyx_t_1); } catch(...) { __Pyx_CppExn2PyErr(); - __PYX_ERR(0, 407, __pyx_L1_error) + __PYX_ERR(0, 415, __pyx_L1_error) } - __pyx_t_3 = __Pyx_PyInt_FromSize_t(__pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 407, __pyx_L1_error) + __pyx_t_3 = __Pyx_PyInt_FromSize_t(__pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 415, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_r = __pyx_t_3; __pyx_t_3 = 0; goto __pyx_L0; - /* "gedlibpy.pyx":395 + /* "gedlibpy.pyx":403 * * * def get_graph_num_nodes(self, graph_id) : # <<<<<<<<<<<<<< @@ -4720,7 +4722,7 @@ static PyObject *__pyx_pf_8gedlibpy_6GEDEnv_30get_graph_num_nodes(struct __pyx_o return __pyx_r; } -/* "gedlibpy.pyx":410 +/* "gedlibpy.pyx":418 * * * def get_graph_num_edges(self, graph_id) : # <<<<<<<<<<<<<< @@ -4750,7 +4752,7 @@ static PyObject *__pyx_pf_8gedlibpy_6GEDEnv_32get_graph_num_edges(struct __pyx_o PyObject *__pyx_t_3 = NULL; __Pyx_RefNannySetupContext("get_graph_num_edges", 0); - /* "gedlibpy.pyx":422 + /* "gedlibpy.pyx":430 * .. note:: These functions allow to collect all the graph's informations. * """ * return self.c_env.getGraphNumEdges(graph_id) # <<<<<<<<<<<<<< @@ -4758,20 +4760,20 @@ static PyObject *__pyx_pf_8gedlibpy_6GEDEnv_32get_graph_num_edges(struct __pyx_o * */ __Pyx_XDECREF(__pyx_r); - __pyx_t_1 = __Pyx_PyInt_As_size_t(__pyx_v_graph_id); if (unlikely((__pyx_t_1 == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 422, __pyx_L1_error) + __pyx_t_1 = __Pyx_PyInt_As_size_t(__pyx_v_graph_id); if (unlikely((__pyx_t_1 == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 430, __pyx_L1_error) try { __pyx_t_2 = __pyx_v_self->c_env->getGraphNumEdges(__pyx_t_1); } catch(...) { __Pyx_CppExn2PyErr(); - __PYX_ERR(0, 422, __pyx_L1_error) + __PYX_ERR(0, 430, __pyx_L1_error) } - __pyx_t_3 = __Pyx_PyInt_FromSize_t(__pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 422, __pyx_L1_error) + __pyx_t_3 = __Pyx_PyInt_FromSize_t(__pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 430, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_r = __pyx_t_3; __pyx_t_3 = 0; goto __pyx_L0; - /* "gedlibpy.pyx":410 + /* "gedlibpy.pyx":418 * * * def get_graph_num_edges(self, graph_id) : # <<<<<<<<<<<<<< @@ -4790,7 +4792,7 @@ static PyObject *__pyx_pf_8gedlibpy_6GEDEnv_32get_graph_num_edges(struct __pyx_o return __pyx_r; } -/* "gedlibpy.pyx":425 +/* "gedlibpy.pyx":433 * * * def get_original_node_ids(self, graph_id) : # <<<<<<<<<<<<<< @@ -4825,7 +4827,7 @@ static PyObject *__pyx_pf_8gedlibpy_6GEDEnv_34get_original_node_ids(struct __pyx PyObject *__pyx_t_7 = NULL; __Pyx_RefNannySetupContext("get_original_node_ids", 0); - /* "gedlibpy.pyx":437 + /* "gedlibpy.pyx":445 * .. note:: These functions allow to collect all the graph's informations. * """ * return [gid.decode('utf-8') for gid in self.c_env.getGraphOriginalNodeIds(graph_id)] # <<<<<<<<<<<<<< @@ -4834,14 +4836,14 @@ static PyObject *__pyx_pf_8gedlibpy_6GEDEnv_34get_original_node_ids(struct __pyx */ __Pyx_XDECREF(__pyx_r); { /* enter inner scope */ - __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 437, __pyx_L1_error) + __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 445, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); - __pyx_t_2 = __Pyx_PyInt_As_size_t(__pyx_v_graph_id); if (unlikely((__pyx_t_2 == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 437, __pyx_L1_error) + __pyx_t_2 = __Pyx_PyInt_As_size_t(__pyx_v_graph_id); if (unlikely((__pyx_t_2 == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 445, __pyx_L1_error) try { __pyx_t_3 = __pyx_v_self->c_env->getGraphOriginalNodeIds(__pyx_t_2); } catch(...) { __Pyx_CppExn2PyErr(); - __PYX_ERR(0, 437, __pyx_L1_error) + __PYX_ERR(0, 445, __pyx_L1_error) } __pyx_t_5 = &__pyx_t_3; __pyx_t_4 = __pyx_t_5->begin(); @@ -4850,9 +4852,9 @@ static PyObject *__pyx_pf_8gedlibpy_6GEDEnv_34get_original_node_ids(struct __pyx __pyx_t_6 = *__pyx_t_4; ++__pyx_t_4; __pyx_8genexpr3__pyx_v_gid = __pyx_t_6; - __pyx_t_7 = __Pyx_decode_cpp_string(__pyx_8genexpr3__pyx_v_gid, 0, PY_SSIZE_T_MAX, NULL, NULL, PyUnicode_DecodeUTF8); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 437, __pyx_L1_error) + __pyx_t_7 = __Pyx_decode_cpp_string(__pyx_8genexpr3__pyx_v_gid, 0, PY_SSIZE_T_MAX, NULL, NULL, PyUnicode_DecodeUTF8); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 445, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); - if (unlikely(__Pyx_ListComp_Append(__pyx_t_1, (PyObject*)__pyx_t_7))) __PYX_ERR(0, 437, __pyx_L1_error) + if (unlikely(__Pyx_ListComp_Append(__pyx_t_1, (PyObject*)__pyx_t_7))) __PYX_ERR(0, 445, __pyx_L1_error) __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; } } /* exit inner scope */ @@ -4860,7 +4862,7 @@ static PyObject *__pyx_pf_8gedlibpy_6GEDEnv_34get_original_node_ids(struct __pyx __pyx_t_1 = 0; goto __pyx_L0; - /* "gedlibpy.pyx":425 + /* "gedlibpy.pyx":433 * * * def get_original_node_ids(self, graph_id) : # <<<<<<<<<<<<<< @@ -4880,7 +4882,7 @@ static PyObject *__pyx_pf_8gedlibpy_6GEDEnv_34get_original_node_ids(struct __pyx return __pyx_r; } -/* "gedlibpy.pyx":440 +/* "gedlibpy.pyx":448 * * * def get_graph_node_labels(self, graph_id) : # <<<<<<<<<<<<<< @@ -4918,7 +4920,7 @@ static PyObject *__pyx_pf_8gedlibpy_6GEDEnv_36get_graph_node_labels(struct __pyx PyObject *__pyx_t_10 = NULL; __Pyx_RefNannySetupContext("get_graph_node_labels", 0); - /* "gedlibpy.pyx":452 + /* "gedlibpy.pyx":460 * .. note:: These functions allow to collect all the graph's informations. * """ * return [decode_your_map(node_label) for node_label in self.c_env.getGraphNodeLabels(graph_id)] # <<<<<<<<<<<<<< @@ -4927,14 +4929,14 @@ static PyObject *__pyx_pf_8gedlibpy_6GEDEnv_36get_graph_node_labels(struct __pyx */ __Pyx_XDECREF(__pyx_r); { /* enter inner scope */ - __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 452, __pyx_L1_error) + __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 460, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); - __pyx_t_2 = __Pyx_PyInt_As_size_t(__pyx_v_graph_id); if (unlikely((__pyx_t_2 == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 452, __pyx_L1_error) + __pyx_t_2 = __Pyx_PyInt_As_size_t(__pyx_v_graph_id); if (unlikely((__pyx_t_2 == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 460, __pyx_L1_error) try { __pyx_t_3 = __pyx_v_self->c_env->getGraphNodeLabels(__pyx_t_2); } catch(...) { __Pyx_CppExn2PyErr(); - __PYX_ERR(0, 452, __pyx_L1_error) + __PYX_ERR(0, 460, __pyx_L1_error) } __pyx_t_5 = &__pyx_t_3; __pyx_t_4 = __pyx_t_5->begin(); @@ -4943,9 +4945,9 @@ static PyObject *__pyx_pf_8gedlibpy_6GEDEnv_36get_graph_node_labels(struct __pyx __pyx_t_6 = *__pyx_t_4; ++__pyx_t_4; __pyx_8genexpr4__pyx_v_node_label = __pyx_t_6; - __Pyx_GetModuleGlobalName(__pyx_t_8, __pyx_n_s_decode_your_map); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 452, __pyx_L1_error) + __Pyx_GetModuleGlobalName(__pyx_t_8, __pyx_n_s_decode_your_map); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 460, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); - __pyx_t_9 = __pyx_convert_map_to_py_std_3a__3a_string____std_3a__3a_string(__pyx_8genexpr4__pyx_v_node_label); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 452, __pyx_L1_error) + __pyx_t_9 = __pyx_convert_map_to_py_std_3a__3a_string____std_3a__3a_string(__pyx_8genexpr4__pyx_v_node_label); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 460, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __pyx_t_10 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_8))) { @@ -4960,10 +4962,10 @@ static PyObject *__pyx_pf_8gedlibpy_6GEDEnv_36get_graph_node_labels(struct __pyx __pyx_t_7 = (__pyx_t_10) ? __Pyx_PyObject_Call2Args(__pyx_t_8, __pyx_t_10, __pyx_t_9) : __Pyx_PyObject_CallOneArg(__pyx_t_8, __pyx_t_9); __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0; __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 452, __pyx_L1_error) + if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 460, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - if (unlikely(__Pyx_ListComp_Append(__pyx_t_1, (PyObject*)__pyx_t_7))) __PYX_ERR(0, 452, __pyx_L1_error) + if (unlikely(__Pyx_ListComp_Append(__pyx_t_1, (PyObject*)__pyx_t_7))) __PYX_ERR(0, 460, __pyx_L1_error) __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; } } /* exit inner scope */ @@ -4971,7 +4973,7 @@ static PyObject *__pyx_pf_8gedlibpy_6GEDEnv_36get_graph_node_labels(struct __pyx __pyx_t_1 = 0; goto __pyx_L0; - /* "gedlibpy.pyx":440 + /* "gedlibpy.pyx":448 * * * def get_graph_node_labels(self, graph_id) : # <<<<<<<<<<<<<< @@ -4994,7 +4996,7 @@ static PyObject *__pyx_pf_8gedlibpy_6GEDEnv_36get_graph_node_labels(struct __pyx return __pyx_r; } -/* "gedlibpy.pyx":455 +/* "gedlibpy.pyx":463 * * * def get_graph_edges(self, graph_id) : # <<<<<<<<<<<<<< @@ -5027,7 +5029,7 @@ static PyObject *__pyx_pf_8gedlibpy_6GEDEnv_38get_graph_edges(struct __pyx_obj_8 PyObject *__pyx_t_6 = NULL; __Pyx_RefNannySetupContext("get_graph_edges", 0); - /* "gedlibpy.pyx":467 + /* "gedlibpy.pyx":475 * .. note:: These functions allow to collect all the graph's informations. * """ * return decode_graph_edges(self.c_env.getGraphEdges(graph_id)) # <<<<<<<<<<<<<< @@ -5035,16 +5037,16 @@ static PyObject *__pyx_pf_8gedlibpy_6GEDEnv_38get_graph_edges(struct __pyx_obj_8 * */ __Pyx_XDECREF(__pyx_r); - __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_decode_graph_edges); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 467, __pyx_L1_error) + __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_decode_graph_edges); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 475, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); - __pyx_t_3 = __Pyx_PyInt_As_size_t(__pyx_v_graph_id); if (unlikely((__pyx_t_3 == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 467, __pyx_L1_error) + __pyx_t_3 = __Pyx_PyInt_As_size_t(__pyx_v_graph_id); if (unlikely((__pyx_t_3 == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 475, __pyx_L1_error) try { __pyx_t_4 = __pyx_v_self->c_env->getGraphEdges(__pyx_t_3); } catch(...) { __Pyx_CppExn2PyErr(); - __PYX_ERR(0, 467, __pyx_L1_error) + __PYX_ERR(0, 475, __pyx_L1_error) } - __pyx_t_5 = __pyx_convert_map_to_py_std_3a__3a_pair_3c_size_t_2c_size_t_3e_______std_3a__3a_map_3c_std_3a__3a_string_2c_std_3a__3a_string_3e___(__pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 467, __pyx_L1_error) + __pyx_t_5 = __pyx_convert_map_to_py_std_3a__3a_pair_3c_size_t_2c_size_t_3e_______std_3a__3a_map_3c_std_3a__3a_string_2c_std_3a__3a_string_3e___(__pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 475, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_6 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) { @@ -5059,14 +5061,14 @@ static PyObject *__pyx_pf_8gedlibpy_6GEDEnv_38get_graph_edges(struct __pyx_obj_8 __pyx_t_1 = (__pyx_t_6) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_6, __pyx_t_5) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_5); __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 467, __pyx_L1_error) + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 475, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_r = __pyx_t_1; __pyx_t_1 = 0; goto __pyx_L0; - /* "gedlibpy.pyx":455 + /* "gedlibpy.pyx":463 * * * def get_graph_edges(self, graph_id) : # <<<<<<<<<<<<<< @@ -5088,7 +5090,7 @@ static PyObject *__pyx_pf_8gedlibpy_6GEDEnv_38get_graph_edges(struct __pyx_obj_8 return __pyx_r; } -/* "gedlibpy.pyx":470 +/* "gedlibpy.pyx":478 * * * def get_graph_adjacence_matrix(self, graph_id) : # <<<<<<<<<<<<<< @@ -5118,7 +5120,7 @@ static PyObject *__pyx_pf_8gedlibpy_6GEDEnv_40get_graph_adjacence_matrix(struct PyObject *__pyx_t_3 = NULL; __Pyx_RefNannySetupContext("get_graph_adjacence_matrix", 0); - /* "gedlibpy.pyx":482 + /* "gedlibpy.pyx":490 * .. note:: These functions allow to collect all the graph's informations. * """ * return self.c_env.getGraphAdjacenceMatrix(graph_id) # <<<<<<<<<<<<<< @@ -5126,20 +5128,20 @@ static PyObject *__pyx_pf_8gedlibpy_6GEDEnv_40get_graph_adjacence_matrix(struct * */ __Pyx_XDECREF(__pyx_r); - __pyx_t_1 = __Pyx_PyInt_As_size_t(__pyx_v_graph_id); if (unlikely((__pyx_t_1 == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 482, __pyx_L1_error) + __pyx_t_1 = __Pyx_PyInt_As_size_t(__pyx_v_graph_id); if (unlikely((__pyx_t_1 == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 490, __pyx_L1_error) try { __pyx_t_2 = __pyx_v_self->c_env->getGraphAdjacenceMatrix(__pyx_t_1); } catch(...) { __Pyx_CppExn2PyErr(); - __PYX_ERR(0, 482, __pyx_L1_error) + __PYX_ERR(0, 490, __pyx_L1_error) } - __pyx_t_3 = __pyx_convert_vector_to_py_std_3a__3a_vector_3c_size_t_3e___(__pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 482, __pyx_L1_error) + __pyx_t_3 = __pyx_convert_vector_to_py_std_3a__3a_vector_3c_size_t_3e___(__pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 490, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_r = __pyx_t_3; __pyx_t_3 = 0; goto __pyx_L0; - /* "gedlibpy.pyx":470 + /* "gedlibpy.pyx":478 * * * def get_graph_adjacence_matrix(self, graph_id) : # <<<<<<<<<<<<<< @@ -5158,7 +5160,7 @@ static PyObject *__pyx_pf_8gedlibpy_6GEDEnv_40get_graph_adjacence_matrix(struct return __pyx_r; } -/* "gedlibpy.pyx":485 +/* "gedlibpy.pyx":493 * * * def set_edit_cost(self, edit_cost, edit_cost_constant = []) : # <<<<<<<<<<<<<< @@ -5203,7 +5205,7 @@ static PyObject *__pyx_pw_8gedlibpy_6GEDEnv_43set_edit_cost(PyObject *__pyx_v_se } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "set_edit_cost") < 0)) __PYX_ERR(0, 485, __pyx_L3_error) + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "set_edit_cost") < 0)) __PYX_ERR(0, 493, __pyx_L3_error) } } else { switch (PyTuple_GET_SIZE(__pyx_args)) { @@ -5219,7 +5221,7 @@ static PyObject *__pyx_pw_8gedlibpy_6GEDEnv_43set_edit_cost(PyObject *__pyx_v_se } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("set_edit_cost", 0, 1, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 485, __pyx_L3_error) + __Pyx_RaiseArgtupleInvalid("set_edit_cost", 0, 1, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 493, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("gedlibpy.GEDEnv.set_edit_cost", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); @@ -5245,28 +5247,28 @@ static PyObject *__pyx_pf_8gedlibpy_6GEDEnv_42set_edit_cost(struct __pyx_obj_8ge std::vector __pyx_t_7; __Pyx_RefNannySetupContext("set_edit_cost", 0); - /* "gedlibpy.pyx":497 + /* "gedlibpy.pyx":505 * .. note:: Try to make sure the edit cost function exists with list_of_edit_cost_options, raise an error otherwise. * """ * if edit_cost in list_of_edit_cost_options: # <<<<<<<<<<<<<< * edit_cost_b = edit_cost.encode('utf-8') * self.c_env.setEditCost(edit_cost_b, edit_cost_constant) */ - __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_list_of_edit_cost_options); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 497, __pyx_L1_error) + __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_list_of_edit_cost_options); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 505, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); - __pyx_t_2 = (__Pyx_PySequence_ContainsTF(__pyx_v_edit_cost, __pyx_t_1, Py_EQ)); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 497, __pyx_L1_error) + __pyx_t_2 = (__Pyx_PySequence_ContainsTF(__pyx_v_edit_cost, __pyx_t_1, Py_EQ)); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 505, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_3 = (__pyx_t_2 != 0); if (likely(__pyx_t_3)) { - /* "gedlibpy.pyx":498 + /* "gedlibpy.pyx":506 * """ * if edit_cost in list_of_edit_cost_options: * edit_cost_b = edit_cost.encode('utf-8') # <<<<<<<<<<<<<< * self.c_env.setEditCost(edit_cost_b, edit_cost_constant) * else: */ - __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_edit_cost, __pyx_n_s_encode); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 498, __pyx_L1_error) + __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_edit_cost, __pyx_n_s_encode); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 506, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_5 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) { @@ -5280,29 +5282,29 @@ static PyObject *__pyx_pf_8gedlibpy_6GEDEnv_42set_edit_cost(struct __pyx_obj_8ge } __pyx_t_1 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_5, __pyx_kp_u_utf_8) : __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_kp_u_utf_8); __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 498, __pyx_L1_error) + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 506, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_v_edit_cost_b = __pyx_t_1; __pyx_t_1 = 0; - /* "gedlibpy.pyx":499 + /* "gedlibpy.pyx":507 * if edit_cost in list_of_edit_cost_options: * edit_cost_b = edit_cost.encode('utf-8') * self.c_env.setEditCost(edit_cost_b, edit_cost_constant) # <<<<<<<<<<<<<< * else: * raise EditCostError("This edit cost function doesn't exist, please see list_of_edit_cost_options for selecting a edit cost function") */ - __pyx_t_6 = __pyx_convert_string_from_py_std__in_string(__pyx_v_edit_cost_b); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 499, __pyx_L1_error) - __pyx_t_7 = __pyx_convert_vector_from_py_double(__pyx_v_edit_cost_constant); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 499, __pyx_L1_error) + __pyx_t_6 = __pyx_convert_string_from_py_std__in_string(__pyx_v_edit_cost_b); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 507, __pyx_L1_error) + __pyx_t_7 = __pyx_convert_vector_from_py_double(__pyx_v_edit_cost_constant); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 507, __pyx_L1_error) try { __pyx_v_self->c_env->setEditCost(__pyx_t_6, __pyx_t_7); } catch(...) { __Pyx_CppExn2PyErr(); - __PYX_ERR(0, 499, __pyx_L1_error) + __PYX_ERR(0, 507, __pyx_L1_error) } - /* "gedlibpy.pyx":497 + /* "gedlibpy.pyx":505 * .. note:: Try to make sure the edit cost function exists with list_of_edit_cost_options, raise an error otherwise. * """ * if edit_cost in list_of_edit_cost_options: # <<<<<<<<<<<<<< @@ -5312,7 +5314,7 @@ static PyObject *__pyx_pf_8gedlibpy_6GEDEnv_42set_edit_cost(struct __pyx_obj_8ge goto __pyx_L3; } - /* "gedlibpy.pyx":501 + /* "gedlibpy.pyx":509 * self.c_env.setEditCost(edit_cost_b, edit_cost_constant) * else: * raise EditCostError("This edit cost function doesn't exist, please see list_of_edit_cost_options for selecting a edit cost function") # <<<<<<<<<<<<<< @@ -5320,7 +5322,7 @@ static PyObject *__pyx_pf_8gedlibpy_6GEDEnv_42set_edit_cost(struct __pyx_obj_8ge * */ /*else*/ { - __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_EditCostError); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 501, __pyx_L1_error) + __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_EditCostError); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 509, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_5 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_4))) { @@ -5334,16 +5336,16 @@ static PyObject *__pyx_pf_8gedlibpy_6GEDEnv_42set_edit_cost(struct __pyx_obj_8ge } __pyx_t_1 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_5, __pyx_kp_u_This_edit_cost_function_doesn_t) : __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_kp_u_This_edit_cost_function_doesn_t); __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 501, __pyx_L1_error) + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 509, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_Raise(__pyx_t_1, 0, 0, 0); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __PYX_ERR(0, 501, __pyx_L1_error) + __PYX_ERR(0, 509, __pyx_L1_error) } __pyx_L3:; - /* "gedlibpy.pyx":485 + /* "gedlibpy.pyx":493 * * * def set_edit_cost(self, edit_cost, edit_cost_constant = []) : # <<<<<<<<<<<<<< @@ -5367,7 +5369,7 @@ static PyObject *__pyx_pf_8gedlibpy_6GEDEnv_42set_edit_cost(struct __pyx_obj_8ge return __pyx_r; } -/* "gedlibpy.pyx":504 +/* "gedlibpy.pyx":512 * * * def set_personal_edit_cost(self, edit_cost_constant = []) : # <<<<<<<<<<<<<< @@ -5405,7 +5407,7 @@ static PyObject *__pyx_pw_8gedlibpy_6GEDEnv_45set_personal_edit_cost(PyObject *_ } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "set_personal_edit_cost") < 0)) __PYX_ERR(0, 504, __pyx_L3_error) + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "set_personal_edit_cost") < 0)) __PYX_ERR(0, 512, __pyx_L3_error) } } else { switch (PyTuple_GET_SIZE(__pyx_args)) { @@ -5419,7 +5421,7 @@ static PyObject *__pyx_pw_8gedlibpy_6GEDEnv_45set_personal_edit_cost(PyObject *_ } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("set_personal_edit_cost", 0, 0, 1, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 504, __pyx_L3_error) + __Pyx_RaiseArgtupleInvalid("set_personal_edit_cost", 0, 0, 1, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 512, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("gedlibpy.GEDEnv.set_personal_edit_cost", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); @@ -5438,22 +5440,22 @@ static PyObject *__pyx_pf_8gedlibpy_6GEDEnv_44set_personal_edit_cost(struct __py std::vector __pyx_t_1; __Pyx_RefNannySetupContext("set_personal_edit_cost", 0); - /* "gedlibpy.pyx":514 + /* "gedlibpy.pyx":522 * .. note::You have to modify the C++ function to use it. Please see the documentation to add your Edit Cost function. * """ * self.c_env.setPersonalEditCost(edit_cost_constant) # <<<<<<<<<<<<<< * * */ - __pyx_t_1 = __pyx_convert_vector_from_py_double(__pyx_v_edit_cost_constant); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 514, __pyx_L1_error) + __pyx_t_1 = __pyx_convert_vector_from_py_double(__pyx_v_edit_cost_constant); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 522, __pyx_L1_error) try { __pyx_v_self->c_env->setPersonalEditCost(__pyx_t_1); } catch(...) { __Pyx_CppExn2PyErr(); - __PYX_ERR(0, 514, __pyx_L1_error) + __PYX_ERR(0, 522, __pyx_L1_error) } - /* "gedlibpy.pyx":504 + /* "gedlibpy.pyx":512 * * * def set_personal_edit_cost(self, edit_cost_constant = []) : # <<<<<<<<<<<<<< @@ -5473,7 +5475,7 @@ static PyObject *__pyx_pf_8gedlibpy_6GEDEnv_44set_personal_edit_cost(struct __py return __pyx_r; } -/* "gedlibpy.pyx":517 +/* "gedlibpy.pyx":525 * * * def init(self, init_option='EAGER_WITHOUT_SHUFFLED_COPIES', print_to_stdout=False) : # <<<<<<<<<<<<<< @@ -5521,7 +5523,7 @@ static PyObject *__pyx_pw_8gedlibpy_6GEDEnv_47init(PyObject *__pyx_v_self, PyObj } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "init") < 0)) __PYX_ERR(0, 517, __pyx_L3_error) + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "init") < 0)) __PYX_ERR(0, 525, __pyx_L3_error) } } else { switch (PyTuple_GET_SIZE(__pyx_args)) { @@ -5538,7 +5540,7 @@ static PyObject *__pyx_pw_8gedlibpy_6GEDEnv_47init(PyObject *__pyx_v_self, PyObj } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("init", 0, 0, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 517, __pyx_L3_error) + __Pyx_RaiseArgtupleInvalid("init", 0, 0, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 525, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("gedlibpy.GEDEnv.init", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); @@ -5564,28 +5566,28 @@ static PyObject *__pyx_pf_8gedlibpy_6GEDEnv_46init(struct __pyx_obj_8gedlibpy_GE bool __pyx_t_7; __Pyx_RefNannySetupContext("init", 0); - /* "gedlibpy.pyx":528 + /* "gedlibpy.pyx":536 * .. note:: Try to make sure the option exists with list_of_init_options or choose no options, raise an error otherwise. * """ * if init_option in list_of_init_options: # <<<<<<<<<<<<<< * init_option_b = init_option.encode('utf-8') * self.c_env.initEnv(init_option_b, print_to_stdout) */ - __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_list_of_init_options); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 528, __pyx_L1_error) + __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_list_of_init_options); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 536, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); - __pyx_t_2 = (__Pyx_PySequence_ContainsTF(__pyx_v_init_option, __pyx_t_1, Py_EQ)); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 528, __pyx_L1_error) + __pyx_t_2 = (__Pyx_PySequence_ContainsTF(__pyx_v_init_option, __pyx_t_1, Py_EQ)); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 536, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_3 = (__pyx_t_2 != 0); if (likely(__pyx_t_3)) { - /* "gedlibpy.pyx":529 + /* "gedlibpy.pyx":537 * """ * if init_option in list_of_init_options: * init_option_b = init_option.encode('utf-8') # <<<<<<<<<<<<<< * self.c_env.initEnv(init_option_b, print_to_stdout) * else: */ - __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_init_option, __pyx_n_s_encode); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 529, __pyx_L1_error) + __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_init_option, __pyx_n_s_encode); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 537, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_5 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) { @@ -5599,29 +5601,29 @@ static PyObject *__pyx_pf_8gedlibpy_6GEDEnv_46init(struct __pyx_obj_8gedlibpy_GE } __pyx_t_1 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_5, __pyx_kp_u_utf_8) : __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_kp_u_utf_8); __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 529, __pyx_L1_error) + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 537, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_v_init_option_b = __pyx_t_1; __pyx_t_1 = 0; - /* "gedlibpy.pyx":530 + /* "gedlibpy.pyx":538 * if init_option in list_of_init_options: * init_option_b = init_option.encode('utf-8') * self.c_env.initEnv(init_option_b, print_to_stdout) # <<<<<<<<<<<<<< * else: * raise InitError("This init option doesn't exist, please see list_of_init_options for selecting an option. You can choose any options.") */ - __pyx_t_6 = __pyx_convert_string_from_py_std__in_string(__pyx_v_init_option_b); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 530, __pyx_L1_error) - __pyx_t_7 = __Pyx_PyObject_IsTrue(__pyx_v_print_to_stdout); if (unlikely((__pyx_t_7 == ((bool)-1)) && PyErr_Occurred())) __PYX_ERR(0, 530, __pyx_L1_error) + __pyx_t_6 = __pyx_convert_string_from_py_std__in_string(__pyx_v_init_option_b); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 538, __pyx_L1_error) + __pyx_t_7 = __Pyx_PyObject_IsTrue(__pyx_v_print_to_stdout); if (unlikely((__pyx_t_7 == ((bool)-1)) && PyErr_Occurred())) __PYX_ERR(0, 538, __pyx_L1_error) try { __pyx_v_self->c_env->initEnv(__pyx_t_6, __pyx_t_7); } catch(...) { __Pyx_CppExn2PyErr(); - __PYX_ERR(0, 530, __pyx_L1_error) + __PYX_ERR(0, 538, __pyx_L1_error) } - /* "gedlibpy.pyx":528 + /* "gedlibpy.pyx":536 * .. note:: Try to make sure the option exists with list_of_init_options or choose no options, raise an error otherwise. * """ * if init_option in list_of_init_options: # <<<<<<<<<<<<<< @@ -5631,7 +5633,7 @@ static PyObject *__pyx_pf_8gedlibpy_6GEDEnv_46init(struct __pyx_obj_8gedlibpy_GE goto __pyx_L3; } - /* "gedlibpy.pyx":532 + /* "gedlibpy.pyx":540 * self.c_env.initEnv(init_option_b, print_to_stdout) * else: * raise InitError("This init option doesn't exist, please see list_of_init_options for selecting an option. You can choose any options.") # <<<<<<<<<<<<<< @@ -5639,7 +5641,7 @@ static PyObject *__pyx_pf_8gedlibpy_6GEDEnv_46init(struct __pyx_obj_8gedlibpy_GE * */ /*else*/ { - __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_InitError); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 532, __pyx_L1_error) + __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_InitError); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 540, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_5 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_4))) { @@ -5653,16 +5655,16 @@ static PyObject *__pyx_pf_8gedlibpy_6GEDEnv_46init(struct __pyx_obj_8gedlibpy_GE } __pyx_t_1 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_5, __pyx_kp_u_This_init_option_doesn_t_exist_p) : __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_kp_u_This_init_option_doesn_t_exist_p); __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 532, __pyx_L1_error) + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 540, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_Raise(__pyx_t_1, 0, 0, 0); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __PYX_ERR(0, 532, __pyx_L1_error) + __PYX_ERR(0, 540, __pyx_L1_error) } __pyx_L3:; - /* "gedlibpy.pyx":517 + /* "gedlibpy.pyx":525 * * * def init(self, init_option='EAGER_WITHOUT_SHUFFLED_COPIES', print_to_stdout=False) : # <<<<<<<<<<<<<< @@ -5686,7 +5688,7 @@ static PyObject *__pyx_pf_8gedlibpy_6GEDEnv_46init(struct __pyx_obj_8gedlibpy_GE return __pyx_r; } -/* "gedlibpy.pyx":535 +/* "gedlibpy.pyx":543 * * * def set_method(self, method, options="") : # <<<<<<<<<<<<<< @@ -5731,7 +5733,7 @@ static PyObject *__pyx_pw_8gedlibpy_6GEDEnv_49set_method(PyObject *__pyx_v_self, } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "set_method") < 0)) __PYX_ERR(0, 535, __pyx_L3_error) + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "set_method") < 0)) __PYX_ERR(0, 543, __pyx_L3_error) } } else { switch (PyTuple_GET_SIZE(__pyx_args)) { @@ -5747,7 +5749,7 @@ static PyObject *__pyx_pw_8gedlibpy_6GEDEnv_49set_method(PyObject *__pyx_v_self, } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("set_method", 0, 1, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 535, __pyx_L3_error) + __Pyx_RaiseArgtupleInvalid("set_method", 0, 1, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 543, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("gedlibpy.GEDEnv.set_method", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); @@ -5773,28 +5775,28 @@ static PyObject *__pyx_pf_8gedlibpy_6GEDEnv_48set_method(struct __pyx_obj_8gedli std::string __pyx_t_7; __Pyx_RefNannySetupContext("set_method", 0); - /* "gedlibpy.pyx":547 + /* "gedlibpy.pyx":555 * .. note:: Try to make sure the edit cost function exists with list_of_method_options, raise an error otherwise. Call init_method() after your set. * """ * if method in list_of_method_options: # <<<<<<<<<<<<<< * method_b = method.encode('utf-8') * self.c_env.setMethod(method_b, options.encode('utf-8')) */ - __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_list_of_method_options); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 547, __pyx_L1_error) + __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_list_of_method_options); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 555, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); - __pyx_t_2 = (__Pyx_PySequence_ContainsTF(__pyx_v_method, __pyx_t_1, Py_EQ)); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 547, __pyx_L1_error) + __pyx_t_2 = (__Pyx_PySequence_ContainsTF(__pyx_v_method, __pyx_t_1, Py_EQ)); if (unlikely(__pyx_t_2 < 0)) __PYX_ERR(0, 555, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __pyx_t_3 = (__pyx_t_2 != 0); if (likely(__pyx_t_3)) { - /* "gedlibpy.pyx":548 + /* "gedlibpy.pyx":556 * """ * if method in list_of_method_options: * method_b = method.encode('utf-8') # <<<<<<<<<<<<<< * self.c_env.setMethod(method_b, options.encode('utf-8')) * else: */ - __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_method, __pyx_n_s_encode); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 548, __pyx_L1_error) + __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_method, __pyx_n_s_encode); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 556, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_5 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) { @@ -5808,21 +5810,21 @@ static PyObject *__pyx_pf_8gedlibpy_6GEDEnv_48set_method(struct __pyx_obj_8gedli } __pyx_t_1 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_5, __pyx_kp_u_utf_8) : __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_kp_u_utf_8); __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 548, __pyx_L1_error) + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 556, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_v_method_b = __pyx_t_1; __pyx_t_1 = 0; - /* "gedlibpy.pyx":549 + /* "gedlibpy.pyx":557 * if method in list_of_method_options: * method_b = method.encode('utf-8') * self.c_env.setMethod(method_b, options.encode('utf-8')) # <<<<<<<<<<<<<< * else: * raise MethodError("This method doesn't exist, please see list_of_method_options for selecting a method") */ - __pyx_t_6 = __pyx_convert_string_from_py_std__in_string(__pyx_v_method_b); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 549, __pyx_L1_error) - __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_options, __pyx_n_s_encode); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 549, __pyx_L1_error) + __pyx_t_6 = __pyx_convert_string_from_py_std__in_string(__pyx_v_method_b); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 557, __pyx_L1_error) + __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_options, __pyx_n_s_encode); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 557, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_5 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) { @@ -5836,19 +5838,19 @@ static PyObject *__pyx_pf_8gedlibpy_6GEDEnv_48set_method(struct __pyx_obj_8gedli } __pyx_t_1 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_5, __pyx_kp_u_utf_8) : __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_kp_u_utf_8); __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 549, __pyx_L1_error) + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 557, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_7 = __pyx_convert_string_from_py_std__in_string(__pyx_t_1); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 549, __pyx_L1_error) + __pyx_t_7 = __pyx_convert_string_from_py_std__in_string(__pyx_t_1); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 557, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; try { __pyx_v_self->c_env->setMethod(__pyx_t_6, __pyx_t_7); } catch(...) { __Pyx_CppExn2PyErr(); - __PYX_ERR(0, 549, __pyx_L1_error) + __PYX_ERR(0, 557, __pyx_L1_error) } - /* "gedlibpy.pyx":547 + /* "gedlibpy.pyx":555 * .. note:: Try to make sure the edit cost function exists with list_of_method_options, raise an error otherwise. Call init_method() after your set. * """ * if method in list_of_method_options: # <<<<<<<<<<<<<< @@ -5858,7 +5860,7 @@ static PyObject *__pyx_pf_8gedlibpy_6GEDEnv_48set_method(struct __pyx_obj_8gedli goto __pyx_L3; } - /* "gedlibpy.pyx":551 + /* "gedlibpy.pyx":559 * self.c_env.setMethod(method_b, options.encode('utf-8')) * else: * raise MethodError("This method doesn't exist, please see list_of_method_options for selecting a method") # <<<<<<<<<<<<<< @@ -5866,7 +5868,7 @@ static PyObject *__pyx_pf_8gedlibpy_6GEDEnv_48set_method(struct __pyx_obj_8gedli * */ /*else*/ { - __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_MethodError); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 551, __pyx_L1_error) + __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_MethodError); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 559, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_5 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_4))) { @@ -5880,16 +5882,16 @@ static PyObject *__pyx_pf_8gedlibpy_6GEDEnv_48set_method(struct __pyx_obj_8gedli } __pyx_t_1 = (__pyx_t_5) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_5, __pyx_kp_u_This_method_doesn_t_exist_please) : __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_kp_u_This_method_doesn_t_exist_please); __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 551, __pyx_L1_error) + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 559, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_Raise(__pyx_t_1, 0, 0, 0); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __PYX_ERR(0, 551, __pyx_L1_error) + __PYX_ERR(0, 559, __pyx_L1_error) } __pyx_L3:; - /* "gedlibpy.pyx":535 + /* "gedlibpy.pyx":543 * * * def set_method(self, method, options="") : # <<<<<<<<<<<<<< @@ -5913,7 +5915,7 @@ static PyObject *__pyx_pf_8gedlibpy_6GEDEnv_48set_method(struct __pyx_obj_8gedli return __pyx_r; } -/* "gedlibpy.pyx":554 +/* "gedlibpy.pyx":562 * * * def init_method(self) : # <<<<<<<<<<<<<< @@ -5940,7 +5942,7 @@ static PyObject *__pyx_pf_8gedlibpy_6GEDEnv_50init_method(struct __pyx_obj_8gedl __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("init_method", 0); - /* "gedlibpy.pyx":561 + /* "gedlibpy.pyx":569 * .. note:: Call this function after set the method. You can't launch computation or change the method after that. * """ * self.c_env.initMethod() # <<<<<<<<<<<<<< @@ -5951,10 +5953,10 @@ static PyObject *__pyx_pf_8gedlibpy_6GEDEnv_50init_method(struct __pyx_obj_8gedl __pyx_v_self->c_env->initMethod(); } catch(...) { __Pyx_CppExn2PyErr(); - __PYX_ERR(0, 561, __pyx_L1_error) + __PYX_ERR(0, 569, __pyx_L1_error) } - /* "gedlibpy.pyx":554 + /* "gedlibpy.pyx":562 * * * def init_method(self) : # <<<<<<<<<<<<<< @@ -5974,7 +5976,7 @@ static PyObject *__pyx_pf_8gedlibpy_6GEDEnv_50init_method(struct __pyx_obj_8gedl return __pyx_r; } -/* "gedlibpy.pyx":564 +/* "gedlibpy.pyx":572 * * * def get_init_time(self) : # <<<<<<<<<<<<<< @@ -6003,7 +6005,7 @@ static PyObject *__pyx_pf_8gedlibpy_6GEDEnv_52get_init_time(struct __pyx_obj_8ge PyObject *__pyx_t_2 = NULL; __Pyx_RefNannySetupContext("get_init_time", 0); - /* "gedlibpy.pyx":571 + /* "gedlibpy.pyx":579 * :rtype: double * """ * return self.c_env.getInitime() # <<<<<<<<<<<<<< @@ -6015,15 +6017,15 @@ static PyObject *__pyx_pf_8gedlibpy_6GEDEnv_52get_init_time(struct __pyx_obj_8ge __pyx_t_1 = __pyx_v_self->c_env->getInitime(); } catch(...) { __Pyx_CppExn2PyErr(); - __PYX_ERR(0, 571, __pyx_L1_error) + __PYX_ERR(0, 579, __pyx_L1_error) } - __pyx_t_2 = PyFloat_FromDouble(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 571, __pyx_L1_error) + __pyx_t_2 = PyFloat_FromDouble(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 579, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_r = __pyx_t_2; __pyx_t_2 = 0; goto __pyx_L0; - /* "gedlibpy.pyx":564 + /* "gedlibpy.pyx":572 * * * def get_init_time(self) : # <<<<<<<<<<<<<< @@ -6042,7 +6044,7 @@ static PyObject *__pyx_pf_8gedlibpy_6GEDEnv_52get_init_time(struct __pyx_obj_8ge return __pyx_r; } -/* "gedlibpy.pyx":574 +/* "gedlibpy.pyx":582 * * * def run_method(self, g, h) : # <<<<<<<<<<<<<< @@ -6082,11 +6084,11 @@ static PyObject *__pyx_pw_8gedlibpy_6GEDEnv_55run_method(PyObject *__pyx_v_self, case 1: if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_h)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("run_method", 1, 2, 2, 1); __PYX_ERR(0, 574, __pyx_L3_error) + __Pyx_RaiseArgtupleInvalid("run_method", 1, 2, 2, 1); __PYX_ERR(0, 582, __pyx_L3_error) } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "run_method") < 0)) __PYX_ERR(0, 574, __pyx_L3_error) + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "run_method") < 0)) __PYX_ERR(0, 582, __pyx_L3_error) } } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { goto __pyx_L5_argtuple_error; @@ -6099,7 +6101,7 @@ static PyObject *__pyx_pw_8gedlibpy_6GEDEnv_55run_method(PyObject *__pyx_v_self, } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("run_method", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 574, __pyx_L3_error) + __Pyx_RaiseArgtupleInvalid("run_method", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 582, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("gedlibpy.GEDEnv.run_method", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); @@ -6119,23 +6121,23 @@ static PyObject *__pyx_pf_8gedlibpy_6GEDEnv_54run_method(struct __pyx_obj_8gedli size_t __pyx_t_2; __Pyx_RefNannySetupContext("run_method", 0); - /* "gedlibpy.pyx":586 + /* "gedlibpy.pyx":594 * .. note:: This function only compute the distance between two graphs, without returning a result. Use the differents function to see the result between the two graphs. * """ * self.c_env.runMethod(g, h) # <<<<<<<<<<<<<< * * */ - __pyx_t_1 = __Pyx_PyInt_As_size_t(__pyx_v_g); if (unlikely((__pyx_t_1 == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 586, __pyx_L1_error) - __pyx_t_2 = __Pyx_PyInt_As_size_t(__pyx_v_h); if (unlikely((__pyx_t_2 == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 586, __pyx_L1_error) + __pyx_t_1 = __Pyx_PyInt_As_size_t(__pyx_v_g); if (unlikely((__pyx_t_1 == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 594, __pyx_L1_error) + __pyx_t_2 = __Pyx_PyInt_As_size_t(__pyx_v_h); if (unlikely((__pyx_t_2 == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 594, __pyx_L1_error) try { __pyx_v_self->c_env->runMethod(__pyx_t_1, __pyx_t_2); } catch(...) { __Pyx_CppExn2PyErr(); - __PYX_ERR(0, 586, __pyx_L1_error) + __PYX_ERR(0, 594, __pyx_L1_error) } - /* "gedlibpy.pyx":574 + /* "gedlibpy.pyx":582 * * * def run_method(self, g, h) : # <<<<<<<<<<<<<< @@ -6155,7 +6157,7 @@ static PyObject *__pyx_pf_8gedlibpy_6GEDEnv_54run_method(struct __pyx_obj_8gedli return __pyx_r; } -/* "gedlibpy.pyx":589 +/* "gedlibpy.pyx":597 * * * def get_upper_bound(self, g, h) : # <<<<<<<<<<<<<< @@ -6195,11 +6197,11 @@ static PyObject *__pyx_pw_8gedlibpy_6GEDEnv_57get_upper_bound(PyObject *__pyx_v_ case 1: if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_h)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("get_upper_bound", 1, 2, 2, 1); __PYX_ERR(0, 589, __pyx_L3_error) + __Pyx_RaiseArgtupleInvalid("get_upper_bound", 1, 2, 2, 1); __PYX_ERR(0, 597, __pyx_L3_error) } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "get_upper_bound") < 0)) __PYX_ERR(0, 589, __pyx_L3_error) + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "get_upper_bound") < 0)) __PYX_ERR(0, 597, __pyx_L3_error) } } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { goto __pyx_L5_argtuple_error; @@ -6212,7 +6214,7 @@ static PyObject *__pyx_pw_8gedlibpy_6GEDEnv_57get_upper_bound(PyObject *__pyx_v_ } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("get_upper_bound", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 589, __pyx_L3_error) + __Pyx_RaiseArgtupleInvalid("get_upper_bound", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 597, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("gedlibpy.GEDEnv.get_upper_bound", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); @@ -6234,7 +6236,7 @@ static PyObject *__pyx_pf_8gedlibpy_6GEDEnv_56get_upper_bound(struct __pyx_obj_8 PyObject *__pyx_t_4 = NULL; __Pyx_RefNannySetupContext("get_upper_bound", 0); - /* "gedlibpy.pyx":604 + /* "gedlibpy.pyx":612 * .. note:: The upper bound is equivalent to the result of the pessimist edit distance cost. Methods are heuristics so the library can't compute the real perfect result because it's NP-Hard problem. * """ * return self.c_env.getUpperBound(g, h) # <<<<<<<<<<<<<< @@ -6242,21 +6244,21 @@ static PyObject *__pyx_pf_8gedlibpy_6GEDEnv_56get_upper_bound(struct __pyx_obj_8 * */ __Pyx_XDECREF(__pyx_r); - __pyx_t_1 = __Pyx_PyInt_As_size_t(__pyx_v_g); if (unlikely((__pyx_t_1 == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 604, __pyx_L1_error) - __pyx_t_2 = __Pyx_PyInt_As_size_t(__pyx_v_h); if (unlikely((__pyx_t_2 == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 604, __pyx_L1_error) + __pyx_t_1 = __Pyx_PyInt_As_size_t(__pyx_v_g); if (unlikely((__pyx_t_1 == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 612, __pyx_L1_error) + __pyx_t_2 = __Pyx_PyInt_As_size_t(__pyx_v_h); if (unlikely((__pyx_t_2 == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 612, __pyx_L1_error) try { __pyx_t_3 = __pyx_v_self->c_env->getUpperBound(__pyx_t_1, __pyx_t_2); } catch(...) { __Pyx_CppExn2PyErr(); - __PYX_ERR(0, 604, __pyx_L1_error) + __PYX_ERR(0, 612, __pyx_L1_error) } - __pyx_t_4 = PyFloat_FromDouble(__pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 604, __pyx_L1_error) + __pyx_t_4 = PyFloat_FromDouble(__pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 612, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_r = __pyx_t_4; __pyx_t_4 = 0; goto __pyx_L0; - /* "gedlibpy.pyx":589 + /* "gedlibpy.pyx":597 * * * def get_upper_bound(self, g, h) : # <<<<<<<<<<<<<< @@ -6275,7 +6277,7 @@ static PyObject *__pyx_pf_8gedlibpy_6GEDEnv_56get_upper_bound(struct __pyx_obj_8 return __pyx_r; } -/* "gedlibpy.pyx":607 +/* "gedlibpy.pyx":615 * * * def get_lower_bound(self, g, h) : # <<<<<<<<<<<<<< @@ -6315,11 +6317,11 @@ static PyObject *__pyx_pw_8gedlibpy_6GEDEnv_59get_lower_bound(PyObject *__pyx_v_ case 1: if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_h)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("get_lower_bound", 1, 2, 2, 1); __PYX_ERR(0, 607, __pyx_L3_error) + __Pyx_RaiseArgtupleInvalid("get_lower_bound", 1, 2, 2, 1); __PYX_ERR(0, 615, __pyx_L3_error) } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "get_lower_bound") < 0)) __PYX_ERR(0, 607, __pyx_L3_error) + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "get_lower_bound") < 0)) __PYX_ERR(0, 615, __pyx_L3_error) } } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { goto __pyx_L5_argtuple_error; @@ -6332,7 +6334,7 @@ static PyObject *__pyx_pw_8gedlibpy_6GEDEnv_59get_lower_bound(PyObject *__pyx_v_ } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("get_lower_bound", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 607, __pyx_L3_error) + __Pyx_RaiseArgtupleInvalid("get_lower_bound", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 615, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("gedlibpy.GEDEnv.get_lower_bound", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); @@ -6354,7 +6356,7 @@ static PyObject *__pyx_pf_8gedlibpy_6GEDEnv_58get_lower_bound(struct __pyx_obj_8 PyObject *__pyx_t_4 = NULL; __Pyx_RefNannySetupContext("get_lower_bound", 0); - /* "gedlibpy.pyx":622 + /* "gedlibpy.pyx":630 * .. note:: This function can be ignored, because lower bound doesn't have a crucial utility. * """ * return self.c_env.getLowerBound(g, h) # <<<<<<<<<<<<<< @@ -6362,21 +6364,21 @@ static PyObject *__pyx_pf_8gedlibpy_6GEDEnv_58get_lower_bound(struct __pyx_obj_8 * */ __Pyx_XDECREF(__pyx_r); - __pyx_t_1 = __Pyx_PyInt_As_size_t(__pyx_v_g); if (unlikely((__pyx_t_1 == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 622, __pyx_L1_error) - __pyx_t_2 = __Pyx_PyInt_As_size_t(__pyx_v_h); if (unlikely((__pyx_t_2 == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 622, __pyx_L1_error) + __pyx_t_1 = __Pyx_PyInt_As_size_t(__pyx_v_g); if (unlikely((__pyx_t_1 == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 630, __pyx_L1_error) + __pyx_t_2 = __Pyx_PyInt_As_size_t(__pyx_v_h); if (unlikely((__pyx_t_2 == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 630, __pyx_L1_error) try { __pyx_t_3 = __pyx_v_self->c_env->getLowerBound(__pyx_t_1, __pyx_t_2); } catch(...) { __Pyx_CppExn2PyErr(); - __PYX_ERR(0, 622, __pyx_L1_error) + __PYX_ERR(0, 630, __pyx_L1_error) } - __pyx_t_4 = PyFloat_FromDouble(__pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 622, __pyx_L1_error) + __pyx_t_4 = PyFloat_FromDouble(__pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 630, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_r = __pyx_t_4; __pyx_t_4 = 0; goto __pyx_L0; - /* "gedlibpy.pyx":607 + /* "gedlibpy.pyx":615 * * * def get_lower_bound(self, g, h) : # <<<<<<<<<<<<<< @@ -6395,7 +6397,7 @@ static PyObject *__pyx_pf_8gedlibpy_6GEDEnv_58get_lower_bound(struct __pyx_obj_8 return __pyx_r; } -/* "gedlibpy.pyx":625 +/* "gedlibpy.pyx":633 * * * def get_forward_map(self, g, h) : # <<<<<<<<<<<<<< @@ -6435,11 +6437,11 @@ static PyObject *__pyx_pw_8gedlibpy_6GEDEnv_61get_forward_map(PyObject *__pyx_v_ case 1: if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_h)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("get_forward_map", 1, 2, 2, 1); __PYX_ERR(0, 625, __pyx_L3_error) + __Pyx_RaiseArgtupleInvalid("get_forward_map", 1, 2, 2, 1); __PYX_ERR(0, 633, __pyx_L3_error) } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "get_forward_map") < 0)) __PYX_ERR(0, 625, __pyx_L3_error) + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "get_forward_map") < 0)) __PYX_ERR(0, 633, __pyx_L3_error) } } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { goto __pyx_L5_argtuple_error; @@ -6452,7 +6454,7 @@ static PyObject *__pyx_pw_8gedlibpy_6GEDEnv_61get_forward_map(PyObject *__pyx_v_ } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("get_forward_map", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 625, __pyx_L3_error) + __Pyx_RaiseArgtupleInvalid("get_forward_map", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 633, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("gedlibpy.GEDEnv.get_forward_map", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); @@ -6474,7 +6476,7 @@ static PyObject *__pyx_pf_8gedlibpy_6GEDEnv_60get_forward_map(struct __pyx_obj_8 PyObject *__pyx_t_4 = NULL; __Pyx_RefNannySetupContext("get_forward_map", 0); - /* "gedlibpy.pyx":640 + /* "gedlibpy.pyx":648 * .. note:: I don't know how to connect the two map to reconstruct the adjacence matrix. Please come back when I know how it's work ! * """ * return self.c_env.getForwardMap(g, h) # <<<<<<<<<<<<<< @@ -6482,21 +6484,21 @@ static PyObject *__pyx_pf_8gedlibpy_6GEDEnv_60get_forward_map(struct __pyx_obj_8 * */ __Pyx_XDECREF(__pyx_r); - __pyx_t_1 = __Pyx_PyInt_As_size_t(__pyx_v_g); if (unlikely((__pyx_t_1 == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 640, __pyx_L1_error) - __pyx_t_2 = __Pyx_PyInt_As_size_t(__pyx_v_h); if (unlikely((__pyx_t_2 == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 640, __pyx_L1_error) + __pyx_t_1 = __Pyx_PyInt_As_size_t(__pyx_v_g); if (unlikely((__pyx_t_1 == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 648, __pyx_L1_error) + __pyx_t_2 = __Pyx_PyInt_As_size_t(__pyx_v_h); if (unlikely((__pyx_t_2 == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 648, __pyx_L1_error) try { __pyx_t_3 = __pyx_v_self->c_env->getForwardMap(__pyx_t_1, __pyx_t_2); } catch(...) { __Pyx_CppExn2PyErr(); - __PYX_ERR(0, 640, __pyx_L1_error) + __PYX_ERR(0, 648, __pyx_L1_error) } - __pyx_t_4 = __pyx_convert_vector_to_py_npy_uint64(__pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 640, __pyx_L1_error) + __pyx_t_4 = __pyx_convert_vector_to_py_npy_uint64(__pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 648, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_r = __pyx_t_4; __pyx_t_4 = 0; goto __pyx_L0; - /* "gedlibpy.pyx":625 + /* "gedlibpy.pyx":633 * * * def get_forward_map(self, g, h) : # <<<<<<<<<<<<<< @@ -6515,7 +6517,7 @@ static PyObject *__pyx_pf_8gedlibpy_6GEDEnv_60get_forward_map(struct __pyx_obj_8 return __pyx_r; } -/* "gedlibpy.pyx":643 +/* "gedlibpy.pyx":651 * * * def get_backward_map(self, g, h) : # <<<<<<<<<<<<<< @@ -6555,11 +6557,11 @@ static PyObject *__pyx_pw_8gedlibpy_6GEDEnv_63get_backward_map(PyObject *__pyx_v case 1: if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_h)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("get_backward_map", 1, 2, 2, 1); __PYX_ERR(0, 643, __pyx_L3_error) + __Pyx_RaiseArgtupleInvalid("get_backward_map", 1, 2, 2, 1); __PYX_ERR(0, 651, __pyx_L3_error) } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "get_backward_map") < 0)) __PYX_ERR(0, 643, __pyx_L3_error) + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "get_backward_map") < 0)) __PYX_ERR(0, 651, __pyx_L3_error) } } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { goto __pyx_L5_argtuple_error; @@ -6572,7 +6574,7 @@ static PyObject *__pyx_pw_8gedlibpy_6GEDEnv_63get_backward_map(PyObject *__pyx_v } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("get_backward_map", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 643, __pyx_L3_error) + __Pyx_RaiseArgtupleInvalid("get_backward_map", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 651, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("gedlibpy.GEDEnv.get_backward_map", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); @@ -6594,7 +6596,7 @@ static PyObject *__pyx_pf_8gedlibpy_6GEDEnv_62get_backward_map(struct __pyx_obj_ PyObject *__pyx_t_4 = NULL; __Pyx_RefNannySetupContext("get_backward_map", 0); - /* "gedlibpy.pyx":658 + /* "gedlibpy.pyx":666 * .. note:: I don't know how to connect the two map to reconstruct the adjacence matrix. Please come back when I know how it's work ! * """ * return self.c_env.getBackwardMap(g, h) # <<<<<<<<<<<<<< @@ -6602,21 +6604,21 @@ static PyObject *__pyx_pf_8gedlibpy_6GEDEnv_62get_backward_map(struct __pyx_obj_ * */ __Pyx_XDECREF(__pyx_r); - __pyx_t_1 = __Pyx_PyInt_As_size_t(__pyx_v_g); if (unlikely((__pyx_t_1 == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 658, __pyx_L1_error) - __pyx_t_2 = __Pyx_PyInt_As_size_t(__pyx_v_h); if (unlikely((__pyx_t_2 == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 658, __pyx_L1_error) + __pyx_t_1 = __Pyx_PyInt_As_size_t(__pyx_v_g); if (unlikely((__pyx_t_1 == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 666, __pyx_L1_error) + __pyx_t_2 = __Pyx_PyInt_As_size_t(__pyx_v_h); if (unlikely((__pyx_t_2 == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 666, __pyx_L1_error) try { __pyx_t_3 = __pyx_v_self->c_env->getBackwardMap(__pyx_t_1, __pyx_t_2); } catch(...) { __Pyx_CppExn2PyErr(); - __PYX_ERR(0, 658, __pyx_L1_error) + __PYX_ERR(0, 666, __pyx_L1_error) } - __pyx_t_4 = __pyx_convert_vector_to_py_npy_uint64(__pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 658, __pyx_L1_error) + __pyx_t_4 = __pyx_convert_vector_to_py_npy_uint64(__pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 666, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_r = __pyx_t_4; __pyx_t_4 = 0; goto __pyx_L0; - /* "gedlibpy.pyx":643 + /* "gedlibpy.pyx":651 * * * def get_backward_map(self, g, h) : # <<<<<<<<<<<<<< @@ -6635,7 +6637,7 @@ static PyObject *__pyx_pf_8gedlibpy_6GEDEnv_62get_backward_map(struct __pyx_obj_ return __pyx_r; } -/* "gedlibpy.pyx":661 +/* "gedlibpy.pyx":669 * * * def get_node_image(self, g, h, node_id) : # <<<<<<<<<<<<<< @@ -6678,17 +6680,17 @@ static PyObject *__pyx_pw_8gedlibpy_6GEDEnv_65get_node_image(PyObject *__pyx_v_s case 1: if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_h)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("get_node_image", 1, 3, 3, 1); __PYX_ERR(0, 661, __pyx_L3_error) + __Pyx_RaiseArgtupleInvalid("get_node_image", 1, 3, 3, 1); __PYX_ERR(0, 669, __pyx_L3_error) } CYTHON_FALLTHROUGH; case 2: if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_node_id)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("get_node_image", 1, 3, 3, 2); __PYX_ERR(0, 661, __pyx_L3_error) + __Pyx_RaiseArgtupleInvalid("get_node_image", 1, 3, 3, 2); __PYX_ERR(0, 669, __pyx_L3_error) } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "get_node_image") < 0)) __PYX_ERR(0, 661, __pyx_L3_error) + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "get_node_image") < 0)) __PYX_ERR(0, 669, __pyx_L3_error) } } else if (PyTuple_GET_SIZE(__pyx_args) != 3) { goto __pyx_L5_argtuple_error; @@ -6703,7 +6705,7 @@ static PyObject *__pyx_pw_8gedlibpy_6GEDEnv_65get_node_image(PyObject *__pyx_v_s } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("get_node_image", 1, 3, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 661, __pyx_L3_error) + __Pyx_RaiseArgtupleInvalid("get_node_image", 1, 3, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 669, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("gedlibpy.GEDEnv.get_node_image", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); @@ -6726,7 +6728,7 @@ static PyObject *__pyx_pf_8gedlibpy_6GEDEnv_64get_node_image(struct __pyx_obj_8g PyObject *__pyx_t_5 = NULL; __Pyx_RefNannySetupContext("get_node_image", 0); - /* "gedlibpy.pyx":679 + /* "gedlibpy.pyx":687 * * """ * return self.c_env.getNodeImage(g, h, node_id) # <<<<<<<<<<<<<< @@ -6734,22 +6736,22 @@ static PyObject *__pyx_pf_8gedlibpy_6GEDEnv_64get_node_image(struct __pyx_obj_8g * */ __Pyx_XDECREF(__pyx_r); - __pyx_t_1 = __Pyx_PyInt_As_size_t(__pyx_v_g); if (unlikely((__pyx_t_1 == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 679, __pyx_L1_error) - __pyx_t_2 = __Pyx_PyInt_As_size_t(__pyx_v_h); if (unlikely((__pyx_t_2 == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 679, __pyx_L1_error) - __pyx_t_3 = __Pyx_PyInt_As_size_t(__pyx_v_node_id); if (unlikely((__pyx_t_3 == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 679, __pyx_L1_error) + __pyx_t_1 = __Pyx_PyInt_As_size_t(__pyx_v_g); if (unlikely((__pyx_t_1 == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 687, __pyx_L1_error) + __pyx_t_2 = __Pyx_PyInt_As_size_t(__pyx_v_h); if (unlikely((__pyx_t_2 == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 687, __pyx_L1_error) + __pyx_t_3 = __Pyx_PyInt_As_size_t(__pyx_v_node_id); if (unlikely((__pyx_t_3 == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 687, __pyx_L1_error) try { __pyx_t_4 = __pyx_v_self->c_env->getNodeImage(__pyx_t_1, __pyx_t_2, __pyx_t_3); } catch(...) { __Pyx_CppExn2PyErr(); - __PYX_ERR(0, 679, __pyx_L1_error) + __PYX_ERR(0, 687, __pyx_L1_error) } - __pyx_t_5 = __Pyx_PyInt_FromSize_t(__pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 679, __pyx_L1_error) + __pyx_t_5 = __Pyx_PyInt_FromSize_t(__pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 687, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_r = __pyx_t_5; __pyx_t_5 = 0; goto __pyx_L0; - /* "gedlibpy.pyx":661 + /* "gedlibpy.pyx":669 * * * def get_node_image(self, g, h, node_id) : # <<<<<<<<<<<<<< @@ -6768,7 +6770,7 @@ static PyObject *__pyx_pf_8gedlibpy_6GEDEnv_64get_node_image(struct __pyx_obj_8g return __pyx_r; } -/* "gedlibpy.pyx":682 +/* "gedlibpy.pyx":690 * * * def get_node_pre_image(self, g, h, node_id) : # <<<<<<<<<<<<<< @@ -6811,17 +6813,17 @@ static PyObject *__pyx_pw_8gedlibpy_6GEDEnv_67get_node_pre_image(PyObject *__pyx case 1: if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_h)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("get_node_pre_image", 1, 3, 3, 1); __PYX_ERR(0, 682, __pyx_L3_error) + __Pyx_RaiseArgtupleInvalid("get_node_pre_image", 1, 3, 3, 1); __PYX_ERR(0, 690, __pyx_L3_error) } CYTHON_FALLTHROUGH; case 2: if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_node_id)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("get_node_pre_image", 1, 3, 3, 2); __PYX_ERR(0, 682, __pyx_L3_error) + __Pyx_RaiseArgtupleInvalid("get_node_pre_image", 1, 3, 3, 2); __PYX_ERR(0, 690, __pyx_L3_error) } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "get_node_pre_image") < 0)) __PYX_ERR(0, 682, __pyx_L3_error) + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "get_node_pre_image") < 0)) __PYX_ERR(0, 690, __pyx_L3_error) } } else if (PyTuple_GET_SIZE(__pyx_args) != 3) { goto __pyx_L5_argtuple_error; @@ -6836,7 +6838,7 @@ static PyObject *__pyx_pw_8gedlibpy_6GEDEnv_67get_node_pre_image(PyObject *__pyx } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("get_node_pre_image", 1, 3, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 682, __pyx_L3_error) + __Pyx_RaiseArgtupleInvalid("get_node_pre_image", 1, 3, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 690, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("gedlibpy.GEDEnv.get_node_pre_image", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); @@ -6859,7 +6861,7 @@ static PyObject *__pyx_pf_8gedlibpy_6GEDEnv_66get_node_pre_image(struct __pyx_ob PyObject *__pyx_t_5 = NULL; __Pyx_RefNannySetupContext("get_node_pre_image", 0); - /* "gedlibpy.pyx":700 + /* "gedlibpy.pyx":708 * * """ * return self.c_env.getNodePreImage(g, h, node_id) # <<<<<<<<<<<<<< @@ -6867,22 +6869,22 @@ static PyObject *__pyx_pf_8gedlibpy_6GEDEnv_66get_node_pre_image(struct __pyx_ob * */ __Pyx_XDECREF(__pyx_r); - __pyx_t_1 = __Pyx_PyInt_As_size_t(__pyx_v_g); if (unlikely((__pyx_t_1 == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 700, __pyx_L1_error) - __pyx_t_2 = __Pyx_PyInt_As_size_t(__pyx_v_h); if (unlikely((__pyx_t_2 == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 700, __pyx_L1_error) - __pyx_t_3 = __Pyx_PyInt_As_size_t(__pyx_v_node_id); if (unlikely((__pyx_t_3 == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 700, __pyx_L1_error) + __pyx_t_1 = __Pyx_PyInt_As_size_t(__pyx_v_g); if (unlikely((__pyx_t_1 == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 708, __pyx_L1_error) + __pyx_t_2 = __Pyx_PyInt_As_size_t(__pyx_v_h); if (unlikely((__pyx_t_2 == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 708, __pyx_L1_error) + __pyx_t_3 = __Pyx_PyInt_As_size_t(__pyx_v_node_id); if (unlikely((__pyx_t_3 == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 708, __pyx_L1_error) try { __pyx_t_4 = __pyx_v_self->c_env->getNodePreImage(__pyx_t_1, __pyx_t_2, __pyx_t_3); } catch(...) { __Pyx_CppExn2PyErr(); - __PYX_ERR(0, 700, __pyx_L1_error) + __PYX_ERR(0, 708, __pyx_L1_error) } - __pyx_t_5 = __Pyx_PyInt_FromSize_t(__pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 700, __pyx_L1_error) + __pyx_t_5 = __Pyx_PyInt_FromSize_t(__pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 708, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_r = __pyx_t_5; __pyx_t_5 = 0; goto __pyx_L0; - /* "gedlibpy.pyx":682 + /* "gedlibpy.pyx":690 * * * def get_node_pre_image(self, g, h, node_id) : # <<<<<<<<<<<<<< @@ -6901,7 +6903,7 @@ static PyObject *__pyx_pf_8gedlibpy_6GEDEnv_66get_node_pre_image(struct __pyx_ob return __pyx_r; } -/* "gedlibpy.pyx":703 +/* "gedlibpy.pyx":711 * * * def get_induced_cost(self, g, h) : # <<<<<<<<<<<<<< @@ -6941,11 +6943,11 @@ static PyObject *__pyx_pw_8gedlibpy_6GEDEnv_69get_induced_cost(PyObject *__pyx_v case 1: if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_h)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("get_induced_cost", 1, 2, 2, 1); __PYX_ERR(0, 703, __pyx_L3_error) + __Pyx_RaiseArgtupleInvalid("get_induced_cost", 1, 2, 2, 1); __PYX_ERR(0, 711, __pyx_L3_error) } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "get_induced_cost") < 0)) __PYX_ERR(0, 703, __pyx_L3_error) + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "get_induced_cost") < 0)) __PYX_ERR(0, 711, __pyx_L3_error) } } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { goto __pyx_L5_argtuple_error; @@ -6958,7 +6960,7 @@ static PyObject *__pyx_pw_8gedlibpy_6GEDEnv_69get_induced_cost(PyObject *__pyx_v } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("get_induced_cost", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 703, __pyx_L3_error) + __Pyx_RaiseArgtupleInvalid("get_induced_cost", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 711, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("gedlibpy.GEDEnv.get_induced_cost", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); @@ -6980,7 +6982,7 @@ static PyObject *__pyx_pf_8gedlibpy_6GEDEnv_68get_induced_cost(struct __pyx_obj_ PyObject *__pyx_t_4 = NULL; __Pyx_RefNannySetupContext("get_induced_cost", 0); - /* "gedlibpy.pyx":719 + /* "gedlibpy.pyx":727 * * """ * return self.c_env.getInducedCost(g, h) # <<<<<<<<<<<<<< @@ -6988,21 +6990,21 @@ static PyObject *__pyx_pf_8gedlibpy_6GEDEnv_68get_induced_cost(struct __pyx_obj_ * */ __Pyx_XDECREF(__pyx_r); - __pyx_t_1 = __Pyx_PyInt_As_size_t(__pyx_v_g); if (unlikely((__pyx_t_1 == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 719, __pyx_L1_error) - __pyx_t_2 = __Pyx_PyInt_As_size_t(__pyx_v_h); if (unlikely((__pyx_t_2 == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 719, __pyx_L1_error) + __pyx_t_1 = __Pyx_PyInt_As_size_t(__pyx_v_g); if (unlikely((__pyx_t_1 == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 727, __pyx_L1_error) + __pyx_t_2 = __Pyx_PyInt_As_size_t(__pyx_v_h); if (unlikely((__pyx_t_2 == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 727, __pyx_L1_error) try { __pyx_t_3 = __pyx_v_self->c_env->getInducedCost(__pyx_t_1, __pyx_t_2); } catch(...) { __Pyx_CppExn2PyErr(); - __PYX_ERR(0, 719, __pyx_L1_error) + __PYX_ERR(0, 727, __pyx_L1_error) } - __pyx_t_4 = PyFloat_FromDouble(__pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 719, __pyx_L1_error) + __pyx_t_4 = PyFloat_FromDouble(__pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 727, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_r = __pyx_t_4; __pyx_t_4 = 0; goto __pyx_L0; - /* "gedlibpy.pyx":703 + /* "gedlibpy.pyx":711 * * * def get_induced_cost(self, g, h) : # <<<<<<<<<<<<<< @@ -7021,7 +7023,7 @@ static PyObject *__pyx_pf_8gedlibpy_6GEDEnv_68get_induced_cost(struct __pyx_obj_ return __pyx_r; } -/* "gedlibpy.pyx":722 +/* "gedlibpy.pyx":730 * * * def get_node_map(self, g, h) : # <<<<<<<<<<<<<< @@ -7061,11 +7063,11 @@ static PyObject *__pyx_pw_8gedlibpy_6GEDEnv_71get_node_map(PyObject *__pyx_v_sel case 1: if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_h)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("get_node_map", 1, 2, 2, 1); __PYX_ERR(0, 722, __pyx_L3_error) + __Pyx_RaiseArgtupleInvalid("get_node_map", 1, 2, 2, 1); __PYX_ERR(0, 730, __pyx_L3_error) } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "get_node_map") < 0)) __PYX_ERR(0, 722, __pyx_L3_error) + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "get_node_map") < 0)) __PYX_ERR(0, 730, __pyx_L3_error) } } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { goto __pyx_L5_argtuple_error; @@ -7078,7 +7080,7 @@ static PyObject *__pyx_pw_8gedlibpy_6GEDEnv_71get_node_map(PyObject *__pyx_v_sel } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("get_node_map", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 722, __pyx_L3_error) + __Pyx_RaiseArgtupleInvalid("get_node_map", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 730, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("gedlibpy.GEDEnv.get_node_map", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); @@ -7125,41 +7127,41 @@ static PyObject *__pyx_pf_8gedlibpy_6GEDEnv_70get_node_map(struct __pyx_obj_8ged Py_ssize_t __pyx_t_17; __Pyx_RefNannySetupContext("get_node_map", 0); - /* "gedlibpy.pyx":737 + /* "gedlibpy.pyx":745 * .. note:: This function creates datas so use it if necessary, however you can understand how assignement works with this example. * """ * map_as_relation = self.c_env.getNodeMap(g, h) # <<<<<<<<<<<<<< * induced_cost = self.c_env.getInducedCost(g, h) # @todo: the C++ implementation for this function in GedLibBind.ipp re-call get_node_map() once more, this is not neccessary. * source_map = [item.first if item.first < len(map_as_relation) else np.inf for item in map_as_relation] # item.first < len(map_as_relation) is not exactly correct. */ - __pyx_t_1 = __Pyx_PyInt_As_size_t(__pyx_v_g); if (unlikely((__pyx_t_1 == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 737, __pyx_L1_error) - __pyx_t_2 = __Pyx_PyInt_As_size_t(__pyx_v_h); if (unlikely((__pyx_t_2 == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 737, __pyx_L1_error) + __pyx_t_1 = __Pyx_PyInt_As_size_t(__pyx_v_g); if (unlikely((__pyx_t_1 == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 745, __pyx_L1_error) + __pyx_t_2 = __Pyx_PyInt_As_size_t(__pyx_v_h); if (unlikely((__pyx_t_2 == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 745, __pyx_L1_error) try { __pyx_t_3 = __pyx_v_self->c_env->getNodeMap(__pyx_t_1, __pyx_t_2); } catch(...) { __Pyx_CppExn2PyErr(); - __PYX_ERR(0, 737, __pyx_L1_error) + __PYX_ERR(0, 745, __pyx_L1_error) } __pyx_v_map_as_relation = __pyx_t_3; - /* "gedlibpy.pyx":738 + /* "gedlibpy.pyx":746 * """ * map_as_relation = self.c_env.getNodeMap(g, h) * induced_cost = self.c_env.getInducedCost(g, h) # @todo: the C++ implementation for this function in GedLibBind.ipp re-call get_node_map() once more, this is not neccessary. # <<<<<<<<<<<<<< * source_map = [item.first if item.first < len(map_as_relation) else np.inf for item in map_as_relation] # item.first < len(map_as_relation) is not exactly correct. * # print(source_map) */ - __pyx_t_2 = __Pyx_PyInt_As_size_t(__pyx_v_g); if (unlikely((__pyx_t_2 == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 738, __pyx_L1_error) - __pyx_t_1 = __Pyx_PyInt_As_size_t(__pyx_v_h); if (unlikely((__pyx_t_1 == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 738, __pyx_L1_error) + __pyx_t_2 = __Pyx_PyInt_As_size_t(__pyx_v_g); if (unlikely((__pyx_t_2 == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 746, __pyx_L1_error) + __pyx_t_1 = __Pyx_PyInt_As_size_t(__pyx_v_h); if (unlikely((__pyx_t_1 == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 746, __pyx_L1_error) try { __pyx_t_4 = __pyx_v_self->c_env->getInducedCost(__pyx_t_2, __pyx_t_1); } catch(...) { __Pyx_CppExn2PyErr(); - __PYX_ERR(0, 738, __pyx_L1_error) + __PYX_ERR(0, 746, __pyx_L1_error) } __pyx_v_induced_cost = __pyx_t_4; - /* "gedlibpy.pyx":739 + /* "gedlibpy.pyx":747 * map_as_relation = self.c_env.getNodeMap(g, h) * induced_cost = self.c_env.getInducedCost(g, h) # @todo: the C++ implementation for this function in GedLibBind.ipp re-call get_node_map() once more, this is not neccessary. * source_map = [item.first if item.first < len(map_as_relation) else np.inf for item in map_as_relation] # item.first < len(map_as_relation) is not exactly correct. # <<<<<<<<<<<<<< @@ -7167,7 +7169,7 @@ static PyObject *__pyx_pf_8gedlibpy_6GEDEnv_70get_node_map(struct __pyx_obj_8ged * target_map = [item.second if item.second < len(map_as_relation) else np.inf for item in map_as_relation] */ { /* enter inner scope */ - __pyx_t_5 = PyList_New(0); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 739, __pyx_L1_error) + __pyx_t_5 = PyList_New(0); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 747, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_6 = __pyx_v_map_as_relation.begin(); for (;;) { @@ -7175,32 +7177,32 @@ static PyObject *__pyx_pf_8gedlibpy_6GEDEnv_70get_node_map(struct __pyx_obj_8ged __pyx_t_7 = *__pyx_t_6; ++__pyx_t_6; __pyx_8genexpr5__pyx_v_item = __pyx_t_7; - __pyx_t_9 = __pyx_convert_vector_to_py_std_3a__3a_pair_3c_size_t_2c_size_t_3e___(__pyx_v_map_as_relation); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 739, __pyx_L1_error) + __pyx_t_9 = __pyx_convert_vector_to_py_std_3a__3a_pair_3c_size_t_2c_size_t_3e___(__pyx_v_map_as_relation); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 747, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); - __pyx_t_10 = PyObject_Length(__pyx_t_9); if (unlikely(__pyx_t_10 == ((Py_ssize_t)-1))) __PYX_ERR(0, 739, __pyx_L1_error) + __pyx_t_10 = PyObject_Length(__pyx_t_9); if (unlikely(__pyx_t_10 == ((Py_ssize_t)-1))) __PYX_ERR(0, 747, __pyx_L1_error) __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; if (((__pyx_8genexpr5__pyx_v_item.first < __pyx_t_10) != 0)) { - __pyx_t_9 = __Pyx_PyInt_FromSize_t(__pyx_8genexpr5__pyx_v_item.first); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 739, __pyx_L1_error) + __pyx_t_9 = __Pyx_PyInt_FromSize_t(__pyx_8genexpr5__pyx_v_item.first); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 747, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __pyx_t_8 = __pyx_t_9; __pyx_t_9 = 0; } else { - __Pyx_GetModuleGlobalName(__pyx_t_9, __pyx_n_s_np); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 739, __pyx_L1_error) + __Pyx_GetModuleGlobalName(__pyx_t_9, __pyx_n_s_np); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 747, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); - __pyx_t_11 = __Pyx_PyObject_GetAttrStr(__pyx_t_9, __pyx_n_s_inf); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 739, __pyx_L1_error) + __pyx_t_11 = __Pyx_PyObject_GetAttrStr(__pyx_t_9, __pyx_n_s_inf); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 747, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; __pyx_t_8 = __pyx_t_11; __pyx_t_11 = 0; } - if (unlikely(__Pyx_ListComp_Append(__pyx_t_5, (PyObject*)__pyx_t_8))) __PYX_ERR(0, 739, __pyx_L1_error) + if (unlikely(__Pyx_ListComp_Append(__pyx_t_5, (PyObject*)__pyx_t_8))) __PYX_ERR(0, 747, __pyx_L1_error) __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; } } /* exit inner scope */ __pyx_v_source_map = ((PyObject*)__pyx_t_5); __pyx_t_5 = 0; - /* "gedlibpy.pyx":741 + /* "gedlibpy.pyx":749 * source_map = [item.first if item.first < len(map_as_relation) else np.inf for item in map_as_relation] # item.first < len(map_as_relation) is not exactly correct. * # print(source_map) * target_map = [item.second if item.second < len(map_as_relation) else np.inf for item in map_as_relation] # <<<<<<<<<<<<<< @@ -7208,7 +7210,7 @@ static PyObject *__pyx_pf_8gedlibpy_6GEDEnv_70get_node_map(struct __pyx_obj_8ged * num_node_source = len([item for item in source_map if item != np.inf]) */ { /* enter inner scope */ - __pyx_t_5 = PyList_New(0); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 741, __pyx_L1_error) + __pyx_t_5 = PyList_New(0); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 749, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_6 = __pyx_v_map_as_relation.begin(); for (;;) { @@ -7216,32 +7218,32 @@ static PyObject *__pyx_pf_8gedlibpy_6GEDEnv_70get_node_map(struct __pyx_obj_8ged __pyx_t_7 = *__pyx_t_6; ++__pyx_t_6; __pyx_8genexpr6__pyx_v_item = __pyx_t_7; - __pyx_t_11 = __pyx_convert_vector_to_py_std_3a__3a_pair_3c_size_t_2c_size_t_3e___(__pyx_v_map_as_relation); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 741, __pyx_L1_error) + __pyx_t_11 = __pyx_convert_vector_to_py_std_3a__3a_pair_3c_size_t_2c_size_t_3e___(__pyx_v_map_as_relation); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 749, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); - __pyx_t_10 = PyObject_Length(__pyx_t_11); if (unlikely(__pyx_t_10 == ((Py_ssize_t)-1))) __PYX_ERR(0, 741, __pyx_L1_error) + __pyx_t_10 = PyObject_Length(__pyx_t_11); if (unlikely(__pyx_t_10 == ((Py_ssize_t)-1))) __PYX_ERR(0, 749, __pyx_L1_error) __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; if (((__pyx_8genexpr6__pyx_v_item.second < __pyx_t_10) != 0)) { - __pyx_t_11 = __Pyx_PyInt_FromSize_t(__pyx_8genexpr6__pyx_v_item.second); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 741, __pyx_L1_error) + __pyx_t_11 = __Pyx_PyInt_FromSize_t(__pyx_8genexpr6__pyx_v_item.second); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 749, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); __pyx_t_8 = __pyx_t_11; __pyx_t_11 = 0; } else { - __Pyx_GetModuleGlobalName(__pyx_t_11, __pyx_n_s_np); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 741, __pyx_L1_error) + __Pyx_GetModuleGlobalName(__pyx_t_11, __pyx_n_s_np); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 749, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); - __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_t_11, __pyx_n_s_inf); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 741, __pyx_L1_error) + __pyx_t_9 = __Pyx_PyObject_GetAttrStr(__pyx_t_11, __pyx_n_s_inf); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 749, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; __pyx_t_8 = __pyx_t_9; __pyx_t_9 = 0; } - if (unlikely(__Pyx_ListComp_Append(__pyx_t_5, (PyObject*)__pyx_t_8))) __PYX_ERR(0, 741, __pyx_L1_error) + if (unlikely(__Pyx_ListComp_Append(__pyx_t_5, (PyObject*)__pyx_t_8))) __PYX_ERR(0, 749, __pyx_L1_error) __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; } } /* exit inner scope */ __pyx_v_target_map = ((PyObject*)__pyx_t_5); __pyx_t_5 = 0; - /* "gedlibpy.pyx":743 + /* "gedlibpy.pyx":751 * target_map = [item.second if item.second < len(map_as_relation) else np.inf for item in map_as_relation] * # print(target_map) * num_node_source = len([item for item in source_map if item != np.inf]) # <<<<<<<<<<<<<< @@ -7249,30 +7251,30 @@ static PyObject *__pyx_pf_8gedlibpy_6GEDEnv_70get_node_map(struct __pyx_obj_8ged * num_node_target = len([item for item in target_map if item != np.inf]) */ { /* enter inner scope */ - __pyx_t_5 = PyList_New(0); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 743, __pyx_L9_error) + __pyx_t_5 = PyList_New(0); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 751, __pyx_L9_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_8 = __pyx_v_source_map; __Pyx_INCREF(__pyx_t_8); __pyx_t_10 = 0; for (;;) { if (__pyx_t_10 >= PyList_GET_SIZE(__pyx_t_8)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS - __pyx_t_9 = PyList_GET_ITEM(__pyx_t_8, __pyx_t_10); __Pyx_INCREF(__pyx_t_9); __pyx_t_10++; if (unlikely(0 < 0)) __PYX_ERR(0, 743, __pyx_L9_error) + __pyx_t_9 = PyList_GET_ITEM(__pyx_t_8, __pyx_t_10); __Pyx_INCREF(__pyx_t_9); __pyx_t_10++; if (unlikely(0 < 0)) __PYX_ERR(0, 751, __pyx_L9_error) #else - __pyx_t_9 = PySequence_ITEM(__pyx_t_8, __pyx_t_10); __pyx_t_10++; if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 743, __pyx_L9_error) + __pyx_t_9 = PySequence_ITEM(__pyx_t_8, __pyx_t_10); __pyx_t_10++; if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 751, __pyx_L9_error) __Pyx_GOTREF(__pyx_t_9); #endif __Pyx_XDECREF_SET(__pyx_8genexpr7__pyx_v_item, __pyx_t_9); __pyx_t_9 = 0; - __Pyx_GetModuleGlobalName(__pyx_t_9, __pyx_n_s_np); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 743, __pyx_L9_error) + __Pyx_GetModuleGlobalName(__pyx_t_9, __pyx_n_s_np); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 751, __pyx_L9_error) __Pyx_GOTREF(__pyx_t_9); - __pyx_t_11 = __Pyx_PyObject_GetAttrStr(__pyx_t_9, __pyx_n_s_inf); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 743, __pyx_L9_error) + __pyx_t_11 = __Pyx_PyObject_GetAttrStr(__pyx_t_9, __pyx_n_s_inf); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 751, __pyx_L9_error) __Pyx_GOTREF(__pyx_t_11); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - __pyx_t_9 = PyObject_RichCompare(__pyx_8genexpr7__pyx_v_item, __pyx_t_11, Py_NE); __Pyx_XGOTREF(__pyx_t_9); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 743, __pyx_L9_error) + __pyx_t_9 = PyObject_RichCompare(__pyx_8genexpr7__pyx_v_item, __pyx_t_11, Py_NE); __Pyx_XGOTREF(__pyx_t_9); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 751, __pyx_L9_error) __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; - __pyx_t_12 = __Pyx_PyObject_IsTrue(__pyx_t_9); if (unlikely(__pyx_t_12 < 0)) __PYX_ERR(0, 743, __pyx_L9_error) + __pyx_t_12 = __Pyx_PyObject_IsTrue(__pyx_t_9); if (unlikely(__pyx_t_12 < 0)) __PYX_ERR(0, 751, __pyx_L9_error) __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; if (__pyx_t_12) { - if (unlikely(__Pyx_ListComp_Append(__pyx_t_5, (PyObject*)__pyx_8genexpr7__pyx_v_item))) __PYX_ERR(0, 743, __pyx_L9_error) + if (unlikely(__Pyx_ListComp_Append(__pyx_t_5, (PyObject*)__pyx_8genexpr7__pyx_v_item))) __PYX_ERR(0, 751, __pyx_L9_error) } } __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; @@ -7283,11 +7285,11 @@ static PyObject *__pyx_pf_8gedlibpy_6GEDEnv_70get_node_map(struct __pyx_obj_8ged goto __pyx_L1_error; __pyx_L13_exit_scope:; } /* exit inner scope */ - __pyx_t_10 = PyList_GET_SIZE(__pyx_t_5); if (unlikely(__pyx_t_10 == ((Py_ssize_t)-1))) __PYX_ERR(0, 743, __pyx_L1_error) + __pyx_t_10 = PyList_GET_SIZE(__pyx_t_5); if (unlikely(__pyx_t_10 == ((Py_ssize_t)-1))) __PYX_ERR(0, 751, __pyx_L1_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_v_num_node_source = __pyx_t_10; - /* "gedlibpy.pyx":745 + /* "gedlibpy.pyx":753 * num_node_source = len([item for item in source_map if item != np.inf]) * # print(num_node_source) * num_node_target = len([item for item in target_map if item != np.inf]) # <<<<<<<<<<<<<< @@ -7295,30 +7297,30 @@ static PyObject *__pyx_pf_8gedlibpy_6GEDEnv_70get_node_map(struct __pyx_obj_8ged * */ { /* enter inner scope */ - __pyx_t_5 = PyList_New(0); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 745, __pyx_L16_error) + __pyx_t_5 = PyList_New(0); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 753, __pyx_L16_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_8 = __pyx_v_target_map; __Pyx_INCREF(__pyx_t_8); __pyx_t_10 = 0; for (;;) { if (__pyx_t_10 >= PyList_GET_SIZE(__pyx_t_8)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS - __pyx_t_9 = PyList_GET_ITEM(__pyx_t_8, __pyx_t_10); __Pyx_INCREF(__pyx_t_9); __pyx_t_10++; if (unlikely(0 < 0)) __PYX_ERR(0, 745, __pyx_L16_error) + __pyx_t_9 = PyList_GET_ITEM(__pyx_t_8, __pyx_t_10); __Pyx_INCREF(__pyx_t_9); __pyx_t_10++; if (unlikely(0 < 0)) __PYX_ERR(0, 753, __pyx_L16_error) #else - __pyx_t_9 = PySequence_ITEM(__pyx_t_8, __pyx_t_10); __pyx_t_10++; if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 745, __pyx_L16_error) + __pyx_t_9 = PySequence_ITEM(__pyx_t_8, __pyx_t_10); __pyx_t_10++; if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 753, __pyx_L16_error) __Pyx_GOTREF(__pyx_t_9); #endif __Pyx_XDECREF_SET(__pyx_8genexpr8__pyx_v_item, __pyx_t_9); __pyx_t_9 = 0; - __Pyx_GetModuleGlobalName(__pyx_t_9, __pyx_n_s_np); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 745, __pyx_L16_error) + __Pyx_GetModuleGlobalName(__pyx_t_9, __pyx_n_s_np); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 753, __pyx_L16_error) __Pyx_GOTREF(__pyx_t_9); - __pyx_t_11 = __Pyx_PyObject_GetAttrStr(__pyx_t_9, __pyx_n_s_inf); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 745, __pyx_L16_error) + __pyx_t_11 = __Pyx_PyObject_GetAttrStr(__pyx_t_9, __pyx_n_s_inf); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 753, __pyx_L16_error) __Pyx_GOTREF(__pyx_t_11); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - __pyx_t_9 = PyObject_RichCompare(__pyx_8genexpr8__pyx_v_item, __pyx_t_11, Py_NE); __Pyx_XGOTREF(__pyx_t_9); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 745, __pyx_L16_error) + __pyx_t_9 = PyObject_RichCompare(__pyx_8genexpr8__pyx_v_item, __pyx_t_11, Py_NE); __Pyx_XGOTREF(__pyx_t_9); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 753, __pyx_L16_error) __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; - __pyx_t_12 = __Pyx_PyObject_IsTrue(__pyx_t_9); if (unlikely(__pyx_t_12 < 0)) __PYX_ERR(0, 745, __pyx_L16_error) + __pyx_t_12 = __Pyx_PyObject_IsTrue(__pyx_t_9); if (unlikely(__pyx_t_12 < 0)) __PYX_ERR(0, 753, __pyx_L16_error) __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; if (__pyx_t_12) { - if (unlikely(__Pyx_ListComp_Append(__pyx_t_5, (PyObject*)__pyx_8genexpr8__pyx_v_item))) __PYX_ERR(0, 745, __pyx_L16_error) + if (unlikely(__Pyx_ListComp_Append(__pyx_t_5, (PyObject*)__pyx_8genexpr8__pyx_v_item))) __PYX_ERR(0, 753, __pyx_L16_error) } } __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; @@ -7329,22 +7331,22 @@ static PyObject *__pyx_pf_8gedlibpy_6GEDEnv_70get_node_map(struct __pyx_obj_8ged goto __pyx_L1_error; __pyx_L20_exit_scope:; } /* exit inner scope */ - __pyx_t_10 = PyList_GET_SIZE(__pyx_t_5); if (unlikely(__pyx_t_10 == ((Py_ssize_t)-1))) __PYX_ERR(0, 745, __pyx_L1_error) + __pyx_t_10 = PyList_GET_SIZE(__pyx_t_5); if (unlikely(__pyx_t_10 == ((Py_ssize_t)-1))) __PYX_ERR(0, 753, __pyx_L1_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __pyx_v_num_node_target = __pyx_t_10; - /* "gedlibpy.pyx":748 + /* "gedlibpy.pyx":756 * # print(num_node_target) * * node_map = NodeMap(num_node_source, num_node_target) # <<<<<<<<<<<<<< * # print(node_map.get_forward_map(), node_map.get_backward_map()) * for i in range(len(source_map)): */ - __Pyx_GetModuleGlobalName(__pyx_t_8, __pyx_n_s_NodeMap); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 748, __pyx_L1_error) + __Pyx_GetModuleGlobalName(__pyx_t_8, __pyx_n_s_NodeMap); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 756, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); - __pyx_t_9 = PyInt_FromSsize_t(__pyx_v_num_node_source); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 748, __pyx_L1_error) + __pyx_t_9 = PyInt_FromSsize_t(__pyx_v_num_node_source); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 756, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); - __pyx_t_11 = PyInt_FromSsize_t(__pyx_v_num_node_target); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 748, __pyx_L1_error) + __pyx_t_11 = PyInt_FromSsize_t(__pyx_v_num_node_target); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 756, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); __pyx_t_13 = NULL; __pyx_t_14 = 0; @@ -7361,7 +7363,7 @@ static PyObject *__pyx_pf_8gedlibpy_6GEDEnv_70get_node_map(struct __pyx_obj_8ged #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_8)) { PyObject *__pyx_temp[3] = {__pyx_t_13, __pyx_t_9, __pyx_t_11}; - __pyx_t_5 = __Pyx_PyFunction_FastCall(__pyx_t_8, __pyx_temp+1-__pyx_t_14, 2+__pyx_t_14); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 748, __pyx_L1_error) + __pyx_t_5 = __Pyx_PyFunction_FastCall(__pyx_t_8, __pyx_temp+1-__pyx_t_14, 2+__pyx_t_14); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 756, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0; __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; @@ -7371,7 +7373,7 @@ static PyObject *__pyx_pf_8gedlibpy_6GEDEnv_70get_node_map(struct __pyx_obj_8ged #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_8)) { PyObject *__pyx_temp[3] = {__pyx_t_13, __pyx_t_9, __pyx_t_11}; - __pyx_t_5 = __Pyx_PyCFunction_FastCall(__pyx_t_8, __pyx_temp+1-__pyx_t_14, 2+__pyx_t_14); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 748, __pyx_L1_error) + __pyx_t_5 = __Pyx_PyCFunction_FastCall(__pyx_t_8, __pyx_temp+1-__pyx_t_14, 2+__pyx_t_14); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 756, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0; __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; @@ -7379,7 +7381,7 @@ static PyObject *__pyx_pf_8gedlibpy_6GEDEnv_70get_node_map(struct __pyx_obj_8ged } else #endif { - __pyx_t_15 = PyTuple_New(2+__pyx_t_14); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 748, __pyx_L1_error) + __pyx_t_15 = PyTuple_New(2+__pyx_t_14); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 756, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_15); if (__pyx_t_13) { __Pyx_GIVEREF(__pyx_t_13); PyTuple_SET_ITEM(__pyx_t_15, 0, __pyx_t_13); __pyx_t_13 = NULL; @@ -7390,7 +7392,7 @@ static PyObject *__pyx_pf_8gedlibpy_6GEDEnv_70get_node_map(struct __pyx_obj_8ged PyTuple_SET_ITEM(__pyx_t_15, 1+__pyx_t_14, __pyx_t_11); __pyx_t_9 = 0; __pyx_t_11 = 0; - __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_8, __pyx_t_15, NULL); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 748, __pyx_L1_error) + __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_8, __pyx_t_15, NULL); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 756, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; } @@ -7398,30 +7400,30 @@ static PyObject *__pyx_pf_8gedlibpy_6GEDEnv_70get_node_map(struct __pyx_obj_8ged __pyx_v_node_map = __pyx_t_5; __pyx_t_5 = 0; - /* "gedlibpy.pyx":750 + /* "gedlibpy.pyx":758 * node_map = NodeMap(num_node_source, num_node_target) * # print(node_map.get_forward_map(), node_map.get_backward_map()) * for i in range(len(source_map)): # <<<<<<<<<<<<<< * node_map.add_assignment(source_map[i], target_map[i]) * node_map.set_induced_cost(induced_cost) */ - __pyx_t_10 = PyList_GET_SIZE(__pyx_v_source_map); if (unlikely(__pyx_t_10 == ((Py_ssize_t)-1))) __PYX_ERR(0, 750, __pyx_L1_error) + __pyx_t_10 = PyList_GET_SIZE(__pyx_v_source_map); if (unlikely(__pyx_t_10 == ((Py_ssize_t)-1))) __PYX_ERR(0, 758, __pyx_L1_error) __pyx_t_16 = __pyx_t_10; for (__pyx_t_17 = 0; __pyx_t_17 < __pyx_t_16; __pyx_t_17+=1) { __pyx_v_i = __pyx_t_17; - /* "gedlibpy.pyx":751 + /* "gedlibpy.pyx":759 * # print(node_map.get_forward_map(), node_map.get_backward_map()) * for i in range(len(source_map)): * node_map.add_assignment(source_map[i], target_map[i]) # <<<<<<<<<<<<<< * node_map.set_induced_cost(induced_cost) * */ - __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_node_map, __pyx_n_s_add_assignment); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 751, __pyx_L1_error) + __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_node_map, __pyx_n_s_add_assignment); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 759, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); - __pyx_t_15 = __Pyx_GetItemInt_List(__pyx_v_source_map, __pyx_v_i, Py_ssize_t, 1, PyInt_FromSsize_t, 1, 1, 1); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 751, __pyx_L1_error) + __pyx_t_15 = __Pyx_GetItemInt_List(__pyx_v_source_map, __pyx_v_i, Py_ssize_t, 1, PyInt_FromSsize_t, 1, 1, 1); if (unlikely(!__pyx_t_15)) __PYX_ERR(0, 759, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_15); - __pyx_t_11 = __Pyx_GetItemInt_List(__pyx_v_target_map, __pyx_v_i, Py_ssize_t, 1, PyInt_FromSsize_t, 1, 1, 1); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 751, __pyx_L1_error) + __pyx_t_11 = __Pyx_GetItemInt_List(__pyx_v_target_map, __pyx_v_i, Py_ssize_t, 1, PyInt_FromSsize_t, 1, 1, 1); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 759, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); __pyx_t_9 = NULL; __pyx_t_14 = 0; @@ -7438,7 +7440,7 @@ static PyObject *__pyx_pf_8gedlibpy_6GEDEnv_70get_node_map(struct __pyx_obj_8ged #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_8)) { PyObject *__pyx_temp[3] = {__pyx_t_9, __pyx_t_15, __pyx_t_11}; - __pyx_t_5 = __Pyx_PyFunction_FastCall(__pyx_t_8, __pyx_temp+1-__pyx_t_14, 2+__pyx_t_14); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 751, __pyx_L1_error) + __pyx_t_5 = __Pyx_PyFunction_FastCall(__pyx_t_8, __pyx_temp+1-__pyx_t_14, 2+__pyx_t_14); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 759, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0; __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; @@ -7448,7 +7450,7 @@ static PyObject *__pyx_pf_8gedlibpy_6GEDEnv_70get_node_map(struct __pyx_obj_8ged #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_8)) { PyObject *__pyx_temp[3] = {__pyx_t_9, __pyx_t_15, __pyx_t_11}; - __pyx_t_5 = __Pyx_PyCFunction_FastCall(__pyx_t_8, __pyx_temp+1-__pyx_t_14, 2+__pyx_t_14); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 751, __pyx_L1_error) + __pyx_t_5 = __Pyx_PyCFunction_FastCall(__pyx_t_8, __pyx_temp+1-__pyx_t_14, 2+__pyx_t_14); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 759, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0; __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_15); __pyx_t_15 = 0; @@ -7456,7 +7458,7 @@ static PyObject *__pyx_pf_8gedlibpy_6GEDEnv_70get_node_map(struct __pyx_obj_8ged } else #endif { - __pyx_t_13 = PyTuple_New(2+__pyx_t_14); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 751, __pyx_L1_error) + __pyx_t_13 = PyTuple_New(2+__pyx_t_14); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 759, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_13); if (__pyx_t_9) { __Pyx_GIVEREF(__pyx_t_9); PyTuple_SET_ITEM(__pyx_t_13, 0, __pyx_t_9); __pyx_t_9 = NULL; @@ -7467,7 +7469,7 @@ static PyObject *__pyx_pf_8gedlibpy_6GEDEnv_70get_node_map(struct __pyx_obj_8ged PyTuple_SET_ITEM(__pyx_t_13, 1+__pyx_t_14, __pyx_t_11); __pyx_t_15 = 0; __pyx_t_11 = 0; - __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_8, __pyx_t_13, NULL); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 751, __pyx_L1_error) + __pyx_t_5 = __Pyx_PyObject_Call(__pyx_t_8, __pyx_t_13, NULL); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 759, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; } @@ -7475,16 +7477,16 @@ static PyObject *__pyx_pf_8gedlibpy_6GEDEnv_70get_node_map(struct __pyx_obj_8ged __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; } - /* "gedlibpy.pyx":752 + /* "gedlibpy.pyx":760 * for i in range(len(source_map)): * node_map.add_assignment(source_map[i], target_map[i]) * node_map.set_induced_cost(induced_cost) # <<<<<<<<<<<<<< * * return node_map */ - __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_node_map, __pyx_n_s_set_induced_cost); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 752, __pyx_L1_error) + __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_node_map, __pyx_n_s_set_induced_cost); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 760, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); - __pyx_t_13 = PyFloat_FromDouble(__pyx_v_induced_cost); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 752, __pyx_L1_error) + __pyx_t_13 = PyFloat_FromDouble(__pyx_v_induced_cost); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 760, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_13); __pyx_t_11 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_8))) { @@ -7499,12 +7501,12 @@ static PyObject *__pyx_pf_8gedlibpy_6GEDEnv_70get_node_map(struct __pyx_obj_8ged __pyx_t_5 = (__pyx_t_11) ? __Pyx_PyObject_Call2Args(__pyx_t_8, __pyx_t_11, __pyx_t_13) : __Pyx_PyObject_CallOneArg(__pyx_t_8, __pyx_t_13); __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0; __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; - if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 752, __pyx_L1_error) + if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 760, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - /* "gedlibpy.pyx":754 + /* "gedlibpy.pyx":762 * node_map.set_induced_cost(induced_cost) * * return node_map # <<<<<<<<<<<<<< @@ -7516,7 +7518,7 @@ static PyObject *__pyx_pf_8gedlibpy_6GEDEnv_70get_node_map(struct __pyx_obj_8ged __pyx_r = __pyx_v_node_map; goto __pyx_L0; - /* "gedlibpy.pyx":722 + /* "gedlibpy.pyx":730 * * * def get_node_map(self, g, h) : # <<<<<<<<<<<<<< @@ -7545,7 +7547,7 @@ static PyObject *__pyx_pf_8gedlibpy_6GEDEnv_70get_node_map(struct __pyx_obj_8ged return __pyx_r; } -/* "gedlibpy.pyx":757 +/* "gedlibpy.pyx":765 * * * def get_assignment_matrix(self, g, h) : # <<<<<<<<<<<<<< @@ -7585,11 +7587,11 @@ static PyObject *__pyx_pw_8gedlibpy_6GEDEnv_73get_assignment_matrix(PyObject *__ case 1: if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_h)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("get_assignment_matrix", 1, 2, 2, 1); __PYX_ERR(0, 757, __pyx_L3_error) + __Pyx_RaiseArgtupleInvalid("get_assignment_matrix", 1, 2, 2, 1); __PYX_ERR(0, 765, __pyx_L3_error) } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "get_assignment_matrix") < 0)) __PYX_ERR(0, 757, __pyx_L3_error) + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "get_assignment_matrix") < 0)) __PYX_ERR(0, 765, __pyx_L3_error) } } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { goto __pyx_L5_argtuple_error; @@ -7602,7 +7604,7 @@ static PyObject *__pyx_pw_8gedlibpy_6GEDEnv_73get_assignment_matrix(PyObject *__ } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("get_assignment_matrix", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 757, __pyx_L3_error) + __Pyx_RaiseArgtupleInvalid("get_assignment_matrix", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 765, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("gedlibpy.GEDEnv.get_assignment_matrix", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); @@ -7624,7 +7626,7 @@ static PyObject *__pyx_pf_8gedlibpy_6GEDEnv_72get_assignment_matrix(struct __pyx PyObject *__pyx_t_4 = NULL; __Pyx_RefNannySetupContext("get_assignment_matrix", 0); - /* "gedlibpy.pyx":772 + /* "gedlibpy.pyx":780 * .. note:: This function creates datas so use it if necessary. * """ * return self.c_env.getAssignmentMatrix(g, h) # <<<<<<<<<<<<<< @@ -7632,21 +7634,21 @@ static PyObject *__pyx_pf_8gedlibpy_6GEDEnv_72get_assignment_matrix(struct __pyx * */ __Pyx_XDECREF(__pyx_r); - __pyx_t_1 = __Pyx_PyInt_As_size_t(__pyx_v_g); if (unlikely((__pyx_t_1 == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 772, __pyx_L1_error) - __pyx_t_2 = __Pyx_PyInt_As_size_t(__pyx_v_h); if (unlikely((__pyx_t_2 == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 772, __pyx_L1_error) + __pyx_t_1 = __Pyx_PyInt_As_size_t(__pyx_v_g); if (unlikely((__pyx_t_1 == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 780, __pyx_L1_error) + __pyx_t_2 = __Pyx_PyInt_As_size_t(__pyx_v_h); if (unlikely((__pyx_t_2 == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 780, __pyx_L1_error) try { __pyx_t_3 = __pyx_v_self->c_env->getAssignmentMatrix(__pyx_t_1, __pyx_t_2); } catch(...) { __Pyx_CppExn2PyErr(); - __PYX_ERR(0, 772, __pyx_L1_error) + __PYX_ERR(0, 780, __pyx_L1_error) } - __pyx_t_4 = __pyx_convert_vector_to_py_std_3a__3a_vector_3c_int_3e___(__pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 772, __pyx_L1_error) + __pyx_t_4 = __pyx_convert_vector_to_py_std_3a__3a_vector_3c_int_3e___(__pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 780, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_r = __pyx_t_4; __pyx_t_4 = 0; goto __pyx_L0; - /* "gedlibpy.pyx":757 + /* "gedlibpy.pyx":765 * * * def get_assignment_matrix(self, g, h) : # <<<<<<<<<<<<<< @@ -7665,7 +7667,7 @@ static PyObject *__pyx_pf_8gedlibpy_6GEDEnv_72get_assignment_matrix(struct __pyx return __pyx_r; } -/* "gedlibpy.pyx":775 +/* "gedlibpy.pyx":783 * * * def get_all_map(self, g, h) : # <<<<<<<<<<<<<< @@ -7705,11 +7707,11 @@ static PyObject *__pyx_pw_8gedlibpy_6GEDEnv_75get_all_map(PyObject *__pyx_v_self case 1: if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_h)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("get_all_map", 1, 2, 2, 1); __PYX_ERR(0, 775, __pyx_L3_error) + __Pyx_RaiseArgtupleInvalid("get_all_map", 1, 2, 2, 1); __PYX_ERR(0, 783, __pyx_L3_error) } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "get_all_map") < 0)) __PYX_ERR(0, 775, __pyx_L3_error) + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "get_all_map") < 0)) __PYX_ERR(0, 783, __pyx_L3_error) } } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { goto __pyx_L5_argtuple_error; @@ -7722,7 +7724,7 @@ static PyObject *__pyx_pw_8gedlibpy_6GEDEnv_75get_all_map(PyObject *__pyx_v_self } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("get_all_map", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 775, __pyx_L3_error) + __Pyx_RaiseArgtupleInvalid("get_all_map", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 783, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("gedlibpy.GEDEnv.get_all_map", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); @@ -7744,7 +7746,7 @@ static PyObject *__pyx_pf_8gedlibpy_6GEDEnv_74get_all_map(struct __pyx_obj_8gedl PyObject *__pyx_t_4 = NULL; __Pyx_RefNannySetupContext("get_all_map", 0); - /* "gedlibpy.pyx":790 + /* "gedlibpy.pyx":798 * .. note:: This function duplicates data so please don't use it. I also don't know how to connect the two map to reconstruct the adjacence matrix. Please come back when I know how it's work ! * """ * return self.c_env.getAllMap(g, h) # <<<<<<<<<<<<<< @@ -7752,21 +7754,21 @@ static PyObject *__pyx_pf_8gedlibpy_6GEDEnv_74get_all_map(struct __pyx_obj_8gedl * */ __Pyx_XDECREF(__pyx_r); - __pyx_t_1 = __Pyx_PyInt_As_size_t(__pyx_v_g); if (unlikely((__pyx_t_1 == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 790, __pyx_L1_error) - __pyx_t_2 = __Pyx_PyInt_As_size_t(__pyx_v_h); if (unlikely((__pyx_t_2 == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 790, __pyx_L1_error) + __pyx_t_1 = __Pyx_PyInt_As_size_t(__pyx_v_g); if (unlikely((__pyx_t_1 == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 798, __pyx_L1_error) + __pyx_t_2 = __Pyx_PyInt_As_size_t(__pyx_v_h); if (unlikely((__pyx_t_2 == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 798, __pyx_L1_error) try { __pyx_t_3 = __pyx_v_self->c_env->getAllMap(__pyx_t_1, __pyx_t_2); } catch(...) { __Pyx_CppExn2PyErr(); - __PYX_ERR(0, 790, __pyx_L1_error) + __PYX_ERR(0, 798, __pyx_L1_error) } - __pyx_t_4 = __pyx_convert_vector_to_py_std_3a__3a_vector_3c_npy_uint64_3e___(__pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 790, __pyx_L1_error) + __pyx_t_4 = __pyx_convert_vector_to_py_std_3a__3a_vector_3c_npy_uint64_3e___(__pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 798, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_r = __pyx_t_4; __pyx_t_4 = 0; goto __pyx_L0; - /* "gedlibpy.pyx":775 + /* "gedlibpy.pyx":783 * * * def get_all_map(self, g, h) : # <<<<<<<<<<<<<< @@ -7785,7 +7787,7 @@ static PyObject *__pyx_pf_8gedlibpy_6GEDEnv_74get_all_map(struct __pyx_obj_8gedl return __pyx_r; } -/* "gedlibpy.pyx":793 +/* "gedlibpy.pyx":801 * * * def get_runtime(self, g, h) : # <<<<<<<<<<<<<< @@ -7825,11 +7827,11 @@ static PyObject *__pyx_pw_8gedlibpy_6GEDEnv_77get_runtime(PyObject *__pyx_v_self case 1: if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_h)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("get_runtime", 1, 2, 2, 1); __PYX_ERR(0, 793, __pyx_L3_error) + __Pyx_RaiseArgtupleInvalid("get_runtime", 1, 2, 2, 1); __PYX_ERR(0, 801, __pyx_L3_error) } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "get_runtime") < 0)) __PYX_ERR(0, 793, __pyx_L3_error) + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "get_runtime") < 0)) __PYX_ERR(0, 801, __pyx_L3_error) } } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { goto __pyx_L5_argtuple_error; @@ -7842,7 +7844,7 @@ static PyObject *__pyx_pw_8gedlibpy_6GEDEnv_77get_runtime(PyObject *__pyx_v_self } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("get_runtime", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 793, __pyx_L3_error) + __Pyx_RaiseArgtupleInvalid("get_runtime", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 801, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("gedlibpy.GEDEnv.get_runtime", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); @@ -7864,7 +7866,7 @@ static PyObject *__pyx_pf_8gedlibpy_6GEDEnv_76get_runtime(struct __pyx_obj_8gedl PyObject *__pyx_t_4 = NULL; __Pyx_RefNannySetupContext("get_runtime", 0); - /* "gedlibpy.pyx":808 + /* "gedlibpy.pyx":816 * .. note:: Python is a bit longer than C++ due to the functions's encapsulate. * """ * return self.c_env.getRuntime(g,h) # <<<<<<<<<<<<<< @@ -7872,21 +7874,21 @@ static PyObject *__pyx_pf_8gedlibpy_6GEDEnv_76get_runtime(struct __pyx_obj_8gedl * */ __Pyx_XDECREF(__pyx_r); - __pyx_t_1 = __Pyx_PyInt_As_size_t(__pyx_v_g); if (unlikely((__pyx_t_1 == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 808, __pyx_L1_error) - __pyx_t_2 = __Pyx_PyInt_As_size_t(__pyx_v_h); if (unlikely((__pyx_t_2 == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 808, __pyx_L1_error) + __pyx_t_1 = __Pyx_PyInt_As_size_t(__pyx_v_g); if (unlikely((__pyx_t_1 == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 816, __pyx_L1_error) + __pyx_t_2 = __Pyx_PyInt_As_size_t(__pyx_v_h); if (unlikely((__pyx_t_2 == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 816, __pyx_L1_error) try { __pyx_t_3 = __pyx_v_self->c_env->getRuntime(__pyx_t_1, __pyx_t_2); } catch(...) { __Pyx_CppExn2PyErr(); - __PYX_ERR(0, 808, __pyx_L1_error) + __PYX_ERR(0, 816, __pyx_L1_error) } - __pyx_t_4 = PyFloat_FromDouble(__pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 808, __pyx_L1_error) + __pyx_t_4 = PyFloat_FromDouble(__pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 816, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_r = __pyx_t_4; __pyx_t_4 = 0; goto __pyx_L0; - /* "gedlibpy.pyx":793 + /* "gedlibpy.pyx":801 * * * def get_runtime(self, g, h) : # <<<<<<<<<<<<<< @@ -7905,7 +7907,7 @@ static PyObject *__pyx_pf_8gedlibpy_6GEDEnv_76get_runtime(struct __pyx_obj_8gedl return __pyx_r; } -/* "gedlibpy.pyx":811 +/* "gedlibpy.pyx":819 * * * def quasimetric_cost(self) : # <<<<<<<<<<<<<< @@ -7934,7 +7936,7 @@ static PyObject *__pyx_pf_8gedlibpy_6GEDEnv_78quasimetric_cost(struct __pyx_obj_ PyObject *__pyx_t_2 = NULL; __Pyx_RefNannySetupContext("quasimetric_cost", 0); - /* "gedlibpy.pyx":825 + /* "gedlibpy.pyx":833 * .. warning:: run_method() between the same two graph must be called before this function. * """ * return self.c_env.quasimetricCosts() # <<<<<<<<<<<<<< @@ -7946,15 +7948,15 @@ static PyObject *__pyx_pf_8gedlibpy_6GEDEnv_78quasimetric_cost(struct __pyx_obj_ __pyx_t_1 = __pyx_v_self->c_env->quasimetricCosts(); } catch(...) { __Pyx_CppExn2PyErr(); - __PYX_ERR(0, 825, __pyx_L1_error) + __PYX_ERR(0, 833, __pyx_L1_error) } - __pyx_t_2 = __Pyx_PyBool_FromLong(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 825, __pyx_L1_error) + __pyx_t_2 = __Pyx_PyBool_FromLong(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 833, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_r = __pyx_t_2; __pyx_t_2 = 0; goto __pyx_L0; - /* "gedlibpy.pyx":811 + /* "gedlibpy.pyx":819 * * * def quasimetric_cost(self) : # <<<<<<<<<<<<<< @@ -7973,7 +7975,7 @@ static PyObject *__pyx_pf_8gedlibpy_6GEDEnv_78quasimetric_cost(struct __pyx_obj_ return __pyx_r; } -/* "gedlibpy.pyx":828 +/* "gedlibpy.pyx":836 * * * def hungarian_LSAP(self, matrix_cost) : # <<<<<<<<<<<<<< @@ -8003,7 +8005,7 @@ static PyObject *__pyx_pf_8gedlibpy_6GEDEnv_80hungarian_LSAP(struct __pyx_obj_8g PyObject *__pyx_t_3 = NULL; __Pyx_RefNannySetupContext("hungarian_LSAP", 0); - /* "gedlibpy.pyx":839 + /* "gedlibpy.pyx":847 * .. seealso:: hungarian_LSAPE() * """ * return self.c_env.hungarianLSAP(matrix_cost) # <<<<<<<<<<<<<< @@ -8011,20 +8013,20 @@ static PyObject *__pyx_pf_8gedlibpy_6GEDEnv_80hungarian_LSAP(struct __pyx_obj_8g * */ __Pyx_XDECREF(__pyx_r); - __pyx_t_1 = __pyx_convert_vector_from_py_std_3a__3a_vector_3c_size_t_3e___(__pyx_v_matrix_cost); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 839, __pyx_L1_error) + __pyx_t_1 = __pyx_convert_vector_from_py_std_3a__3a_vector_3c_size_t_3e___(__pyx_v_matrix_cost); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 847, __pyx_L1_error) try { __pyx_t_2 = __pyx_v_self->c_env->hungarianLSAP(__pyx_t_1); } catch(...) { __Pyx_CppExn2PyErr(); - __PYX_ERR(0, 839, __pyx_L1_error) + __PYX_ERR(0, 847, __pyx_L1_error) } - __pyx_t_3 = __pyx_convert_vector_to_py_std_3a__3a_vector_3c_size_t_3e___(__pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 839, __pyx_L1_error) + __pyx_t_3 = __pyx_convert_vector_to_py_std_3a__3a_vector_3c_size_t_3e___(__pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 847, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_r = __pyx_t_3; __pyx_t_3 = 0; goto __pyx_L0; - /* "gedlibpy.pyx":828 + /* "gedlibpy.pyx":836 * * * def hungarian_LSAP(self, matrix_cost) : # <<<<<<<<<<<<<< @@ -8043,7 +8045,7 @@ static PyObject *__pyx_pf_8gedlibpy_6GEDEnv_80hungarian_LSAP(struct __pyx_obj_8g return __pyx_r; } -/* "gedlibpy.pyx":842 +/* "gedlibpy.pyx":850 * * * def hungarian_LSAPE(self, matrix_cost) : # <<<<<<<<<<<<<< @@ -8073,7 +8075,7 @@ static PyObject *__pyx_pf_8gedlibpy_6GEDEnv_82hungarian_LSAPE(struct __pyx_obj_8 PyObject *__pyx_t_3 = NULL; __Pyx_RefNannySetupContext("hungarian_LSAPE", 0); - /* "gedlibpy.pyx":853 + /* "gedlibpy.pyx":861 * .. seealso:: hungarian_LSAP() * """ * return self.c_env.hungarianLSAPE(matrix_cost) # <<<<<<<<<<<<<< @@ -8081,20 +8083,20 @@ static PyObject *__pyx_pf_8gedlibpy_6GEDEnv_82hungarian_LSAPE(struct __pyx_obj_8 * */ __Pyx_XDECREF(__pyx_r); - __pyx_t_1 = __pyx_convert_vector_from_py_std_3a__3a_vector_3c_double_3e___(__pyx_v_matrix_cost); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 853, __pyx_L1_error) + __pyx_t_1 = __pyx_convert_vector_from_py_std_3a__3a_vector_3c_double_3e___(__pyx_v_matrix_cost); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 861, __pyx_L1_error) try { __pyx_t_2 = __pyx_v_self->c_env->hungarianLSAPE(__pyx_t_1); } catch(...) { __Pyx_CppExn2PyErr(); - __PYX_ERR(0, 853, __pyx_L1_error) + __PYX_ERR(0, 861, __pyx_L1_error) } - __pyx_t_3 = __pyx_convert_vector_to_py_std_3a__3a_vector_3c_double_3e___(__pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 853, __pyx_L1_error) + __pyx_t_3 = __pyx_convert_vector_to_py_std_3a__3a_vector_3c_double_3e___(__pyx_t_2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 861, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_r = __pyx_t_3; __pyx_t_3 = 0; goto __pyx_L0; - /* "gedlibpy.pyx":842 + /* "gedlibpy.pyx":850 * * * def hungarian_LSAPE(self, matrix_cost) : # <<<<<<<<<<<<<< @@ -8113,7 +8115,7 @@ static PyObject *__pyx_pf_8gedlibpy_6GEDEnv_82hungarian_LSAPE(struct __pyx_obj_8 return __pyx_r; } -/* "gedlibpy.pyx":856 +/* "gedlibpy.pyx":864 * * * def add_random_graph(self, name, classe, list_of_nodes, list_of_edges, ignore_duplicates=True) : # <<<<<<<<<<<<<< @@ -8163,19 +8165,19 @@ static PyObject *__pyx_pw_8gedlibpy_6GEDEnv_85add_random_graph(PyObject *__pyx_v case 1: if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_classe)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("add_random_graph", 0, 4, 5, 1); __PYX_ERR(0, 856, __pyx_L3_error) + __Pyx_RaiseArgtupleInvalid("add_random_graph", 0, 4, 5, 1); __PYX_ERR(0, 864, __pyx_L3_error) } CYTHON_FALLTHROUGH; case 2: if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_list_of_nodes)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("add_random_graph", 0, 4, 5, 2); __PYX_ERR(0, 856, __pyx_L3_error) + __Pyx_RaiseArgtupleInvalid("add_random_graph", 0, 4, 5, 2); __PYX_ERR(0, 864, __pyx_L3_error) } CYTHON_FALLTHROUGH; case 3: if (likely((values[3] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_list_of_edges)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("add_random_graph", 0, 4, 5, 3); __PYX_ERR(0, 856, __pyx_L3_error) + __Pyx_RaiseArgtupleInvalid("add_random_graph", 0, 4, 5, 3); __PYX_ERR(0, 864, __pyx_L3_error) } CYTHON_FALLTHROUGH; case 4: @@ -8185,7 +8187,7 @@ static PyObject *__pyx_pw_8gedlibpy_6GEDEnv_85add_random_graph(PyObject *__pyx_v } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "add_random_graph") < 0)) __PYX_ERR(0, 856, __pyx_L3_error) + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "add_random_graph") < 0)) __PYX_ERR(0, 864, __pyx_L3_error) } } else { switch (PyTuple_GET_SIZE(__pyx_args)) { @@ -8207,7 +8209,7 @@ static PyObject *__pyx_pw_8gedlibpy_6GEDEnv_85add_random_graph(PyObject *__pyx_v } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("add_random_graph", 0, 4, 5, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 856, __pyx_L3_error) + __Pyx_RaiseArgtupleInvalid("add_random_graph", 0, 4, 5, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 864, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("gedlibpy.GEDEnv.add_random_graph", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); @@ -8239,14 +8241,14 @@ static PyObject *__pyx_pf_8gedlibpy_6GEDEnv_84add_random_graph(struct __pyx_obj_ PyObject *__pyx_t_11 = NULL; __Pyx_RefNannySetupContext("add_random_graph", 0); - /* "gedlibpy.pyx":876 + /* "gedlibpy.pyx":884 * * """ * id = self.add_graph(name, classe) # <<<<<<<<<<<<<< * for node in list_of_nodes: * self.add_node(id, node[0], node[1]) */ - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_add_graph); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 876, __pyx_L1_error) + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_add_graph); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 884, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_3 = NULL; __pyx_t_4 = 0; @@ -8263,7 +8265,7 @@ static PyObject *__pyx_pf_8gedlibpy_6GEDEnv_84add_random_graph(struct __pyx_obj_ #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_2)) { PyObject *__pyx_temp[3] = {__pyx_t_3, __pyx_v_name, __pyx_v_classe}; - __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_4, 2+__pyx_t_4); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 876, __pyx_L1_error) + __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_4, 2+__pyx_t_4); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 884, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_GOTREF(__pyx_t_1); } else @@ -8271,13 +8273,13 @@ static PyObject *__pyx_pf_8gedlibpy_6GEDEnv_84add_random_graph(struct __pyx_obj_ #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_2)) { PyObject *__pyx_temp[3] = {__pyx_t_3, __pyx_v_name, __pyx_v_classe}; - __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_4, 2+__pyx_t_4); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 876, __pyx_L1_error) + __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_4, 2+__pyx_t_4); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 884, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_GOTREF(__pyx_t_1); } else #endif { - __pyx_t_5 = PyTuple_New(2+__pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 876, __pyx_L1_error) + __pyx_t_5 = PyTuple_New(2+__pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 884, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); if (__pyx_t_3) { __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_3); __pyx_t_3 = NULL; @@ -8288,7 +8290,7 @@ static PyObject *__pyx_pf_8gedlibpy_6GEDEnv_84add_random_graph(struct __pyx_obj_ __Pyx_INCREF(__pyx_v_classe); __Pyx_GIVEREF(__pyx_v_classe); PyTuple_SET_ITEM(__pyx_t_5, 1+__pyx_t_4, __pyx_v_classe); - __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_5, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 876, __pyx_L1_error) + __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_5, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 884, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; } @@ -8296,7 +8298,7 @@ static PyObject *__pyx_pf_8gedlibpy_6GEDEnv_84add_random_graph(struct __pyx_obj_ __pyx_v_id = __pyx_t_1; __pyx_t_1 = 0; - /* "gedlibpy.pyx":877 + /* "gedlibpy.pyx":885 * """ * id = self.add_graph(name, classe) * for node in list_of_nodes: # <<<<<<<<<<<<<< @@ -8307,26 +8309,26 @@ static PyObject *__pyx_pf_8gedlibpy_6GEDEnv_84add_random_graph(struct __pyx_obj_ __pyx_t_1 = __pyx_v_list_of_nodes; __Pyx_INCREF(__pyx_t_1); __pyx_t_6 = 0; __pyx_t_7 = NULL; } else { - __pyx_t_6 = -1; __pyx_t_1 = PyObject_GetIter(__pyx_v_list_of_nodes); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 877, __pyx_L1_error) + __pyx_t_6 = -1; __pyx_t_1 = PyObject_GetIter(__pyx_v_list_of_nodes); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 885, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); - __pyx_t_7 = Py_TYPE(__pyx_t_1)->tp_iternext; if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 877, __pyx_L1_error) + __pyx_t_7 = Py_TYPE(__pyx_t_1)->tp_iternext; if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 885, __pyx_L1_error) } for (;;) { if (likely(!__pyx_t_7)) { if (likely(PyList_CheckExact(__pyx_t_1))) { if (__pyx_t_6 >= PyList_GET_SIZE(__pyx_t_1)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS - __pyx_t_2 = PyList_GET_ITEM(__pyx_t_1, __pyx_t_6); __Pyx_INCREF(__pyx_t_2); __pyx_t_6++; if (unlikely(0 < 0)) __PYX_ERR(0, 877, __pyx_L1_error) + __pyx_t_2 = PyList_GET_ITEM(__pyx_t_1, __pyx_t_6); __Pyx_INCREF(__pyx_t_2); __pyx_t_6++; if (unlikely(0 < 0)) __PYX_ERR(0, 885, __pyx_L1_error) #else - __pyx_t_2 = PySequence_ITEM(__pyx_t_1, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 877, __pyx_L1_error) + __pyx_t_2 = PySequence_ITEM(__pyx_t_1, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 885, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); #endif } else { if (__pyx_t_6 >= PyTuple_GET_SIZE(__pyx_t_1)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS - __pyx_t_2 = PyTuple_GET_ITEM(__pyx_t_1, __pyx_t_6); __Pyx_INCREF(__pyx_t_2); __pyx_t_6++; if (unlikely(0 < 0)) __PYX_ERR(0, 877, __pyx_L1_error) + __pyx_t_2 = PyTuple_GET_ITEM(__pyx_t_1, __pyx_t_6); __Pyx_INCREF(__pyx_t_2); __pyx_t_6++; if (unlikely(0 < 0)) __PYX_ERR(0, 885, __pyx_L1_error) #else - __pyx_t_2 = PySequence_ITEM(__pyx_t_1, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 877, __pyx_L1_error) + __pyx_t_2 = PySequence_ITEM(__pyx_t_1, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 885, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); #endif } @@ -8336,7 +8338,7 @@ static PyObject *__pyx_pf_8gedlibpy_6GEDEnv_84add_random_graph(struct __pyx_obj_ PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); - else __PYX_ERR(0, 877, __pyx_L1_error) + else __PYX_ERR(0, 885, __pyx_L1_error) } break; } @@ -8345,18 +8347,18 @@ static PyObject *__pyx_pf_8gedlibpy_6GEDEnv_84add_random_graph(struct __pyx_obj_ __Pyx_XDECREF_SET(__pyx_v_node, __pyx_t_2); __pyx_t_2 = 0; - /* "gedlibpy.pyx":878 + /* "gedlibpy.pyx":886 * id = self.add_graph(name, classe) * for node in list_of_nodes: * self.add_node(id, node[0], node[1]) # <<<<<<<<<<<<<< * for edge in list_of_edges: * self.add_edge(id, edge[0], edge[1], edge[2], ignore_duplicates) */ - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_add_node); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 878, __pyx_L1_error) + __pyx_t_5 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_add_node); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 886, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); - __pyx_t_3 = __Pyx_GetItemInt(__pyx_v_node, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 878, __pyx_L1_error) + __pyx_t_3 = __Pyx_GetItemInt(__pyx_v_node, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 886, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); - __pyx_t_8 = __Pyx_GetItemInt(__pyx_v_node, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 878, __pyx_L1_error) + __pyx_t_8 = __Pyx_GetItemInt(__pyx_v_node, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 886, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __pyx_t_9 = NULL; __pyx_t_4 = 0; @@ -8373,7 +8375,7 @@ static PyObject *__pyx_pf_8gedlibpy_6GEDEnv_84add_random_graph(struct __pyx_obj_ #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_5)) { PyObject *__pyx_temp[4] = {__pyx_t_9, __pyx_v_id, __pyx_t_3, __pyx_t_8}; - __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_4, 3+__pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 878, __pyx_L1_error) + __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_4, 3+__pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 886, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0; __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; @@ -8383,7 +8385,7 @@ static PyObject *__pyx_pf_8gedlibpy_6GEDEnv_84add_random_graph(struct __pyx_obj_ #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_5)) { PyObject *__pyx_temp[4] = {__pyx_t_9, __pyx_v_id, __pyx_t_3, __pyx_t_8}; - __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_4, 3+__pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 878, __pyx_L1_error) + __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_4, 3+__pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 886, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0; __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; @@ -8391,7 +8393,7 @@ static PyObject *__pyx_pf_8gedlibpy_6GEDEnv_84add_random_graph(struct __pyx_obj_ } else #endif { - __pyx_t_10 = PyTuple_New(3+__pyx_t_4); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 878, __pyx_L1_error) + __pyx_t_10 = PyTuple_New(3+__pyx_t_4); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 886, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); if (__pyx_t_9) { __Pyx_GIVEREF(__pyx_t_9); PyTuple_SET_ITEM(__pyx_t_10, 0, __pyx_t_9); __pyx_t_9 = NULL; @@ -8405,14 +8407,14 @@ static PyObject *__pyx_pf_8gedlibpy_6GEDEnv_84add_random_graph(struct __pyx_obj_ PyTuple_SET_ITEM(__pyx_t_10, 2+__pyx_t_4, __pyx_t_8); __pyx_t_3 = 0; __pyx_t_8 = 0; - __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_10, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 878, __pyx_L1_error) + __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_10, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 886, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; } __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "gedlibpy.pyx":877 + /* "gedlibpy.pyx":885 * """ * id = self.add_graph(name, classe) * for node in list_of_nodes: # <<<<<<<<<<<<<< @@ -8422,7 +8424,7 @@ static PyObject *__pyx_pf_8gedlibpy_6GEDEnv_84add_random_graph(struct __pyx_obj_ } __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - /* "gedlibpy.pyx":879 + /* "gedlibpy.pyx":887 * for node in list_of_nodes: * self.add_node(id, node[0], node[1]) * for edge in list_of_edges: # <<<<<<<<<<<<<< @@ -8433,26 +8435,26 @@ static PyObject *__pyx_pf_8gedlibpy_6GEDEnv_84add_random_graph(struct __pyx_obj_ __pyx_t_1 = __pyx_v_list_of_edges; __Pyx_INCREF(__pyx_t_1); __pyx_t_6 = 0; __pyx_t_7 = NULL; } else { - __pyx_t_6 = -1; __pyx_t_1 = PyObject_GetIter(__pyx_v_list_of_edges); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 879, __pyx_L1_error) + __pyx_t_6 = -1; __pyx_t_1 = PyObject_GetIter(__pyx_v_list_of_edges); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 887, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); - __pyx_t_7 = Py_TYPE(__pyx_t_1)->tp_iternext; if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 879, __pyx_L1_error) + __pyx_t_7 = Py_TYPE(__pyx_t_1)->tp_iternext; if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 887, __pyx_L1_error) } for (;;) { if (likely(!__pyx_t_7)) { if (likely(PyList_CheckExact(__pyx_t_1))) { if (__pyx_t_6 >= PyList_GET_SIZE(__pyx_t_1)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS - __pyx_t_2 = PyList_GET_ITEM(__pyx_t_1, __pyx_t_6); __Pyx_INCREF(__pyx_t_2); __pyx_t_6++; if (unlikely(0 < 0)) __PYX_ERR(0, 879, __pyx_L1_error) + __pyx_t_2 = PyList_GET_ITEM(__pyx_t_1, __pyx_t_6); __Pyx_INCREF(__pyx_t_2); __pyx_t_6++; if (unlikely(0 < 0)) __PYX_ERR(0, 887, __pyx_L1_error) #else - __pyx_t_2 = PySequence_ITEM(__pyx_t_1, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 879, __pyx_L1_error) + __pyx_t_2 = PySequence_ITEM(__pyx_t_1, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 887, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); #endif } else { if (__pyx_t_6 >= PyTuple_GET_SIZE(__pyx_t_1)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS - __pyx_t_2 = PyTuple_GET_ITEM(__pyx_t_1, __pyx_t_6); __Pyx_INCREF(__pyx_t_2); __pyx_t_6++; if (unlikely(0 < 0)) __PYX_ERR(0, 879, __pyx_L1_error) + __pyx_t_2 = PyTuple_GET_ITEM(__pyx_t_1, __pyx_t_6); __Pyx_INCREF(__pyx_t_2); __pyx_t_6++; if (unlikely(0 < 0)) __PYX_ERR(0, 887, __pyx_L1_error) #else - __pyx_t_2 = PySequence_ITEM(__pyx_t_1, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 879, __pyx_L1_error) + __pyx_t_2 = PySequence_ITEM(__pyx_t_1, __pyx_t_6); __pyx_t_6++; if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 887, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); #endif } @@ -8462,7 +8464,7 @@ static PyObject *__pyx_pf_8gedlibpy_6GEDEnv_84add_random_graph(struct __pyx_obj_ PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); - else __PYX_ERR(0, 879, __pyx_L1_error) + else __PYX_ERR(0, 887, __pyx_L1_error) } break; } @@ -8471,20 +8473,20 @@ static PyObject *__pyx_pf_8gedlibpy_6GEDEnv_84add_random_graph(struct __pyx_obj_ __Pyx_XDECREF_SET(__pyx_v_edge, __pyx_t_2); __pyx_t_2 = 0; - /* "gedlibpy.pyx":880 + /* "gedlibpy.pyx":888 * self.add_node(id, node[0], node[1]) * for edge in list_of_edges: * self.add_edge(id, edge[0], edge[1], edge[2], ignore_duplicates) # <<<<<<<<<<<<<< * return id * */ - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_add_edge); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 880, __pyx_L1_error) + __pyx_t_5 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_add_edge); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 888, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); - __pyx_t_10 = __Pyx_GetItemInt(__pyx_v_edge, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 880, __pyx_L1_error) + __pyx_t_10 = __Pyx_GetItemInt(__pyx_v_edge, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 888, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); - __pyx_t_8 = __Pyx_GetItemInt(__pyx_v_edge, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 880, __pyx_L1_error) + __pyx_t_8 = __Pyx_GetItemInt(__pyx_v_edge, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 888, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); - __pyx_t_3 = __Pyx_GetItemInt(__pyx_v_edge, 2, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 880, __pyx_L1_error) + __pyx_t_3 = __Pyx_GetItemInt(__pyx_v_edge, 2, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 888, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_9 = NULL; __pyx_t_4 = 0; @@ -8501,7 +8503,7 @@ static PyObject *__pyx_pf_8gedlibpy_6GEDEnv_84add_random_graph(struct __pyx_obj_ #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_5)) { PyObject *__pyx_temp[6] = {__pyx_t_9, __pyx_v_id, __pyx_t_10, __pyx_t_8, __pyx_t_3, __pyx_v_ignore_duplicates}; - __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_4, 5+__pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 880, __pyx_L1_error) + __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_4, 5+__pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 888, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0; __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; @@ -8512,7 +8514,7 @@ static PyObject *__pyx_pf_8gedlibpy_6GEDEnv_84add_random_graph(struct __pyx_obj_ #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_5)) { PyObject *__pyx_temp[6] = {__pyx_t_9, __pyx_v_id, __pyx_t_10, __pyx_t_8, __pyx_t_3, __pyx_v_ignore_duplicates}; - __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_4, 5+__pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 880, __pyx_L1_error) + __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_5, __pyx_temp+1-__pyx_t_4, 5+__pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 888, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0; __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; @@ -8521,7 +8523,7 @@ static PyObject *__pyx_pf_8gedlibpy_6GEDEnv_84add_random_graph(struct __pyx_obj_ } else #endif { - __pyx_t_11 = PyTuple_New(5+__pyx_t_4); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 880, __pyx_L1_error) + __pyx_t_11 = PyTuple_New(5+__pyx_t_4); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 888, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); if (__pyx_t_9) { __Pyx_GIVEREF(__pyx_t_9); PyTuple_SET_ITEM(__pyx_t_11, 0, __pyx_t_9); __pyx_t_9 = NULL; @@ -8541,14 +8543,14 @@ static PyObject *__pyx_pf_8gedlibpy_6GEDEnv_84add_random_graph(struct __pyx_obj_ __pyx_t_10 = 0; __pyx_t_8 = 0; __pyx_t_3 = 0; - __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_11, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 880, __pyx_L1_error) + __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_5, __pyx_t_11, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 888, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; } __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "gedlibpy.pyx":879 + /* "gedlibpy.pyx":887 * for node in list_of_nodes: * self.add_node(id, node[0], node[1]) * for edge in list_of_edges: # <<<<<<<<<<<<<< @@ -8558,7 +8560,7 @@ static PyObject *__pyx_pf_8gedlibpy_6GEDEnv_84add_random_graph(struct __pyx_obj_ } __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - /* "gedlibpy.pyx":881 + /* "gedlibpy.pyx":889 * for edge in list_of_edges: * self.add_edge(id, edge[0], edge[1], edge[2], ignore_duplicates) * return id # <<<<<<<<<<<<<< @@ -8570,7 +8572,7 @@ static PyObject *__pyx_pf_8gedlibpy_6GEDEnv_84add_random_graph(struct __pyx_obj_ __pyx_r = __pyx_v_id; goto __pyx_L0; - /* "gedlibpy.pyx":856 + /* "gedlibpy.pyx":864 * * * def add_random_graph(self, name, classe, list_of_nodes, list_of_edges, ignore_duplicates=True) : # <<<<<<<<<<<<<< @@ -8599,7 +8601,7 @@ static PyObject *__pyx_pf_8gedlibpy_6GEDEnv_84add_random_graph(struct __pyx_obj_ return __pyx_r; } -/* "gedlibpy.pyx":884 +/* "gedlibpy.pyx":892 * * * def add_nx_graph(self, g, classe, ignore_duplicates=True) : # <<<<<<<<<<<<<< @@ -8643,7 +8645,7 @@ static PyObject *__pyx_pw_8gedlibpy_6GEDEnv_87add_nx_graph(PyObject *__pyx_v_sel case 1: if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_classe)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("add_nx_graph", 0, 2, 3, 1); __PYX_ERR(0, 884, __pyx_L3_error) + __Pyx_RaiseArgtupleInvalid("add_nx_graph", 0, 2, 3, 1); __PYX_ERR(0, 892, __pyx_L3_error) } CYTHON_FALLTHROUGH; case 2: @@ -8653,7 +8655,7 @@ static PyObject *__pyx_pw_8gedlibpy_6GEDEnv_87add_nx_graph(PyObject *__pyx_v_sel } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "add_nx_graph") < 0)) __PYX_ERR(0, 884, __pyx_L3_error) + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "add_nx_graph") < 0)) __PYX_ERR(0, 892, __pyx_L3_error) } } else { switch (PyTuple_GET_SIZE(__pyx_args)) { @@ -8671,7 +8673,7 @@ static PyObject *__pyx_pw_8gedlibpy_6GEDEnv_87add_nx_graph(PyObject *__pyx_v_sel } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("add_nx_graph", 0, 2, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 884, __pyx_L3_error) + __Pyx_RaiseArgtupleInvalid("add_nx_graph", 0, 2, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 892, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("gedlibpy.GEDEnv.add_nx_graph", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); @@ -8706,16 +8708,16 @@ static PyObject *__pyx_pf_8gedlibpy_6GEDEnv_86add_nx_graph(struct __pyx_obj_8ged PyObject *__pyx_t_14 = NULL; __Pyx_RefNannySetupContext("add_nx_graph", 0); - /* "gedlibpy.pyx":898 + /* "gedlibpy.pyx":906 * * """ * id = self.add_graph(g.name, classe) # <<<<<<<<<<<<<< * for node in g.nodes: * self.add_node(id, str(node), g.nodes[node]) */ - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_add_graph); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 898, __pyx_L1_error) + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_add_graph); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 906, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_g, __pyx_n_s_name); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 898, __pyx_L1_error) + __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_g, __pyx_n_s_name); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 906, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_4 = NULL; __pyx_t_5 = 0; @@ -8732,7 +8734,7 @@ static PyObject *__pyx_pf_8gedlibpy_6GEDEnv_86add_nx_graph(struct __pyx_obj_8ged #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_2)) { PyObject *__pyx_temp[3] = {__pyx_t_4, __pyx_t_3, __pyx_v_classe}; - __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_5, 2+__pyx_t_5); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 898, __pyx_L1_error) + __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_5, 2+__pyx_t_5); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 906, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; @@ -8741,14 +8743,14 @@ static PyObject *__pyx_pf_8gedlibpy_6GEDEnv_86add_nx_graph(struct __pyx_obj_8ged #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_2)) { PyObject *__pyx_temp[3] = {__pyx_t_4, __pyx_t_3, __pyx_v_classe}; - __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_5, 2+__pyx_t_5); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 898, __pyx_L1_error) + __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_5, 2+__pyx_t_5); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 906, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; } else #endif { - __pyx_t_6 = PyTuple_New(2+__pyx_t_5); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 898, __pyx_L1_error) + __pyx_t_6 = PyTuple_New(2+__pyx_t_5); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 906, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); if (__pyx_t_4) { __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_4); __pyx_t_4 = NULL; @@ -8759,7 +8761,7 @@ static PyObject *__pyx_pf_8gedlibpy_6GEDEnv_86add_nx_graph(struct __pyx_obj_8ged __Pyx_GIVEREF(__pyx_v_classe); PyTuple_SET_ITEM(__pyx_t_6, 1+__pyx_t_5, __pyx_v_classe); __pyx_t_3 = 0; - __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_6, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 898, __pyx_L1_error) + __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_6, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 906, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; } @@ -8767,22 +8769,22 @@ static PyObject *__pyx_pf_8gedlibpy_6GEDEnv_86add_nx_graph(struct __pyx_obj_8ged __pyx_v_id = __pyx_t_1; __pyx_t_1 = 0; - /* "gedlibpy.pyx":899 + /* "gedlibpy.pyx":907 * """ * id = self.add_graph(g.name, classe) * for node in g.nodes: # <<<<<<<<<<<<<< * self.add_node(id, str(node), g.nodes[node]) * for edge in g.edges: */ - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_g, __pyx_n_s_nodes); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 899, __pyx_L1_error) + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_g, __pyx_n_s_nodes); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 907, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); if (likely(PyList_CheckExact(__pyx_t_1)) || PyTuple_CheckExact(__pyx_t_1)) { __pyx_t_2 = __pyx_t_1; __Pyx_INCREF(__pyx_t_2); __pyx_t_7 = 0; __pyx_t_8 = NULL; } else { - __pyx_t_7 = -1; __pyx_t_2 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 899, __pyx_L1_error) + __pyx_t_7 = -1; __pyx_t_2 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 907, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); - __pyx_t_8 = Py_TYPE(__pyx_t_2)->tp_iternext; if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 899, __pyx_L1_error) + __pyx_t_8 = Py_TYPE(__pyx_t_2)->tp_iternext; if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 907, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; for (;;) { @@ -8790,17 +8792,17 @@ static PyObject *__pyx_pf_8gedlibpy_6GEDEnv_86add_nx_graph(struct __pyx_obj_8ged if (likely(PyList_CheckExact(__pyx_t_2))) { if (__pyx_t_7 >= PyList_GET_SIZE(__pyx_t_2)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS - __pyx_t_1 = PyList_GET_ITEM(__pyx_t_2, __pyx_t_7); __Pyx_INCREF(__pyx_t_1); __pyx_t_7++; if (unlikely(0 < 0)) __PYX_ERR(0, 899, __pyx_L1_error) + __pyx_t_1 = PyList_GET_ITEM(__pyx_t_2, __pyx_t_7); __Pyx_INCREF(__pyx_t_1); __pyx_t_7++; if (unlikely(0 < 0)) __PYX_ERR(0, 907, __pyx_L1_error) #else - __pyx_t_1 = PySequence_ITEM(__pyx_t_2, __pyx_t_7); __pyx_t_7++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 899, __pyx_L1_error) + __pyx_t_1 = PySequence_ITEM(__pyx_t_2, __pyx_t_7); __pyx_t_7++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 907, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); #endif } else { if (__pyx_t_7 >= PyTuple_GET_SIZE(__pyx_t_2)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS - __pyx_t_1 = PyTuple_GET_ITEM(__pyx_t_2, __pyx_t_7); __Pyx_INCREF(__pyx_t_1); __pyx_t_7++; if (unlikely(0 < 0)) __PYX_ERR(0, 899, __pyx_L1_error) + __pyx_t_1 = PyTuple_GET_ITEM(__pyx_t_2, __pyx_t_7); __Pyx_INCREF(__pyx_t_1); __pyx_t_7++; if (unlikely(0 < 0)) __PYX_ERR(0, 907, __pyx_L1_error) #else - __pyx_t_1 = PySequence_ITEM(__pyx_t_2, __pyx_t_7); __pyx_t_7++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 899, __pyx_L1_error) + __pyx_t_1 = PySequence_ITEM(__pyx_t_2, __pyx_t_7); __pyx_t_7++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 907, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); #endif } @@ -8810,7 +8812,7 @@ static PyObject *__pyx_pf_8gedlibpy_6GEDEnv_86add_nx_graph(struct __pyx_obj_8ged PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); - else __PYX_ERR(0, 899, __pyx_L1_error) + else __PYX_ERR(0, 907, __pyx_L1_error) } break; } @@ -8819,20 +8821,20 @@ static PyObject *__pyx_pf_8gedlibpy_6GEDEnv_86add_nx_graph(struct __pyx_obj_8ged __Pyx_XDECREF_SET(__pyx_v_node, __pyx_t_1); __pyx_t_1 = 0; - /* "gedlibpy.pyx":900 + /* "gedlibpy.pyx":908 * id = self.add_graph(g.name, classe) * for node in g.nodes: * self.add_node(id, str(node), g.nodes[node]) # <<<<<<<<<<<<<< * for edge in g.edges: * self.add_edge(id, str(edge[0]), str(edge[1]), g.get_edge_data(edge[0], edge[1]), ignore_duplicates) */ - __pyx_t_6 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_add_node); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 900, __pyx_L1_error) + __pyx_t_6 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_add_node); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 908, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); - __pyx_t_3 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_v_node); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 900, __pyx_L1_error) + __pyx_t_3 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_v_node); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 908, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); - __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_g, __pyx_n_s_nodes); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 900, __pyx_L1_error) + __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_g, __pyx_n_s_nodes); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 908, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); - __pyx_t_9 = __Pyx_PyObject_GetItem(__pyx_t_4, __pyx_v_node); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 900, __pyx_L1_error) + __pyx_t_9 = __Pyx_PyObject_GetItem(__pyx_t_4, __pyx_v_node); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 908, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __pyx_t_4 = NULL; @@ -8850,7 +8852,7 @@ static PyObject *__pyx_pf_8gedlibpy_6GEDEnv_86add_nx_graph(struct __pyx_obj_8ged #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_6)) { PyObject *__pyx_temp[4] = {__pyx_t_4, __pyx_v_id, __pyx_t_3, __pyx_t_9}; - __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_6, __pyx_temp+1-__pyx_t_5, 3+__pyx_t_5); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 900, __pyx_L1_error) + __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_6, __pyx_temp+1-__pyx_t_5, 3+__pyx_t_5); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 908, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; @@ -8860,7 +8862,7 @@ static PyObject *__pyx_pf_8gedlibpy_6GEDEnv_86add_nx_graph(struct __pyx_obj_8ged #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_6)) { PyObject *__pyx_temp[4] = {__pyx_t_4, __pyx_v_id, __pyx_t_3, __pyx_t_9}; - __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_6, __pyx_temp+1-__pyx_t_5, 3+__pyx_t_5); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 900, __pyx_L1_error) + __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_6, __pyx_temp+1-__pyx_t_5, 3+__pyx_t_5); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 908, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; @@ -8868,7 +8870,7 @@ static PyObject *__pyx_pf_8gedlibpy_6GEDEnv_86add_nx_graph(struct __pyx_obj_8ged } else #endif { - __pyx_t_10 = PyTuple_New(3+__pyx_t_5); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 900, __pyx_L1_error) + __pyx_t_10 = PyTuple_New(3+__pyx_t_5); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 908, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); if (__pyx_t_4) { __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_10, 0, __pyx_t_4); __pyx_t_4 = NULL; @@ -8882,14 +8884,14 @@ static PyObject *__pyx_pf_8gedlibpy_6GEDEnv_86add_nx_graph(struct __pyx_obj_8ged PyTuple_SET_ITEM(__pyx_t_10, 2+__pyx_t_5, __pyx_t_9); __pyx_t_3 = 0; __pyx_t_9 = 0; - __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_t_10, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 900, __pyx_L1_error) + __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_t_10, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 908, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; } __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - /* "gedlibpy.pyx":899 + /* "gedlibpy.pyx":907 * """ * id = self.add_graph(g.name, classe) * for node in g.nodes: # <<<<<<<<<<<<<< @@ -8899,22 +8901,22 @@ static PyObject *__pyx_pf_8gedlibpy_6GEDEnv_86add_nx_graph(struct __pyx_obj_8ged } __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "gedlibpy.pyx":901 + /* "gedlibpy.pyx":909 * for node in g.nodes: * self.add_node(id, str(node), g.nodes[node]) * for edge in g.edges: # <<<<<<<<<<<<<< * self.add_edge(id, str(edge[0]), str(edge[1]), g.get_edge_data(edge[0], edge[1]), ignore_duplicates) * return id */ - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_g, __pyx_n_s_edges); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 901, __pyx_L1_error) + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_g, __pyx_n_s_edges); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 909, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); if (likely(PyList_CheckExact(__pyx_t_2)) || PyTuple_CheckExact(__pyx_t_2)) { __pyx_t_1 = __pyx_t_2; __Pyx_INCREF(__pyx_t_1); __pyx_t_7 = 0; __pyx_t_8 = NULL; } else { - __pyx_t_7 = -1; __pyx_t_1 = PyObject_GetIter(__pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 901, __pyx_L1_error) + __pyx_t_7 = -1; __pyx_t_1 = PyObject_GetIter(__pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 909, __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, 901, __pyx_L1_error) + __pyx_t_8 = Py_TYPE(__pyx_t_1)->tp_iternext; if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 909, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; for (;;) { @@ -8922,17 +8924,17 @@ static PyObject *__pyx_pf_8gedlibpy_6GEDEnv_86add_nx_graph(struct __pyx_obj_8ged if (likely(PyList_CheckExact(__pyx_t_1))) { if (__pyx_t_7 >= PyList_GET_SIZE(__pyx_t_1)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS - __pyx_t_2 = PyList_GET_ITEM(__pyx_t_1, __pyx_t_7); __Pyx_INCREF(__pyx_t_2); __pyx_t_7++; if (unlikely(0 < 0)) __PYX_ERR(0, 901, __pyx_L1_error) + __pyx_t_2 = PyList_GET_ITEM(__pyx_t_1, __pyx_t_7); __Pyx_INCREF(__pyx_t_2); __pyx_t_7++; if (unlikely(0 < 0)) __PYX_ERR(0, 909, __pyx_L1_error) #else - __pyx_t_2 = PySequence_ITEM(__pyx_t_1, __pyx_t_7); __pyx_t_7++; if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 901, __pyx_L1_error) + __pyx_t_2 = PySequence_ITEM(__pyx_t_1, __pyx_t_7); __pyx_t_7++; if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 909, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); #endif } else { if (__pyx_t_7 >= PyTuple_GET_SIZE(__pyx_t_1)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS - __pyx_t_2 = PyTuple_GET_ITEM(__pyx_t_1, __pyx_t_7); __Pyx_INCREF(__pyx_t_2); __pyx_t_7++; if (unlikely(0 < 0)) __PYX_ERR(0, 901, __pyx_L1_error) + __pyx_t_2 = PyTuple_GET_ITEM(__pyx_t_1, __pyx_t_7); __Pyx_INCREF(__pyx_t_2); __pyx_t_7++; if (unlikely(0 < 0)) __PYX_ERR(0, 909, __pyx_L1_error) #else - __pyx_t_2 = PySequence_ITEM(__pyx_t_1, __pyx_t_7); __pyx_t_7++; if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 901, __pyx_L1_error) + __pyx_t_2 = PySequence_ITEM(__pyx_t_1, __pyx_t_7); __pyx_t_7++; if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 909, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); #endif } @@ -8942,7 +8944,7 @@ static PyObject *__pyx_pf_8gedlibpy_6GEDEnv_86add_nx_graph(struct __pyx_obj_8ged PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); - else __PYX_ERR(0, 901, __pyx_L1_error) + else __PYX_ERR(0, 909, __pyx_L1_error) } break; } @@ -8951,30 +8953,30 @@ static PyObject *__pyx_pf_8gedlibpy_6GEDEnv_86add_nx_graph(struct __pyx_obj_8ged __Pyx_XDECREF_SET(__pyx_v_edge, __pyx_t_2); __pyx_t_2 = 0; - /* "gedlibpy.pyx":902 + /* "gedlibpy.pyx":910 * self.add_node(id, str(node), g.nodes[node]) * for edge in g.edges: * self.add_edge(id, str(edge[0]), str(edge[1]), g.get_edge_data(edge[0], edge[1]), ignore_duplicates) # <<<<<<<<<<<<<< * return id * */ - __pyx_t_6 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_add_edge); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 902, __pyx_L1_error) + __pyx_t_6 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_add_edge); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 910, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); - __pyx_t_10 = __Pyx_GetItemInt(__pyx_v_edge, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 902, __pyx_L1_error) + __pyx_t_10 = __Pyx_GetItemInt(__pyx_v_edge, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 910, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); - __pyx_t_9 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 902, __pyx_L1_error) + __pyx_t_9 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_10); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 910, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - __pyx_t_10 = __Pyx_GetItemInt(__pyx_v_edge, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 902, __pyx_L1_error) + __pyx_t_10 = __Pyx_GetItemInt(__pyx_v_edge, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 910, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); - __pyx_t_3 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_10); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 902, __pyx_L1_error) + __pyx_t_3 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_10); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 910, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; - __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_g, __pyx_n_s_get_edge_data); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 902, __pyx_L1_error) + __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_g, __pyx_n_s_get_edge_data); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 910, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); - __pyx_t_11 = __Pyx_GetItemInt(__pyx_v_edge, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 902, __pyx_L1_error) + __pyx_t_11 = __Pyx_GetItemInt(__pyx_v_edge, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 910, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); - __pyx_t_12 = __Pyx_GetItemInt(__pyx_v_edge, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 902, __pyx_L1_error) + __pyx_t_12 = __Pyx_GetItemInt(__pyx_v_edge, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 910, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); __pyx_t_13 = NULL; __pyx_t_5 = 0; @@ -8991,7 +8993,7 @@ static PyObject *__pyx_pf_8gedlibpy_6GEDEnv_86add_nx_graph(struct __pyx_obj_8ged #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_4)) { PyObject *__pyx_temp[3] = {__pyx_t_13, __pyx_t_11, __pyx_t_12}; - __pyx_t_10 = __Pyx_PyFunction_FastCall(__pyx_t_4, __pyx_temp+1-__pyx_t_5, 2+__pyx_t_5); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 902, __pyx_L1_error) + __pyx_t_10 = __Pyx_PyFunction_FastCall(__pyx_t_4, __pyx_temp+1-__pyx_t_5, 2+__pyx_t_5); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 910, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0; __Pyx_GOTREF(__pyx_t_10); __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; @@ -9001,7 +9003,7 @@ static PyObject *__pyx_pf_8gedlibpy_6GEDEnv_86add_nx_graph(struct __pyx_obj_8ged #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_4)) { PyObject *__pyx_temp[3] = {__pyx_t_13, __pyx_t_11, __pyx_t_12}; - __pyx_t_10 = __Pyx_PyCFunction_FastCall(__pyx_t_4, __pyx_temp+1-__pyx_t_5, 2+__pyx_t_5); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 902, __pyx_L1_error) + __pyx_t_10 = __Pyx_PyCFunction_FastCall(__pyx_t_4, __pyx_temp+1-__pyx_t_5, 2+__pyx_t_5); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 910, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_13); __pyx_t_13 = 0; __Pyx_GOTREF(__pyx_t_10); __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; @@ -9009,7 +9011,7 @@ static PyObject *__pyx_pf_8gedlibpy_6GEDEnv_86add_nx_graph(struct __pyx_obj_8ged } else #endif { - __pyx_t_14 = PyTuple_New(2+__pyx_t_5); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 902, __pyx_L1_error) + __pyx_t_14 = PyTuple_New(2+__pyx_t_5); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 910, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_14); if (__pyx_t_13) { __Pyx_GIVEREF(__pyx_t_13); PyTuple_SET_ITEM(__pyx_t_14, 0, __pyx_t_13); __pyx_t_13 = NULL; @@ -9020,7 +9022,7 @@ static PyObject *__pyx_pf_8gedlibpy_6GEDEnv_86add_nx_graph(struct __pyx_obj_8ged PyTuple_SET_ITEM(__pyx_t_14, 1+__pyx_t_5, __pyx_t_12); __pyx_t_11 = 0; __pyx_t_12 = 0; - __pyx_t_10 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_14, NULL); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 902, __pyx_L1_error) + __pyx_t_10 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_14, NULL); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 910, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; } @@ -9040,7 +9042,7 @@ static PyObject *__pyx_pf_8gedlibpy_6GEDEnv_86add_nx_graph(struct __pyx_obj_8ged #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_6)) { PyObject *__pyx_temp[6] = {__pyx_t_4, __pyx_v_id, __pyx_t_9, __pyx_t_3, __pyx_t_10, __pyx_v_ignore_duplicates}; - __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_6, __pyx_temp+1-__pyx_t_5, 5+__pyx_t_5); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 902, __pyx_L1_error) + __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_6, __pyx_temp+1-__pyx_t_5, 5+__pyx_t_5); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 910, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; @@ -9051,7 +9053,7 @@ static PyObject *__pyx_pf_8gedlibpy_6GEDEnv_86add_nx_graph(struct __pyx_obj_8ged #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_6)) { PyObject *__pyx_temp[6] = {__pyx_t_4, __pyx_v_id, __pyx_t_9, __pyx_t_3, __pyx_t_10, __pyx_v_ignore_duplicates}; - __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_6, __pyx_temp+1-__pyx_t_5, 5+__pyx_t_5); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 902, __pyx_L1_error) + __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_6, __pyx_temp+1-__pyx_t_5, 5+__pyx_t_5); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 910, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; @@ -9060,7 +9062,7 @@ static PyObject *__pyx_pf_8gedlibpy_6GEDEnv_86add_nx_graph(struct __pyx_obj_8ged } else #endif { - __pyx_t_14 = PyTuple_New(5+__pyx_t_5); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 902, __pyx_L1_error) + __pyx_t_14 = PyTuple_New(5+__pyx_t_5); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 910, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_14); if (__pyx_t_4) { __Pyx_GIVEREF(__pyx_t_4); PyTuple_SET_ITEM(__pyx_t_14, 0, __pyx_t_4); __pyx_t_4 = NULL; @@ -9080,14 +9082,14 @@ static PyObject *__pyx_pf_8gedlibpy_6GEDEnv_86add_nx_graph(struct __pyx_obj_8ged __pyx_t_9 = 0; __pyx_t_3 = 0; __pyx_t_10 = 0; - __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_t_14, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 902, __pyx_L1_error) + __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_t_14, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 910, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_14); __pyx_t_14 = 0; } __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "gedlibpy.pyx":901 + /* "gedlibpy.pyx":909 * for node in g.nodes: * self.add_node(id, str(node), g.nodes[node]) * for edge in g.edges: # <<<<<<<<<<<<<< @@ -9097,7 +9099,7 @@ static PyObject *__pyx_pf_8gedlibpy_6GEDEnv_86add_nx_graph(struct __pyx_obj_8ged } __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - /* "gedlibpy.pyx":903 + /* "gedlibpy.pyx":911 * for edge in g.edges: * self.add_edge(id, str(edge[0]), str(edge[1]), g.get_edge_data(edge[0], edge[1]), ignore_duplicates) * return id # <<<<<<<<<<<<<< @@ -9109,7 +9111,7 @@ static PyObject *__pyx_pf_8gedlibpy_6GEDEnv_86add_nx_graph(struct __pyx_obj_8ged __pyx_r = __pyx_v_id; goto __pyx_L0; - /* "gedlibpy.pyx":884 + /* "gedlibpy.pyx":892 * * * def add_nx_graph(self, g, classe, ignore_duplicates=True) : # <<<<<<<<<<<<<< @@ -9141,7 +9143,7 @@ static PyObject *__pyx_pf_8gedlibpy_6GEDEnv_86add_nx_graph(struct __pyx_obj_8ged return __pyx_r; } -/* "gedlibpy.pyx":906 +/* "gedlibpy.pyx":914 * * * def compute_ged_on_two_graphs(self, g1, g2, edit_cost, method, options, init_option="EAGER_WITHOUT_SHUFFLED_COPIES") : # <<<<<<<<<<<<<< @@ -9194,25 +9196,25 @@ static PyObject *__pyx_pw_8gedlibpy_6GEDEnv_89compute_ged_on_two_graphs(PyObject case 1: if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_g2)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("compute_ged_on_two_graphs", 0, 5, 6, 1); __PYX_ERR(0, 906, __pyx_L3_error) + __Pyx_RaiseArgtupleInvalid("compute_ged_on_two_graphs", 0, 5, 6, 1); __PYX_ERR(0, 914, __pyx_L3_error) } CYTHON_FALLTHROUGH; case 2: if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_edit_cost)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("compute_ged_on_two_graphs", 0, 5, 6, 2); __PYX_ERR(0, 906, __pyx_L3_error) + __Pyx_RaiseArgtupleInvalid("compute_ged_on_two_graphs", 0, 5, 6, 2); __PYX_ERR(0, 914, __pyx_L3_error) } CYTHON_FALLTHROUGH; case 3: if (likely((values[3] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_method)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("compute_ged_on_two_graphs", 0, 5, 6, 3); __PYX_ERR(0, 906, __pyx_L3_error) + __Pyx_RaiseArgtupleInvalid("compute_ged_on_two_graphs", 0, 5, 6, 3); __PYX_ERR(0, 914, __pyx_L3_error) } CYTHON_FALLTHROUGH; case 4: if (likely((values[4] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_options)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("compute_ged_on_two_graphs", 0, 5, 6, 4); __PYX_ERR(0, 906, __pyx_L3_error) + __Pyx_RaiseArgtupleInvalid("compute_ged_on_two_graphs", 0, 5, 6, 4); __PYX_ERR(0, 914, __pyx_L3_error) } CYTHON_FALLTHROUGH; case 5: @@ -9222,7 +9224,7 @@ static PyObject *__pyx_pw_8gedlibpy_6GEDEnv_89compute_ged_on_two_graphs(PyObject } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "compute_ged_on_two_graphs") < 0)) __PYX_ERR(0, 906, __pyx_L3_error) + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "compute_ged_on_two_graphs") < 0)) __PYX_ERR(0, 914, __pyx_L3_error) } } else { switch (PyTuple_GET_SIZE(__pyx_args)) { @@ -9246,7 +9248,7 @@ static PyObject *__pyx_pw_8gedlibpy_6GEDEnv_89compute_ged_on_two_graphs(PyObject } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("compute_ged_on_two_graphs", 0, 5, 6, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 906, __pyx_L3_error) + __Pyx_RaiseArgtupleInvalid("compute_ged_on_two_graphs", 0, 5, 6, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 914, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("gedlibpy.GEDEnv.compute_ged_on_two_graphs", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); @@ -9274,14 +9276,14 @@ static PyObject *__pyx_pf_8gedlibpy_6GEDEnv_88compute_ged_on_two_graphs(struct _ PyObject *__pyx_t_6 = NULL; __Pyx_RefNannySetupContext("compute_ged_on_two_graphs", 0); - /* "gedlibpy.pyx":929 + /* "gedlibpy.pyx":937 * * """ * if self.is_initialized() : # <<<<<<<<<<<<<< * self.restart_env() * */ - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_is_initialized); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 929, __pyx_L1_error) + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_is_initialized); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 937, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_3 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { @@ -9295,21 +9297,21 @@ static PyObject *__pyx_pf_8gedlibpy_6GEDEnv_88compute_ged_on_two_graphs(struct _ } __pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_2); __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 929, __pyx_L1_error) + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 937, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_4 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_4 < 0)) __PYX_ERR(0, 929, __pyx_L1_error) + __pyx_t_4 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_4 < 0)) __PYX_ERR(0, 937, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (__pyx_t_4) { - /* "gedlibpy.pyx":930 + /* "gedlibpy.pyx":938 * """ * if self.is_initialized() : * self.restart_env() # <<<<<<<<<<<<<< * * g = self.add_nx_graph(g1, "") */ - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_restart_env); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 930, __pyx_L1_error) + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_restart_env); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 938, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_3 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { @@ -9323,12 +9325,12 @@ static PyObject *__pyx_pf_8gedlibpy_6GEDEnv_88compute_ged_on_two_graphs(struct _ } __pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_2); __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 930, __pyx_L1_error) + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 938, __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; - /* "gedlibpy.pyx":929 + /* "gedlibpy.pyx":937 * * """ * if self.is_initialized() : # <<<<<<<<<<<<<< @@ -9337,14 +9339,14 @@ static PyObject *__pyx_pf_8gedlibpy_6GEDEnv_88compute_ged_on_two_graphs(struct _ */ } - /* "gedlibpy.pyx":932 + /* "gedlibpy.pyx":940 * self.restart_env() * * g = self.add_nx_graph(g1, "") # <<<<<<<<<<<<<< * h = self.add_nx_graph(g2, "") * */ - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_add_nx_graph); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 932, __pyx_L1_error) + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_add_nx_graph); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 940, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_3 = NULL; __pyx_t_5 = 0; @@ -9361,7 +9363,7 @@ static PyObject *__pyx_pf_8gedlibpy_6GEDEnv_88compute_ged_on_two_graphs(struct _ #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_2)) { PyObject *__pyx_temp[3] = {__pyx_t_3, __pyx_v_g1, __pyx_kp_u_}; - __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_5, 2+__pyx_t_5); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 932, __pyx_L1_error) + __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_5, 2+__pyx_t_5); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 940, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_GOTREF(__pyx_t_1); } else @@ -9369,13 +9371,13 @@ static PyObject *__pyx_pf_8gedlibpy_6GEDEnv_88compute_ged_on_two_graphs(struct _ #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_2)) { PyObject *__pyx_temp[3] = {__pyx_t_3, __pyx_v_g1, __pyx_kp_u_}; - __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_5, 2+__pyx_t_5); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 932, __pyx_L1_error) + __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_5, 2+__pyx_t_5); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 940, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_GOTREF(__pyx_t_1); } else #endif { - __pyx_t_6 = PyTuple_New(2+__pyx_t_5); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 932, __pyx_L1_error) + __pyx_t_6 = PyTuple_New(2+__pyx_t_5); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 940, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); if (__pyx_t_3) { __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_3); __pyx_t_3 = NULL; @@ -9386,7 +9388,7 @@ static PyObject *__pyx_pf_8gedlibpy_6GEDEnv_88compute_ged_on_two_graphs(struct _ __Pyx_INCREF(__pyx_kp_u_); __Pyx_GIVEREF(__pyx_kp_u_); PyTuple_SET_ITEM(__pyx_t_6, 1+__pyx_t_5, __pyx_kp_u_); - __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_6, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 932, __pyx_L1_error) + __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_6, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 940, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; } @@ -9394,14 +9396,14 @@ static PyObject *__pyx_pf_8gedlibpy_6GEDEnv_88compute_ged_on_two_graphs(struct _ __pyx_v_g = __pyx_t_1; __pyx_t_1 = 0; - /* "gedlibpy.pyx":933 + /* "gedlibpy.pyx":941 * * g = self.add_nx_graph(g1, "") * h = self.add_nx_graph(g2, "") # <<<<<<<<<<<<<< * * self.set_edit_cost(edit_cost) */ - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_add_nx_graph); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 933, __pyx_L1_error) + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_add_nx_graph); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 941, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_6 = NULL; __pyx_t_5 = 0; @@ -9418,7 +9420,7 @@ static PyObject *__pyx_pf_8gedlibpy_6GEDEnv_88compute_ged_on_two_graphs(struct _ #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_2)) { PyObject *__pyx_temp[3] = {__pyx_t_6, __pyx_v_g2, __pyx_kp_u_}; - __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_5, 2+__pyx_t_5); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 933, __pyx_L1_error) + __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_5, 2+__pyx_t_5); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 941, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_GOTREF(__pyx_t_1); } else @@ -9426,13 +9428,13 @@ static PyObject *__pyx_pf_8gedlibpy_6GEDEnv_88compute_ged_on_two_graphs(struct _ #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_2)) { PyObject *__pyx_temp[3] = {__pyx_t_6, __pyx_v_g2, __pyx_kp_u_}; - __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_5, 2+__pyx_t_5); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 933, __pyx_L1_error) + __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_5, 2+__pyx_t_5); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 941, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_GOTREF(__pyx_t_1); } else #endif { - __pyx_t_3 = PyTuple_New(2+__pyx_t_5); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 933, __pyx_L1_error) + __pyx_t_3 = PyTuple_New(2+__pyx_t_5); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 941, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); if (__pyx_t_6) { __Pyx_GIVEREF(__pyx_t_6); PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_6); __pyx_t_6 = NULL; @@ -9443,7 +9445,7 @@ static PyObject *__pyx_pf_8gedlibpy_6GEDEnv_88compute_ged_on_two_graphs(struct _ __Pyx_INCREF(__pyx_kp_u_); __Pyx_GIVEREF(__pyx_kp_u_); PyTuple_SET_ITEM(__pyx_t_3, 1+__pyx_t_5, __pyx_kp_u_); - __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_3, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 933, __pyx_L1_error) + __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_3, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 941, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; } @@ -9451,14 +9453,14 @@ static PyObject *__pyx_pf_8gedlibpy_6GEDEnv_88compute_ged_on_two_graphs(struct _ __pyx_v_h = __pyx_t_1; __pyx_t_1 = 0; - /* "gedlibpy.pyx":935 + /* "gedlibpy.pyx":943 * h = self.add_nx_graph(g2, "") * * self.set_edit_cost(edit_cost) # <<<<<<<<<<<<<< * self.init(init_option) * */ - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_set_edit_cost); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 935, __pyx_L1_error) + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_set_edit_cost); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 943, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_3 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { @@ -9472,19 +9474,19 @@ static PyObject *__pyx_pf_8gedlibpy_6GEDEnv_88compute_ged_on_two_graphs(struct _ } __pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_3, __pyx_v_edit_cost) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_v_edit_cost); __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 935, __pyx_L1_error) + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 943, __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; - /* "gedlibpy.pyx":936 + /* "gedlibpy.pyx":944 * * self.set_edit_cost(edit_cost) * self.init(init_option) # <<<<<<<<<<<<<< * * self.set_method(method, options) */ - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_init); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 936, __pyx_L1_error) + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_init); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 944, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_3 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { @@ -9498,19 +9500,19 @@ static PyObject *__pyx_pf_8gedlibpy_6GEDEnv_88compute_ged_on_two_graphs(struct _ } __pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_3, __pyx_v_init_option) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_v_init_option); __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 936, __pyx_L1_error) + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 944, __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; - /* "gedlibpy.pyx":938 + /* "gedlibpy.pyx":946 * self.init(init_option) * * self.set_method(method, options) # <<<<<<<<<<<<<< * self.init_method() * */ - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_set_method); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 938, __pyx_L1_error) + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_set_method); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 946, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_3 = NULL; __pyx_t_5 = 0; @@ -9527,7 +9529,7 @@ static PyObject *__pyx_pf_8gedlibpy_6GEDEnv_88compute_ged_on_two_graphs(struct _ #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_2)) { PyObject *__pyx_temp[3] = {__pyx_t_3, __pyx_v_method, __pyx_v_options}; - __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_5, 2+__pyx_t_5); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 938, __pyx_L1_error) + __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_5, 2+__pyx_t_5); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 946, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_GOTREF(__pyx_t_1); } else @@ -9535,13 +9537,13 @@ static PyObject *__pyx_pf_8gedlibpy_6GEDEnv_88compute_ged_on_two_graphs(struct _ #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_2)) { PyObject *__pyx_temp[3] = {__pyx_t_3, __pyx_v_method, __pyx_v_options}; - __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_5, 2+__pyx_t_5); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 938, __pyx_L1_error) + __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_5, 2+__pyx_t_5); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 946, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_GOTREF(__pyx_t_1); } else #endif { - __pyx_t_6 = PyTuple_New(2+__pyx_t_5); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 938, __pyx_L1_error) + __pyx_t_6 = PyTuple_New(2+__pyx_t_5); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 946, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); if (__pyx_t_3) { __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_3); __pyx_t_3 = NULL; @@ -9552,21 +9554,21 @@ static PyObject *__pyx_pf_8gedlibpy_6GEDEnv_88compute_ged_on_two_graphs(struct _ __Pyx_INCREF(__pyx_v_options); __Pyx_GIVEREF(__pyx_v_options); PyTuple_SET_ITEM(__pyx_t_6, 1+__pyx_t_5, __pyx_v_options); - __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_6, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 938, __pyx_L1_error) + __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_6, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 946, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; } __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - /* "gedlibpy.pyx":939 + /* "gedlibpy.pyx":947 * * self.set_method(method, options) * self.init_method() # <<<<<<<<<<<<<< * * resDistance = 0 */ - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_init_method); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 939, __pyx_L1_error) + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_init_method); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 947, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_6 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { @@ -9580,12 +9582,12 @@ static PyObject *__pyx_pf_8gedlibpy_6GEDEnv_88compute_ged_on_two_graphs(struct _ } __pyx_t_1 = (__pyx_t_6) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_6) : __Pyx_PyObject_CallNoArg(__pyx_t_2); __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 939, __pyx_L1_error) + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 947, __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; - /* "gedlibpy.pyx":941 + /* "gedlibpy.pyx":949 * self.init_method() * * resDistance = 0 # <<<<<<<<<<<<<< @@ -9595,26 +9597,26 @@ static PyObject *__pyx_pf_8gedlibpy_6GEDEnv_88compute_ged_on_two_graphs(struct _ __Pyx_INCREF(__pyx_int_0); __pyx_v_resDistance = __pyx_int_0; - /* "gedlibpy.pyx":942 + /* "gedlibpy.pyx":950 * * resDistance = 0 * resMapping = [] # <<<<<<<<<<<<<< * self.run_method(g, h) * resDistance = self.get_upper_bound(g, h) */ - __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 942, __pyx_L1_error) + __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 950, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_v_resMapping = __pyx_t_1; __pyx_t_1 = 0; - /* "gedlibpy.pyx":943 + /* "gedlibpy.pyx":951 * resDistance = 0 * resMapping = [] * self.run_method(g, h) # <<<<<<<<<<<<<< * resDistance = self.get_upper_bound(g, h) * resMapping = self.get_node_map(g, h) */ - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_run_method); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 943, __pyx_L1_error) + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_run_method); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 951, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_6 = NULL; __pyx_t_5 = 0; @@ -9631,7 +9633,7 @@ static PyObject *__pyx_pf_8gedlibpy_6GEDEnv_88compute_ged_on_two_graphs(struct _ #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_2)) { PyObject *__pyx_temp[3] = {__pyx_t_6, __pyx_v_g, __pyx_v_h}; - __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_5, 2+__pyx_t_5); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 943, __pyx_L1_error) + __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_5, 2+__pyx_t_5); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 951, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_GOTREF(__pyx_t_1); } else @@ -9639,13 +9641,13 @@ static PyObject *__pyx_pf_8gedlibpy_6GEDEnv_88compute_ged_on_two_graphs(struct _ #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_2)) { PyObject *__pyx_temp[3] = {__pyx_t_6, __pyx_v_g, __pyx_v_h}; - __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_5, 2+__pyx_t_5); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 943, __pyx_L1_error) + __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_5, 2+__pyx_t_5); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 951, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_GOTREF(__pyx_t_1); } else #endif { - __pyx_t_3 = PyTuple_New(2+__pyx_t_5); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 943, __pyx_L1_error) + __pyx_t_3 = PyTuple_New(2+__pyx_t_5); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 951, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); if (__pyx_t_6) { __Pyx_GIVEREF(__pyx_t_6); PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_6); __pyx_t_6 = NULL; @@ -9656,21 +9658,21 @@ static PyObject *__pyx_pf_8gedlibpy_6GEDEnv_88compute_ged_on_two_graphs(struct _ __Pyx_INCREF(__pyx_v_h); __Pyx_GIVEREF(__pyx_v_h); PyTuple_SET_ITEM(__pyx_t_3, 1+__pyx_t_5, __pyx_v_h); - __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_3, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 943, __pyx_L1_error) + __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_3, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 951, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; } __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - /* "gedlibpy.pyx":944 + /* "gedlibpy.pyx":952 * resMapping = [] * self.run_method(g, h) * resDistance = self.get_upper_bound(g, h) # <<<<<<<<<<<<<< * resMapping = self.get_node_map(g, h) * */ - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_get_upper_bound); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 944, __pyx_L1_error) + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_get_upper_bound); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 952, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_3 = NULL; __pyx_t_5 = 0; @@ -9687,7 +9689,7 @@ static PyObject *__pyx_pf_8gedlibpy_6GEDEnv_88compute_ged_on_two_graphs(struct _ #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_2)) { PyObject *__pyx_temp[3] = {__pyx_t_3, __pyx_v_g, __pyx_v_h}; - __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_5, 2+__pyx_t_5); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 944, __pyx_L1_error) + __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_5, 2+__pyx_t_5); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 952, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_GOTREF(__pyx_t_1); } else @@ -9695,13 +9697,13 @@ static PyObject *__pyx_pf_8gedlibpy_6GEDEnv_88compute_ged_on_two_graphs(struct _ #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_2)) { PyObject *__pyx_temp[3] = {__pyx_t_3, __pyx_v_g, __pyx_v_h}; - __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_5, 2+__pyx_t_5); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 944, __pyx_L1_error) + __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_5, 2+__pyx_t_5); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 952, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_GOTREF(__pyx_t_1); } else #endif { - __pyx_t_6 = PyTuple_New(2+__pyx_t_5); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 944, __pyx_L1_error) + __pyx_t_6 = PyTuple_New(2+__pyx_t_5); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 952, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); if (__pyx_t_3) { __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_3); __pyx_t_3 = NULL; @@ -9712,7 +9714,7 @@ static PyObject *__pyx_pf_8gedlibpy_6GEDEnv_88compute_ged_on_two_graphs(struct _ __Pyx_INCREF(__pyx_v_h); __Pyx_GIVEREF(__pyx_v_h); PyTuple_SET_ITEM(__pyx_t_6, 1+__pyx_t_5, __pyx_v_h); - __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_6, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 944, __pyx_L1_error) + __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_6, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 952, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; } @@ -9720,14 +9722,14 @@ static PyObject *__pyx_pf_8gedlibpy_6GEDEnv_88compute_ged_on_two_graphs(struct _ __Pyx_DECREF_SET(__pyx_v_resDistance, __pyx_t_1); __pyx_t_1 = 0; - /* "gedlibpy.pyx":945 + /* "gedlibpy.pyx":953 * self.run_method(g, h) * resDistance = self.get_upper_bound(g, h) * resMapping = self.get_node_map(g, h) # <<<<<<<<<<<<<< * * return resDistance, resMapping */ - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_get_node_map); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 945, __pyx_L1_error) + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_get_node_map); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 953, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_6 = NULL; __pyx_t_5 = 0; @@ -9744,7 +9746,7 @@ static PyObject *__pyx_pf_8gedlibpy_6GEDEnv_88compute_ged_on_two_graphs(struct _ #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_2)) { PyObject *__pyx_temp[3] = {__pyx_t_6, __pyx_v_g, __pyx_v_h}; - __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_5, 2+__pyx_t_5); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 945, __pyx_L1_error) + __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_5, 2+__pyx_t_5); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 953, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_GOTREF(__pyx_t_1); } else @@ -9752,13 +9754,13 @@ static PyObject *__pyx_pf_8gedlibpy_6GEDEnv_88compute_ged_on_two_graphs(struct _ #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_2)) { PyObject *__pyx_temp[3] = {__pyx_t_6, __pyx_v_g, __pyx_v_h}; - __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_5, 2+__pyx_t_5); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 945, __pyx_L1_error) + __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_5, 2+__pyx_t_5); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 953, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_GOTREF(__pyx_t_1); } else #endif { - __pyx_t_3 = PyTuple_New(2+__pyx_t_5); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 945, __pyx_L1_error) + __pyx_t_3 = PyTuple_New(2+__pyx_t_5); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 953, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); if (__pyx_t_6) { __Pyx_GIVEREF(__pyx_t_6); PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_6); __pyx_t_6 = NULL; @@ -9769,7 +9771,7 @@ static PyObject *__pyx_pf_8gedlibpy_6GEDEnv_88compute_ged_on_two_graphs(struct _ __Pyx_INCREF(__pyx_v_h); __Pyx_GIVEREF(__pyx_v_h); PyTuple_SET_ITEM(__pyx_t_3, 1+__pyx_t_5, __pyx_v_h); - __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_3, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 945, __pyx_L1_error) + __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_3, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 953, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; } @@ -9777,7 +9779,7 @@ static PyObject *__pyx_pf_8gedlibpy_6GEDEnv_88compute_ged_on_two_graphs(struct _ __Pyx_DECREF_SET(__pyx_v_resMapping, __pyx_t_1); __pyx_t_1 = 0; - /* "gedlibpy.pyx":947 + /* "gedlibpy.pyx":955 * resMapping = self.get_node_map(g, h) * * return resDistance, resMapping # <<<<<<<<<<<<<< @@ -9785,7 +9787,7 @@ static PyObject *__pyx_pf_8gedlibpy_6GEDEnv_88compute_ged_on_two_graphs(struct _ * */ __Pyx_XDECREF(__pyx_r); - __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 947, __pyx_L1_error) + __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 955, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_INCREF(__pyx_v_resDistance); __Pyx_GIVEREF(__pyx_v_resDistance); @@ -9797,7 +9799,7 @@ static PyObject *__pyx_pf_8gedlibpy_6GEDEnv_88compute_ged_on_two_graphs(struct _ __pyx_t_1 = 0; goto __pyx_L0; - /* "gedlibpy.pyx":906 + /* "gedlibpy.pyx":914 * * * def compute_ged_on_two_graphs(self, g1, g2, edit_cost, method, options, init_option="EAGER_WITHOUT_SHUFFLED_COPIES") : # <<<<<<<<<<<<<< @@ -9823,7 +9825,7 @@ static PyObject *__pyx_pf_8gedlibpy_6GEDEnv_88compute_ged_on_two_graphs(struct _ return __pyx_r; } -/* "gedlibpy.pyx":950 +/* "gedlibpy.pyx":958 * * * def compute_edit_distance_on_nx_graphs(self, dataset, classes, edit_cost, method, options, init_option="EAGER_WITHOUT_SHUFFLED_COPIES") : # <<<<<<<<<<<<<< @@ -9876,25 +9878,25 @@ static PyObject *__pyx_pw_8gedlibpy_6GEDEnv_91compute_edit_distance_on_nx_graphs case 1: if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_classes)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("compute_edit_distance_on_nx_graphs", 0, 5, 6, 1); __PYX_ERR(0, 950, __pyx_L3_error) + __Pyx_RaiseArgtupleInvalid("compute_edit_distance_on_nx_graphs", 0, 5, 6, 1); __PYX_ERR(0, 958, __pyx_L3_error) } CYTHON_FALLTHROUGH; case 2: if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_edit_cost)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("compute_edit_distance_on_nx_graphs", 0, 5, 6, 2); __PYX_ERR(0, 950, __pyx_L3_error) + __Pyx_RaiseArgtupleInvalid("compute_edit_distance_on_nx_graphs", 0, 5, 6, 2); __PYX_ERR(0, 958, __pyx_L3_error) } CYTHON_FALLTHROUGH; case 3: if (likely((values[3] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_method)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("compute_edit_distance_on_nx_graphs", 0, 5, 6, 3); __PYX_ERR(0, 950, __pyx_L3_error) + __Pyx_RaiseArgtupleInvalid("compute_edit_distance_on_nx_graphs", 0, 5, 6, 3); __PYX_ERR(0, 958, __pyx_L3_error) } CYTHON_FALLTHROUGH; case 4: if (likely((values[4] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_options)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("compute_edit_distance_on_nx_graphs", 0, 5, 6, 4); __PYX_ERR(0, 950, __pyx_L3_error) + __Pyx_RaiseArgtupleInvalid("compute_edit_distance_on_nx_graphs", 0, 5, 6, 4); __PYX_ERR(0, 958, __pyx_L3_error) } CYTHON_FALLTHROUGH; case 5: @@ -9904,7 +9906,7 @@ static PyObject *__pyx_pw_8gedlibpy_6GEDEnv_91compute_edit_distance_on_nx_graphs } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "compute_edit_distance_on_nx_graphs") < 0)) __PYX_ERR(0, 950, __pyx_L3_error) + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "compute_edit_distance_on_nx_graphs") < 0)) __PYX_ERR(0, 958, __pyx_L3_error) } } else { switch (PyTuple_GET_SIZE(__pyx_args)) { @@ -9928,7 +9930,7 @@ static PyObject *__pyx_pw_8gedlibpy_6GEDEnv_91compute_edit_distance_on_nx_graphs } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("compute_edit_distance_on_nx_graphs", 0, 5, 6, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 950, __pyx_L3_error) + __Pyx_RaiseArgtupleInvalid("compute_edit_distance_on_nx_graphs", 0, 5, 6, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 958, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("gedlibpy.GEDEnv.compute_edit_distance_on_nx_graphs", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); @@ -9964,14 +9966,14 @@ static PyObject *__pyx_pf_8gedlibpy_6GEDEnv_90compute_edit_distance_on_nx_graphs PyObject *__pyx_t_12 = NULL; __Pyx_RefNannySetupContext("compute_edit_distance_on_nx_graphs", 0); - /* "gedlibpy.pyx":974 + /* "gedlibpy.pyx":982 * * """ * if self.is_initialized() : # <<<<<<<<<<<<<< * self.restart_env() * */ - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_is_initialized); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 974, __pyx_L1_error) + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_is_initialized); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 982, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_3 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { @@ -9985,21 +9987,21 @@ static PyObject *__pyx_pf_8gedlibpy_6GEDEnv_90compute_edit_distance_on_nx_graphs } __pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_2); __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 974, __pyx_L1_error) + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 982, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_4 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_4 < 0)) __PYX_ERR(0, 974, __pyx_L1_error) + __pyx_t_4 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_4 < 0)) __PYX_ERR(0, 982, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (__pyx_t_4) { - /* "gedlibpy.pyx":975 + /* "gedlibpy.pyx":983 * """ * if self.is_initialized() : * self.restart_env() # <<<<<<<<<<<<<< * * print("Loading graphs in progress...") */ - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_restart_env); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 975, __pyx_L1_error) + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_restart_env); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 983, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_3 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { @@ -10013,12 +10015,12 @@ static PyObject *__pyx_pf_8gedlibpy_6GEDEnv_90compute_edit_distance_on_nx_graphs } __pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_2); __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 975, __pyx_L1_error) + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 983, __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; - /* "gedlibpy.pyx":974 + /* "gedlibpy.pyx":982 * * """ * if self.is_initialized() : # <<<<<<<<<<<<<< @@ -10027,18 +10029,18 @@ static PyObject *__pyx_pf_8gedlibpy_6GEDEnv_90compute_edit_distance_on_nx_graphs */ } - /* "gedlibpy.pyx":977 + /* "gedlibpy.pyx":985 * self.restart_env() * * print("Loading graphs in progress...") # <<<<<<<<<<<<<< * for graph in dataset : * self.add_nx_graph(graph, classes) */ - __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_print, __pyx_tuple__4, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 977, __pyx_L1_error) + __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_print, __pyx_tuple__4, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 985, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - /* "gedlibpy.pyx":978 + /* "gedlibpy.pyx":986 * * print("Loading graphs in progress...") * for graph in dataset : # <<<<<<<<<<<<<< @@ -10049,26 +10051,26 @@ static PyObject *__pyx_pf_8gedlibpy_6GEDEnv_90compute_edit_distance_on_nx_graphs __pyx_t_1 = __pyx_v_dataset; __Pyx_INCREF(__pyx_t_1); __pyx_t_5 = 0; __pyx_t_6 = NULL; } else { - __pyx_t_5 = -1; __pyx_t_1 = PyObject_GetIter(__pyx_v_dataset); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 978, __pyx_L1_error) + __pyx_t_5 = -1; __pyx_t_1 = PyObject_GetIter(__pyx_v_dataset); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 986, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); - __pyx_t_6 = Py_TYPE(__pyx_t_1)->tp_iternext; if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 978, __pyx_L1_error) + __pyx_t_6 = Py_TYPE(__pyx_t_1)->tp_iternext; if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 986, __pyx_L1_error) } for (;;) { if (likely(!__pyx_t_6)) { if (likely(PyList_CheckExact(__pyx_t_1))) { if (__pyx_t_5 >= PyList_GET_SIZE(__pyx_t_1)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS - __pyx_t_2 = PyList_GET_ITEM(__pyx_t_1, __pyx_t_5); __Pyx_INCREF(__pyx_t_2); __pyx_t_5++; if (unlikely(0 < 0)) __PYX_ERR(0, 978, __pyx_L1_error) + __pyx_t_2 = PyList_GET_ITEM(__pyx_t_1, __pyx_t_5); __Pyx_INCREF(__pyx_t_2); __pyx_t_5++; if (unlikely(0 < 0)) __PYX_ERR(0, 986, __pyx_L1_error) #else - __pyx_t_2 = PySequence_ITEM(__pyx_t_1, __pyx_t_5); __pyx_t_5++; if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 978, __pyx_L1_error) + __pyx_t_2 = PySequence_ITEM(__pyx_t_1, __pyx_t_5); __pyx_t_5++; if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 986, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); #endif } else { if (__pyx_t_5 >= PyTuple_GET_SIZE(__pyx_t_1)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS - __pyx_t_2 = PyTuple_GET_ITEM(__pyx_t_1, __pyx_t_5); __Pyx_INCREF(__pyx_t_2); __pyx_t_5++; if (unlikely(0 < 0)) __PYX_ERR(0, 978, __pyx_L1_error) + __pyx_t_2 = PyTuple_GET_ITEM(__pyx_t_1, __pyx_t_5); __Pyx_INCREF(__pyx_t_2); __pyx_t_5++; if (unlikely(0 < 0)) __PYX_ERR(0, 986, __pyx_L1_error) #else - __pyx_t_2 = PySequence_ITEM(__pyx_t_1, __pyx_t_5); __pyx_t_5++; if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 978, __pyx_L1_error) + __pyx_t_2 = PySequence_ITEM(__pyx_t_1, __pyx_t_5); __pyx_t_5++; if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 986, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); #endif } @@ -10078,7 +10080,7 @@ static PyObject *__pyx_pf_8gedlibpy_6GEDEnv_90compute_edit_distance_on_nx_graphs PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); - else __PYX_ERR(0, 978, __pyx_L1_error) + else __PYX_ERR(0, 986, __pyx_L1_error) } break; } @@ -10087,14 +10089,14 @@ static PyObject *__pyx_pf_8gedlibpy_6GEDEnv_90compute_edit_distance_on_nx_graphs __Pyx_XDECREF_SET(__pyx_v_graph, __pyx_t_2); __pyx_t_2 = 0; - /* "gedlibpy.pyx":979 + /* "gedlibpy.pyx":987 * print("Loading graphs in progress...") * for graph in dataset : * self.add_nx_graph(graph, classes) # <<<<<<<<<<<<<< * listID = self.graph_ids() * print("Graphs loaded ! ") */ - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_add_nx_graph); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 979, __pyx_L1_error) + __pyx_t_3 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_add_nx_graph); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 987, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_7 = NULL; __pyx_t_8 = 0; @@ -10111,7 +10113,7 @@ static PyObject *__pyx_pf_8gedlibpy_6GEDEnv_90compute_edit_distance_on_nx_graphs #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_3)) { PyObject *__pyx_temp[3] = {__pyx_t_7, __pyx_v_graph, __pyx_v_classes}; - __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_8, 2+__pyx_t_8); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 979, __pyx_L1_error) + __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_8, 2+__pyx_t_8); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 987, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_GOTREF(__pyx_t_2); } else @@ -10119,13 +10121,13 @@ static PyObject *__pyx_pf_8gedlibpy_6GEDEnv_90compute_edit_distance_on_nx_graphs #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_3)) { PyObject *__pyx_temp[3] = {__pyx_t_7, __pyx_v_graph, __pyx_v_classes}; - __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_8, 2+__pyx_t_8); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 979, __pyx_L1_error) + __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_3, __pyx_temp+1-__pyx_t_8, 2+__pyx_t_8); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 987, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_GOTREF(__pyx_t_2); } else #endif { - __pyx_t_9 = PyTuple_New(2+__pyx_t_8); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 979, __pyx_L1_error) + __pyx_t_9 = PyTuple_New(2+__pyx_t_8); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 987, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); if (__pyx_t_7) { __Pyx_GIVEREF(__pyx_t_7); PyTuple_SET_ITEM(__pyx_t_9, 0, __pyx_t_7); __pyx_t_7 = NULL; @@ -10136,14 +10138,14 @@ static PyObject *__pyx_pf_8gedlibpy_6GEDEnv_90compute_edit_distance_on_nx_graphs __Pyx_INCREF(__pyx_v_classes); __Pyx_GIVEREF(__pyx_v_classes); PyTuple_SET_ITEM(__pyx_t_9, 1+__pyx_t_8, __pyx_v_classes); - __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_9, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 979, __pyx_L1_error) + __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_9, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 987, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; } __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "gedlibpy.pyx":978 + /* "gedlibpy.pyx":986 * * print("Loading graphs in progress...") * for graph in dataset : # <<<<<<<<<<<<<< @@ -10153,14 +10155,14 @@ static PyObject *__pyx_pf_8gedlibpy_6GEDEnv_90compute_edit_distance_on_nx_graphs } __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - /* "gedlibpy.pyx":980 + /* "gedlibpy.pyx":988 * for graph in dataset : * self.add_nx_graph(graph, classes) * listID = self.graph_ids() # <<<<<<<<<<<<<< * print("Graphs loaded ! ") * print("Number of graphs = " + str(listID[1])) */ - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_graph_ids); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 980, __pyx_L1_error) + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_graph_ids); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 988, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_3 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { @@ -10174,51 +10176,51 @@ static PyObject *__pyx_pf_8gedlibpy_6GEDEnv_90compute_edit_distance_on_nx_graphs } __pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_2); __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 980, __pyx_L1_error) + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 988, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_v_listID = __pyx_t_1; __pyx_t_1 = 0; - /* "gedlibpy.pyx":981 + /* "gedlibpy.pyx":989 * self.add_nx_graph(graph, classes) * listID = self.graph_ids() * print("Graphs loaded ! ") # <<<<<<<<<<<<<< * print("Number of graphs = " + str(listID[1])) * */ - __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_print, __pyx_tuple__5, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 981, __pyx_L1_error) + __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_print, __pyx_tuple__5, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 989, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - /* "gedlibpy.pyx":982 + /* "gedlibpy.pyx":990 * listID = self.graph_ids() * print("Graphs loaded ! ") * print("Number of graphs = " + str(listID[1])) # <<<<<<<<<<<<<< * * self.set_edit_cost(edit_cost) */ - __pyx_t_1 = __Pyx_GetItemInt(__pyx_v_listID, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 982, __pyx_L1_error) + __pyx_t_1 = __Pyx_GetItemInt(__pyx_v_listID, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 990, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); - __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 982, __pyx_L1_error) + __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 990, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = __Pyx_PyUnicode_Concat(__pyx_kp_u_Number_of_graphs, __pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 982, __pyx_L1_error) + __pyx_t_1 = __Pyx_PyUnicode_Concat(__pyx_kp_u_Number_of_graphs, __pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 990, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_builtin_print, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 982, __pyx_L1_error) + __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_builtin_print, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 990, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "gedlibpy.pyx":984 + /* "gedlibpy.pyx":992 * print("Number of graphs = " + str(listID[1])) * * self.set_edit_cost(edit_cost) # <<<<<<<<<<<<<< * print("Initialization in progress...") * self.init(init_option) */ - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_set_edit_cost); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 984, __pyx_L1_error) + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_set_edit_cost); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 992, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_3 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) { @@ -10232,30 +10234,30 @@ static PyObject *__pyx_pf_8gedlibpy_6GEDEnv_90compute_edit_distance_on_nx_graphs } __pyx_t_2 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_1, __pyx_t_3, __pyx_v_edit_cost) : __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_v_edit_cost); __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 984, __pyx_L1_error) + if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 992, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "gedlibpy.pyx":985 + /* "gedlibpy.pyx":993 * * self.set_edit_cost(edit_cost) * print("Initialization in progress...") # <<<<<<<<<<<<<< * self.init(init_option) * print("Initialization terminated !") */ - __pyx_t_2 = __Pyx_PyObject_Call(__pyx_builtin_print, __pyx_tuple__6, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 985, __pyx_L1_error) + __pyx_t_2 = __Pyx_PyObject_Call(__pyx_builtin_print, __pyx_tuple__6, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 993, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "gedlibpy.pyx":986 + /* "gedlibpy.pyx":994 * self.set_edit_cost(edit_cost) * print("Initialization in progress...") * self.init(init_option) # <<<<<<<<<<<<<< * print("Initialization terminated !") * */ - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_init); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 986, __pyx_L1_error) + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_init); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 994, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_3 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) { @@ -10269,30 +10271,30 @@ static PyObject *__pyx_pf_8gedlibpy_6GEDEnv_90compute_edit_distance_on_nx_graphs } __pyx_t_2 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_1, __pyx_t_3, __pyx_v_init_option) : __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_v_init_option); __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 986, __pyx_L1_error) + if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 994, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "gedlibpy.pyx":987 + /* "gedlibpy.pyx":995 * print("Initialization in progress...") * self.init(init_option) * print("Initialization terminated !") # <<<<<<<<<<<<<< * * self.set_method(method, options) */ - __pyx_t_2 = __Pyx_PyObject_Call(__pyx_builtin_print, __pyx_tuple__7, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 987, __pyx_L1_error) + __pyx_t_2 = __Pyx_PyObject_Call(__pyx_builtin_print, __pyx_tuple__7, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 995, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "gedlibpy.pyx":989 + /* "gedlibpy.pyx":997 * print("Initialization terminated !") * * self.set_method(method, options) # <<<<<<<<<<<<<< * self.init_method() * */ - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_set_method); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 989, __pyx_L1_error) + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_set_method); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 997, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_3 = NULL; __pyx_t_8 = 0; @@ -10309,7 +10311,7 @@ static PyObject *__pyx_pf_8gedlibpy_6GEDEnv_90compute_edit_distance_on_nx_graphs #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_1)) { PyObject *__pyx_temp[3] = {__pyx_t_3, __pyx_v_method, __pyx_v_options}; - __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_1, __pyx_temp+1-__pyx_t_8, 2+__pyx_t_8); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 989, __pyx_L1_error) + __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_1, __pyx_temp+1-__pyx_t_8, 2+__pyx_t_8); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 997, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_GOTREF(__pyx_t_2); } else @@ -10317,13 +10319,13 @@ static PyObject *__pyx_pf_8gedlibpy_6GEDEnv_90compute_edit_distance_on_nx_graphs #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_1)) { PyObject *__pyx_temp[3] = {__pyx_t_3, __pyx_v_method, __pyx_v_options}; - __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_1, __pyx_temp+1-__pyx_t_8, 2+__pyx_t_8); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 989, __pyx_L1_error) + __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_1, __pyx_temp+1-__pyx_t_8, 2+__pyx_t_8); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 997, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_GOTREF(__pyx_t_2); } else #endif { - __pyx_t_9 = PyTuple_New(2+__pyx_t_8); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 989, __pyx_L1_error) + __pyx_t_9 = PyTuple_New(2+__pyx_t_8); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 997, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); if (__pyx_t_3) { __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_9, 0, __pyx_t_3); __pyx_t_3 = NULL; @@ -10334,21 +10336,21 @@ static PyObject *__pyx_pf_8gedlibpy_6GEDEnv_90compute_edit_distance_on_nx_graphs __Pyx_INCREF(__pyx_v_options); __Pyx_GIVEREF(__pyx_v_options); PyTuple_SET_ITEM(__pyx_t_9, 1+__pyx_t_8, __pyx_v_options); - __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_9, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 989, __pyx_L1_error) + __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_9, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 997, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; } __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "gedlibpy.pyx":990 + /* "gedlibpy.pyx":998 * * self.set_method(method, options) * self.init_method() # <<<<<<<<<<<<<< * * resDistance = [[]] */ - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_init_method); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 990, __pyx_L1_error) + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_init_method); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 998, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_9 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) { @@ -10362,21 +10364,21 @@ static PyObject *__pyx_pf_8gedlibpy_6GEDEnv_90compute_edit_distance_on_nx_graphs } __pyx_t_2 = (__pyx_t_9) ? __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_9) : __Pyx_PyObject_CallNoArg(__pyx_t_1); __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0; - if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 990, __pyx_L1_error) + if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 998, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "gedlibpy.pyx":992 + /* "gedlibpy.pyx":1000 * self.init_method() * * resDistance = [[]] # <<<<<<<<<<<<<< * resMapping = [[]] * for g in range(listID[0], listID[1]) : */ - __pyx_t_2 = PyList_New(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 992, __pyx_L1_error) + __pyx_t_2 = PyList_New(0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1000, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); - __pyx_t_1 = PyList_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 992, __pyx_L1_error) + __pyx_t_1 = PyList_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1000, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_GIVEREF(__pyx_t_2); PyList_SET_ITEM(__pyx_t_1, 0, __pyx_t_2); @@ -10384,16 +10386,16 @@ static PyObject *__pyx_pf_8gedlibpy_6GEDEnv_90compute_edit_distance_on_nx_graphs __pyx_v_resDistance = ((PyObject*)__pyx_t_1); __pyx_t_1 = 0; - /* "gedlibpy.pyx":993 + /* "gedlibpy.pyx":1001 * * resDistance = [[]] * resMapping = [[]] # <<<<<<<<<<<<<< * for g in range(listID[0], listID[1]) : * print("Computation between graph " + str(g) + " with all the others including himself.") */ - __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 993, __pyx_L1_error) + __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1001, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); - __pyx_t_2 = PyList_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 993, __pyx_L1_error) + __pyx_t_2 = PyList_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1001, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_GIVEREF(__pyx_t_1); PyList_SET_ITEM(__pyx_t_2, 0, __pyx_t_1); @@ -10401,18 +10403,18 @@ static PyObject *__pyx_pf_8gedlibpy_6GEDEnv_90compute_edit_distance_on_nx_graphs __pyx_v_resMapping = ((PyObject*)__pyx_t_2); __pyx_t_2 = 0; - /* "gedlibpy.pyx":994 + /* "gedlibpy.pyx":1002 * resDistance = [[]] * resMapping = [[]] * for g in range(listID[0], listID[1]) : # <<<<<<<<<<<<<< * print("Computation between graph " + str(g) + " with all the others including himself.") * for h in range(listID[0], listID[1]) : */ - __pyx_t_2 = __Pyx_GetItemInt(__pyx_v_listID, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 994, __pyx_L1_error) + __pyx_t_2 = __Pyx_GetItemInt(__pyx_v_listID, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1002, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); - __pyx_t_1 = __Pyx_GetItemInt(__pyx_v_listID, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 994, __pyx_L1_error) + __pyx_t_1 = __Pyx_GetItemInt(__pyx_v_listID, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1002, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); - __pyx_t_9 = PyTuple_New(2); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 994, __pyx_L1_error) + __pyx_t_9 = PyTuple_New(2); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1002, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_GIVEREF(__pyx_t_2); PyTuple_SET_ITEM(__pyx_t_9, 0, __pyx_t_2); @@ -10420,16 +10422,16 @@ static PyObject *__pyx_pf_8gedlibpy_6GEDEnv_90compute_edit_distance_on_nx_graphs PyTuple_SET_ITEM(__pyx_t_9, 1, __pyx_t_1); __pyx_t_2 = 0; __pyx_t_1 = 0; - __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_range, __pyx_t_9, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 994, __pyx_L1_error) + __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_range, __pyx_t_9, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1002, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; if (likely(PyList_CheckExact(__pyx_t_1)) || PyTuple_CheckExact(__pyx_t_1)) { __pyx_t_9 = __pyx_t_1; __Pyx_INCREF(__pyx_t_9); __pyx_t_5 = 0; __pyx_t_6 = NULL; } else { - __pyx_t_5 = -1; __pyx_t_9 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 994, __pyx_L1_error) + __pyx_t_5 = -1; __pyx_t_9 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1002, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); - __pyx_t_6 = Py_TYPE(__pyx_t_9)->tp_iternext; if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 994, __pyx_L1_error) + __pyx_t_6 = Py_TYPE(__pyx_t_9)->tp_iternext; if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1002, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; for (;;) { @@ -10437,17 +10439,17 @@ static PyObject *__pyx_pf_8gedlibpy_6GEDEnv_90compute_edit_distance_on_nx_graphs if (likely(PyList_CheckExact(__pyx_t_9))) { if (__pyx_t_5 >= PyList_GET_SIZE(__pyx_t_9)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS - __pyx_t_1 = PyList_GET_ITEM(__pyx_t_9, __pyx_t_5); __Pyx_INCREF(__pyx_t_1); __pyx_t_5++; if (unlikely(0 < 0)) __PYX_ERR(0, 994, __pyx_L1_error) + __pyx_t_1 = PyList_GET_ITEM(__pyx_t_9, __pyx_t_5); __Pyx_INCREF(__pyx_t_1); __pyx_t_5++; if (unlikely(0 < 0)) __PYX_ERR(0, 1002, __pyx_L1_error) #else - __pyx_t_1 = PySequence_ITEM(__pyx_t_9, __pyx_t_5); __pyx_t_5++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 994, __pyx_L1_error) + __pyx_t_1 = PySequence_ITEM(__pyx_t_9, __pyx_t_5); __pyx_t_5++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1002, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); #endif } else { if (__pyx_t_5 >= PyTuple_GET_SIZE(__pyx_t_9)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS - __pyx_t_1 = PyTuple_GET_ITEM(__pyx_t_9, __pyx_t_5); __Pyx_INCREF(__pyx_t_1); __pyx_t_5++; if (unlikely(0 < 0)) __PYX_ERR(0, 994, __pyx_L1_error) + __pyx_t_1 = PyTuple_GET_ITEM(__pyx_t_9, __pyx_t_5); __Pyx_INCREF(__pyx_t_1); __pyx_t_5++; if (unlikely(0 < 0)) __PYX_ERR(0, 1002, __pyx_L1_error) #else - __pyx_t_1 = PySequence_ITEM(__pyx_t_9, __pyx_t_5); __pyx_t_5++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 994, __pyx_L1_error) + __pyx_t_1 = PySequence_ITEM(__pyx_t_9, __pyx_t_5); __pyx_t_5++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1002, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); #endif } @@ -10457,7 +10459,7 @@ static PyObject *__pyx_pf_8gedlibpy_6GEDEnv_90compute_edit_distance_on_nx_graphs PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); - else __PYX_ERR(0, 994, __pyx_L1_error) + else __PYX_ERR(0, 1002, __pyx_L1_error) } break; } @@ -10466,38 +10468,38 @@ static PyObject *__pyx_pf_8gedlibpy_6GEDEnv_90compute_edit_distance_on_nx_graphs __Pyx_XDECREF_SET(__pyx_v_g, __pyx_t_1); __pyx_t_1 = 0; - /* "gedlibpy.pyx":995 + /* "gedlibpy.pyx":1003 * resMapping = [[]] * for g in range(listID[0], listID[1]) : * print("Computation between graph " + str(g) + " with all the others including himself.") # <<<<<<<<<<<<<< * for h in range(listID[0], listID[1]) : * #print("Computation between graph " + str(g) + " and graph " + str(h)) */ - __pyx_t_1 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_v_g); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 995, __pyx_L1_error) + __pyx_t_1 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_v_g); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1003, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); - __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_kp_u_Computation_between_graph, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 995, __pyx_L1_error) + __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_kp_u_Computation_between_graph, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1003, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = __Pyx_PyUnicode_Concat(__pyx_t_2, __pyx_kp_u_with_all_the_others_including_h); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 995, __pyx_L1_error) + __pyx_t_1 = __Pyx_PyUnicode_Concat(__pyx_t_2, __pyx_kp_u_with_all_the_others_including_h); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1003, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_builtin_print, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 995, __pyx_L1_error) + __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_builtin_print, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1003, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "gedlibpy.pyx":996 + /* "gedlibpy.pyx":1004 * for g in range(listID[0], listID[1]) : * print("Computation between graph " + str(g) + " with all the others including himself.") * for h in range(listID[0], listID[1]) : # <<<<<<<<<<<<<< * #print("Computation between graph " + str(g) + " and graph " + str(h)) * self.run_method(g, h) */ - __pyx_t_2 = __Pyx_GetItemInt(__pyx_v_listID, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 996, __pyx_L1_error) + __pyx_t_2 = __Pyx_GetItemInt(__pyx_v_listID, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1004, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); - __pyx_t_1 = __Pyx_GetItemInt(__pyx_v_listID, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 996, __pyx_L1_error) + __pyx_t_1 = __Pyx_GetItemInt(__pyx_v_listID, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1004, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); - __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 996, __pyx_L1_error) + __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1004, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_GIVEREF(__pyx_t_2); PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_2); @@ -10505,16 +10507,16 @@ static PyObject *__pyx_pf_8gedlibpy_6GEDEnv_90compute_edit_distance_on_nx_graphs PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_t_1); __pyx_t_2 = 0; __pyx_t_1 = 0; - __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_range, __pyx_t_3, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 996, __pyx_L1_error) + __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_range, __pyx_t_3, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1004, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; if (likely(PyList_CheckExact(__pyx_t_1)) || PyTuple_CheckExact(__pyx_t_1)) { __pyx_t_3 = __pyx_t_1; __Pyx_INCREF(__pyx_t_3); __pyx_t_10 = 0; __pyx_t_11 = NULL; } else { - __pyx_t_10 = -1; __pyx_t_3 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 996, __pyx_L1_error) + __pyx_t_10 = -1; __pyx_t_3 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1004, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); - __pyx_t_11 = Py_TYPE(__pyx_t_3)->tp_iternext; if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 996, __pyx_L1_error) + __pyx_t_11 = Py_TYPE(__pyx_t_3)->tp_iternext; if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 1004, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; for (;;) { @@ -10522,17 +10524,17 @@ static PyObject *__pyx_pf_8gedlibpy_6GEDEnv_90compute_edit_distance_on_nx_graphs if (likely(PyList_CheckExact(__pyx_t_3))) { if (__pyx_t_10 >= PyList_GET_SIZE(__pyx_t_3)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS - __pyx_t_1 = PyList_GET_ITEM(__pyx_t_3, __pyx_t_10); __Pyx_INCREF(__pyx_t_1); __pyx_t_10++; if (unlikely(0 < 0)) __PYX_ERR(0, 996, __pyx_L1_error) + __pyx_t_1 = PyList_GET_ITEM(__pyx_t_3, __pyx_t_10); __Pyx_INCREF(__pyx_t_1); __pyx_t_10++; if (unlikely(0 < 0)) __PYX_ERR(0, 1004, __pyx_L1_error) #else - __pyx_t_1 = PySequence_ITEM(__pyx_t_3, __pyx_t_10); __pyx_t_10++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 996, __pyx_L1_error) + __pyx_t_1 = PySequence_ITEM(__pyx_t_3, __pyx_t_10); __pyx_t_10++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1004, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); #endif } else { if (__pyx_t_10 >= PyTuple_GET_SIZE(__pyx_t_3)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS - __pyx_t_1 = PyTuple_GET_ITEM(__pyx_t_3, __pyx_t_10); __Pyx_INCREF(__pyx_t_1); __pyx_t_10++; if (unlikely(0 < 0)) __PYX_ERR(0, 996, __pyx_L1_error) + __pyx_t_1 = PyTuple_GET_ITEM(__pyx_t_3, __pyx_t_10); __Pyx_INCREF(__pyx_t_1); __pyx_t_10++; if (unlikely(0 < 0)) __PYX_ERR(0, 1004, __pyx_L1_error) #else - __pyx_t_1 = PySequence_ITEM(__pyx_t_3, __pyx_t_10); __pyx_t_10++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 996, __pyx_L1_error) + __pyx_t_1 = PySequence_ITEM(__pyx_t_3, __pyx_t_10); __pyx_t_10++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1004, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); #endif } @@ -10542,7 +10544,7 @@ static PyObject *__pyx_pf_8gedlibpy_6GEDEnv_90compute_edit_distance_on_nx_graphs PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); - else __PYX_ERR(0, 996, __pyx_L1_error) + else __PYX_ERR(0, 1004, __pyx_L1_error) } break; } @@ -10551,14 +10553,14 @@ static PyObject *__pyx_pf_8gedlibpy_6GEDEnv_90compute_edit_distance_on_nx_graphs __Pyx_XDECREF_SET(__pyx_v_h, __pyx_t_1); __pyx_t_1 = 0; - /* "gedlibpy.pyx":998 + /* "gedlibpy.pyx":1006 * for h in range(listID[0], listID[1]) : * #print("Computation between graph " + str(g) + " and graph " + str(h)) * self.run_method(g, h) # <<<<<<<<<<<<<< * resDistance[g][h] = self.get_upper_bound(g, h) * resMapping[g][h] = self.get_node_map(g, h) */ - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_run_method); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 998, __pyx_L1_error) + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_run_method); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1006, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_7 = NULL; __pyx_t_8 = 0; @@ -10575,7 +10577,7 @@ static PyObject *__pyx_pf_8gedlibpy_6GEDEnv_90compute_edit_distance_on_nx_graphs #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_2)) { PyObject *__pyx_temp[3] = {__pyx_t_7, __pyx_v_g, __pyx_v_h}; - __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_8, 2+__pyx_t_8); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 998, __pyx_L1_error) + __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_8, 2+__pyx_t_8); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1006, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_GOTREF(__pyx_t_1); } else @@ -10583,13 +10585,13 @@ static PyObject *__pyx_pf_8gedlibpy_6GEDEnv_90compute_edit_distance_on_nx_graphs #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_2)) { PyObject *__pyx_temp[3] = {__pyx_t_7, __pyx_v_g, __pyx_v_h}; - __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_8, 2+__pyx_t_8); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 998, __pyx_L1_error) + __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_8, 2+__pyx_t_8); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1006, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_GOTREF(__pyx_t_1); } else #endif { - __pyx_t_12 = PyTuple_New(2+__pyx_t_8); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 998, __pyx_L1_error) + __pyx_t_12 = PyTuple_New(2+__pyx_t_8); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 1006, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); if (__pyx_t_7) { __Pyx_GIVEREF(__pyx_t_7); PyTuple_SET_ITEM(__pyx_t_12, 0, __pyx_t_7); __pyx_t_7 = NULL; @@ -10600,21 +10602,21 @@ static PyObject *__pyx_pf_8gedlibpy_6GEDEnv_90compute_edit_distance_on_nx_graphs __Pyx_INCREF(__pyx_v_h); __Pyx_GIVEREF(__pyx_v_h); PyTuple_SET_ITEM(__pyx_t_12, 1+__pyx_t_8, __pyx_v_h); - __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_12, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 998, __pyx_L1_error) + __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_12, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1006, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; } __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - /* "gedlibpy.pyx":999 + /* "gedlibpy.pyx":1007 * #print("Computation between graph " + str(g) + " and graph " + str(h)) * self.run_method(g, h) * resDistance[g][h] = self.get_upper_bound(g, h) # <<<<<<<<<<<<<< * resMapping[g][h] = self.get_node_map(g, h) * */ - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_get_upper_bound); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 999, __pyx_L1_error) + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_get_upper_bound); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1007, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_12 = NULL; __pyx_t_8 = 0; @@ -10631,7 +10633,7 @@ static PyObject *__pyx_pf_8gedlibpy_6GEDEnv_90compute_edit_distance_on_nx_graphs #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_2)) { PyObject *__pyx_temp[3] = {__pyx_t_12, __pyx_v_g, __pyx_v_h}; - __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_8, 2+__pyx_t_8); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 999, __pyx_L1_error) + __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_8, 2+__pyx_t_8); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1007, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0; __Pyx_GOTREF(__pyx_t_1); } else @@ -10639,13 +10641,13 @@ static PyObject *__pyx_pf_8gedlibpy_6GEDEnv_90compute_edit_distance_on_nx_graphs #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_2)) { PyObject *__pyx_temp[3] = {__pyx_t_12, __pyx_v_g, __pyx_v_h}; - __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_8, 2+__pyx_t_8); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 999, __pyx_L1_error) + __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_8, 2+__pyx_t_8); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1007, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_12); __pyx_t_12 = 0; __Pyx_GOTREF(__pyx_t_1); } else #endif { - __pyx_t_7 = PyTuple_New(2+__pyx_t_8); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 999, __pyx_L1_error) + __pyx_t_7 = PyTuple_New(2+__pyx_t_8); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1007, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); if (__pyx_t_12) { __Pyx_GIVEREF(__pyx_t_12); PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_12); __pyx_t_12 = NULL; @@ -10656,25 +10658,25 @@ static PyObject *__pyx_pf_8gedlibpy_6GEDEnv_90compute_edit_distance_on_nx_graphs __Pyx_INCREF(__pyx_v_h); __Pyx_GIVEREF(__pyx_v_h); PyTuple_SET_ITEM(__pyx_t_7, 1+__pyx_t_8, __pyx_v_h); - __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_7, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 999, __pyx_L1_error) + __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_7, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1007, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; } __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = __Pyx_PyObject_GetItem(__pyx_v_resDistance, __pyx_v_g); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 999, __pyx_L1_error) + __pyx_t_2 = __Pyx_PyObject_GetItem(__pyx_v_resDistance, __pyx_v_g); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1007, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); - if (unlikely(PyObject_SetItem(__pyx_t_2, __pyx_v_h, __pyx_t_1) < 0)) __PYX_ERR(0, 999, __pyx_L1_error) + if (unlikely(PyObject_SetItem(__pyx_t_2, __pyx_v_h, __pyx_t_1) < 0)) __PYX_ERR(0, 1007, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - /* "gedlibpy.pyx":1000 + /* "gedlibpy.pyx":1008 * self.run_method(g, h) * resDistance[g][h] = self.get_upper_bound(g, h) * resMapping[g][h] = self.get_node_map(g, h) # <<<<<<<<<<<<<< * * print("Finish ! The return contains edit distances and NodeMap but you can check the result with graphs'ID until you restart the environment") */ - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_get_node_map); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1000, __pyx_L1_error) + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_get_node_map); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1008, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_7 = NULL; __pyx_t_8 = 0; @@ -10691,7 +10693,7 @@ static PyObject *__pyx_pf_8gedlibpy_6GEDEnv_90compute_edit_distance_on_nx_graphs #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_2)) { PyObject *__pyx_temp[3] = {__pyx_t_7, __pyx_v_g, __pyx_v_h}; - __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_8, 2+__pyx_t_8); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1000, __pyx_L1_error) + __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_8, 2+__pyx_t_8); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1008, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_GOTREF(__pyx_t_1); } else @@ -10699,13 +10701,13 @@ static PyObject *__pyx_pf_8gedlibpy_6GEDEnv_90compute_edit_distance_on_nx_graphs #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_2)) { PyObject *__pyx_temp[3] = {__pyx_t_7, __pyx_v_g, __pyx_v_h}; - __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_8, 2+__pyx_t_8); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1000, __pyx_L1_error) + __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_8, 2+__pyx_t_8); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1008, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_GOTREF(__pyx_t_1); } else #endif { - __pyx_t_12 = PyTuple_New(2+__pyx_t_8); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 1000, __pyx_L1_error) + __pyx_t_12 = PyTuple_New(2+__pyx_t_8); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 1008, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); if (__pyx_t_7) { __Pyx_GIVEREF(__pyx_t_7); PyTuple_SET_ITEM(__pyx_t_12, 0, __pyx_t_7); __pyx_t_7 = NULL; @@ -10716,18 +10718,18 @@ static PyObject *__pyx_pf_8gedlibpy_6GEDEnv_90compute_edit_distance_on_nx_graphs __Pyx_INCREF(__pyx_v_h); __Pyx_GIVEREF(__pyx_v_h); PyTuple_SET_ITEM(__pyx_t_12, 1+__pyx_t_8, __pyx_v_h); - __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_12, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1000, __pyx_L1_error) + __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_12, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1008, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; } __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = __Pyx_PyObject_GetItem(__pyx_v_resMapping, __pyx_v_g); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1000, __pyx_L1_error) + __pyx_t_2 = __Pyx_PyObject_GetItem(__pyx_v_resMapping, __pyx_v_g); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1008, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); - if (unlikely(PyObject_SetItem(__pyx_t_2, __pyx_v_h, __pyx_t_1) < 0)) __PYX_ERR(0, 1000, __pyx_L1_error) + if (unlikely(PyObject_SetItem(__pyx_t_2, __pyx_v_h, __pyx_t_1) < 0)) __PYX_ERR(0, 1008, __pyx_L1_error) __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - /* "gedlibpy.pyx":996 + /* "gedlibpy.pyx":1004 * for g in range(listID[0], listID[1]) : * print("Computation between graph " + str(g) + " with all the others including himself.") * for h in range(listID[0], listID[1]) : # <<<<<<<<<<<<<< @@ -10737,7 +10739,7 @@ static PyObject *__pyx_pf_8gedlibpy_6GEDEnv_90compute_edit_distance_on_nx_graphs } __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - /* "gedlibpy.pyx":994 + /* "gedlibpy.pyx":1002 * resDistance = [[]] * resMapping = [[]] * for g in range(listID[0], listID[1]) : # <<<<<<<<<<<<<< @@ -10747,18 +10749,18 @@ static PyObject *__pyx_pf_8gedlibpy_6GEDEnv_90compute_edit_distance_on_nx_graphs } __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - /* "gedlibpy.pyx":1002 + /* "gedlibpy.pyx":1010 * resMapping[g][h] = self.get_node_map(g, h) * * print("Finish ! The return contains edit distances and NodeMap but you can check the result with graphs'ID until you restart the environment") # <<<<<<<<<<<<<< * return resDistance, resMapping * */ - __pyx_t_9 = __Pyx_PyObject_Call(__pyx_builtin_print, __pyx_tuple__8, NULL); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1002, __pyx_L1_error) + __pyx_t_9 = __Pyx_PyObject_Call(__pyx_builtin_print, __pyx_tuple__8, NULL); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1010, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_DECREF(__pyx_t_9); __pyx_t_9 = 0; - /* "gedlibpy.pyx":1003 + /* "gedlibpy.pyx":1011 * * print("Finish ! The return contains edit distances and NodeMap but you can check the result with graphs'ID until you restart the environment") * return resDistance, resMapping # <<<<<<<<<<<<<< @@ -10766,7 +10768,7 @@ static PyObject *__pyx_pf_8gedlibpy_6GEDEnv_90compute_edit_distance_on_nx_graphs * */ __Pyx_XDECREF(__pyx_r); - __pyx_t_9 = PyTuple_New(2); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1003, __pyx_L1_error) + __pyx_t_9 = PyTuple_New(2); if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1011, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_9); __Pyx_INCREF(__pyx_v_resDistance); __Pyx_GIVEREF(__pyx_v_resDistance); @@ -10778,7 +10780,7 @@ static PyObject *__pyx_pf_8gedlibpy_6GEDEnv_90compute_edit_distance_on_nx_graphs __pyx_t_9 = 0; goto __pyx_L0; - /* "gedlibpy.pyx":950 + /* "gedlibpy.pyx":958 * * * def compute_edit_distance_on_nx_graphs(self, dataset, classes, edit_cost, method, options, init_option="EAGER_WITHOUT_SHUFFLED_COPIES") : # <<<<<<<<<<<<<< @@ -10808,7 +10810,7 @@ static PyObject *__pyx_pf_8gedlibpy_6GEDEnv_90compute_edit_distance_on_nx_graphs return __pyx_r; } -/* "gedlibpy.pyx":1006 +/* "gedlibpy.pyx":1014 * * * def compute_edit_distance_on_GXl_graphs(self, path_folder, path_XML, edit_cost, method, options="", init_option="EAGER_WITHOUT_SHUFFLED_COPIES") : # <<<<<<<<<<<<<< @@ -10862,19 +10864,19 @@ static PyObject *__pyx_pw_8gedlibpy_6GEDEnv_93compute_edit_distance_on_GXl_graph case 1: if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_path_XML)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("compute_edit_distance_on_GXl_graphs", 0, 4, 6, 1); __PYX_ERR(0, 1006, __pyx_L3_error) + __Pyx_RaiseArgtupleInvalid("compute_edit_distance_on_GXl_graphs", 0, 4, 6, 1); __PYX_ERR(0, 1014, __pyx_L3_error) } CYTHON_FALLTHROUGH; case 2: if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_edit_cost)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("compute_edit_distance_on_GXl_graphs", 0, 4, 6, 2); __PYX_ERR(0, 1006, __pyx_L3_error) + __Pyx_RaiseArgtupleInvalid("compute_edit_distance_on_GXl_graphs", 0, 4, 6, 2); __PYX_ERR(0, 1014, __pyx_L3_error) } CYTHON_FALLTHROUGH; case 3: if (likely((values[3] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_method)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("compute_edit_distance_on_GXl_graphs", 0, 4, 6, 3); __PYX_ERR(0, 1006, __pyx_L3_error) + __Pyx_RaiseArgtupleInvalid("compute_edit_distance_on_GXl_graphs", 0, 4, 6, 3); __PYX_ERR(0, 1014, __pyx_L3_error) } CYTHON_FALLTHROUGH; case 4: @@ -10890,7 +10892,7 @@ static PyObject *__pyx_pw_8gedlibpy_6GEDEnv_93compute_edit_distance_on_GXl_graph } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "compute_edit_distance_on_GXl_graphs") < 0)) __PYX_ERR(0, 1006, __pyx_L3_error) + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "compute_edit_distance_on_GXl_graphs") < 0)) __PYX_ERR(0, 1014, __pyx_L3_error) } } else { switch (PyTuple_GET_SIZE(__pyx_args)) { @@ -10915,7 +10917,7 @@ static PyObject *__pyx_pw_8gedlibpy_6GEDEnv_93compute_edit_distance_on_GXl_graph } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("compute_edit_distance_on_GXl_graphs", 0, 4, 6, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 1006, __pyx_L3_error) + __Pyx_RaiseArgtupleInvalid("compute_edit_distance_on_GXl_graphs", 0, 4, 6, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 1014, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("gedlibpy.GEDEnv.compute_edit_distance_on_GXl_graphs", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); @@ -10948,14 +10950,14 @@ static PyObject *__pyx_pf_8gedlibpy_6GEDEnv_92compute_edit_distance_on_GXl_graph PyObject *__pyx_t_12 = NULL; __Pyx_RefNannySetupContext("compute_edit_distance_on_GXl_graphs", 0); - /* "gedlibpy.pyx":1030 + /* "gedlibpy.pyx":1038 * """ * * if self.is_initialized() : # <<<<<<<<<<<<<< * self.restart_env() * */ - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_is_initialized); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1030, __pyx_L1_error) + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_is_initialized); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1038, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_3 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { @@ -10969,21 +10971,21 @@ static PyObject *__pyx_pf_8gedlibpy_6GEDEnv_92compute_edit_distance_on_GXl_graph } __pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_2); __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1030, __pyx_L1_error) + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1038, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_4 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_4 < 0)) __PYX_ERR(0, 1030, __pyx_L1_error) + __pyx_t_4 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely(__pyx_t_4 < 0)) __PYX_ERR(0, 1038, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (__pyx_t_4) { - /* "gedlibpy.pyx":1031 + /* "gedlibpy.pyx":1039 * * if self.is_initialized() : * self.restart_env() # <<<<<<<<<<<<<< * * print("Loading graphs in progress...") */ - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_restart_env); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1031, __pyx_L1_error) + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_restart_env); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1039, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_3 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { @@ -10997,12 +10999,12 @@ static PyObject *__pyx_pf_8gedlibpy_6GEDEnv_92compute_edit_distance_on_GXl_graph } __pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_2); __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1031, __pyx_L1_error) + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1039, __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; - /* "gedlibpy.pyx":1030 + /* "gedlibpy.pyx":1038 * """ * * if self.is_initialized() : # <<<<<<<<<<<<<< @@ -11011,25 +11013,25 @@ static PyObject *__pyx_pf_8gedlibpy_6GEDEnv_92compute_edit_distance_on_GXl_graph */ } - /* "gedlibpy.pyx":1033 + /* "gedlibpy.pyx":1041 * self.restart_env() * * print("Loading graphs in progress...") # <<<<<<<<<<<<<< * self.load_GXL_graphs(path_folder, path_XML) * listID = self.graph_ids() */ - __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_print, __pyx_tuple__4, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1033, __pyx_L1_error) + __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_print, __pyx_tuple__4, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1041, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - /* "gedlibpy.pyx":1034 + /* "gedlibpy.pyx":1042 * * print("Loading graphs in progress...") * self.load_GXL_graphs(path_folder, path_XML) # <<<<<<<<<<<<<< * listID = self.graph_ids() * print("Graphs loaded ! ") */ - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_load_GXL_graphs); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1034, __pyx_L1_error) + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_load_GXL_graphs); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1042, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_3 = NULL; __pyx_t_5 = 0; @@ -11046,7 +11048,7 @@ static PyObject *__pyx_pf_8gedlibpy_6GEDEnv_92compute_edit_distance_on_GXl_graph #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_2)) { PyObject *__pyx_temp[3] = {__pyx_t_3, __pyx_v_path_folder, __pyx_v_path_XML}; - __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_5, 2+__pyx_t_5); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1034, __pyx_L1_error) + __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_5, 2+__pyx_t_5); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1042, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_GOTREF(__pyx_t_1); } else @@ -11054,13 +11056,13 @@ static PyObject *__pyx_pf_8gedlibpy_6GEDEnv_92compute_edit_distance_on_GXl_graph #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_2)) { PyObject *__pyx_temp[3] = {__pyx_t_3, __pyx_v_path_folder, __pyx_v_path_XML}; - __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_5, 2+__pyx_t_5); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1034, __pyx_L1_error) + __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_5, 2+__pyx_t_5); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1042, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_GOTREF(__pyx_t_1); } else #endif { - __pyx_t_6 = PyTuple_New(2+__pyx_t_5); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1034, __pyx_L1_error) + __pyx_t_6 = PyTuple_New(2+__pyx_t_5); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1042, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); if (__pyx_t_3) { __Pyx_GIVEREF(__pyx_t_3); PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_3); __pyx_t_3 = NULL; @@ -11071,21 +11073,21 @@ static PyObject *__pyx_pf_8gedlibpy_6GEDEnv_92compute_edit_distance_on_GXl_graph __Pyx_INCREF(__pyx_v_path_XML); __Pyx_GIVEREF(__pyx_v_path_XML); PyTuple_SET_ITEM(__pyx_t_6, 1+__pyx_t_5, __pyx_v_path_XML); - __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_6, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1034, __pyx_L1_error) + __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_6, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1042, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; } __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - /* "gedlibpy.pyx":1035 + /* "gedlibpy.pyx":1043 * print("Loading graphs in progress...") * self.load_GXL_graphs(path_folder, path_XML) * listID = self.graph_ids() # <<<<<<<<<<<<<< * print("Graphs loaded ! ") * print("Number of graphs = " + str(listID[1])) */ - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_graph_ids); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1035, __pyx_L1_error) + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_graph_ids); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1043, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_6 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { @@ -11099,51 +11101,51 @@ static PyObject *__pyx_pf_8gedlibpy_6GEDEnv_92compute_edit_distance_on_GXl_graph } __pyx_t_1 = (__pyx_t_6) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_6) : __Pyx_PyObject_CallNoArg(__pyx_t_2); __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1035, __pyx_L1_error) + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1043, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_v_listID = __pyx_t_1; __pyx_t_1 = 0; - /* "gedlibpy.pyx":1036 + /* "gedlibpy.pyx":1044 * self.load_GXL_graphs(path_folder, path_XML) * listID = self.graph_ids() * print("Graphs loaded ! ") # <<<<<<<<<<<<<< * print("Number of graphs = " + str(listID[1])) * */ - __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_print, __pyx_tuple__5, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1036, __pyx_L1_error) + __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_print, __pyx_tuple__5, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1044, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - /* "gedlibpy.pyx":1037 + /* "gedlibpy.pyx":1045 * listID = self.graph_ids() * print("Graphs loaded ! ") * print("Number of graphs = " + str(listID[1])) # <<<<<<<<<<<<<< * * self.set_edit_cost(edit_cost) */ - __pyx_t_1 = __Pyx_GetItemInt(__pyx_v_listID, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1037, __pyx_L1_error) + __pyx_t_1 = __Pyx_GetItemInt(__pyx_v_listID, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1045, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); - __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1037, __pyx_L1_error) + __pyx_t_2 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1045, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = __Pyx_PyUnicode_Concat(__pyx_kp_u_Number_of_graphs, __pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1037, __pyx_L1_error) + __pyx_t_1 = __Pyx_PyUnicode_Concat(__pyx_kp_u_Number_of_graphs, __pyx_t_2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1045, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_builtin_print, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1037, __pyx_L1_error) + __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_builtin_print, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1045, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "gedlibpy.pyx":1039 + /* "gedlibpy.pyx":1047 * print("Number of graphs = " + str(listID[1])) * * self.set_edit_cost(edit_cost) # <<<<<<<<<<<<<< * print("Initialization in progress...") * self.init(init_option) */ - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_set_edit_cost); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1039, __pyx_L1_error) + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_set_edit_cost); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1047, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_6 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) { @@ -11157,30 +11159,30 @@ static PyObject *__pyx_pf_8gedlibpy_6GEDEnv_92compute_edit_distance_on_GXl_graph } __pyx_t_2 = (__pyx_t_6) ? __Pyx_PyObject_Call2Args(__pyx_t_1, __pyx_t_6, __pyx_v_edit_cost) : __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_v_edit_cost); __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; - if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1039, __pyx_L1_error) + if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1047, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "gedlibpy.pyx":1040 + /* "gedlibpy.pyx":1048 * * self.set_edit_cost(edit_cost) * print("Initialization in progress...") # <<<<<<<<<<<<<< * self.init(init_option) * print("Initialization terminated !") */ - __pyx_t_2 = __Pyx_PyObject_Call(__pyx_builtin_print, __pyx_tuple__6, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1040, __pyx_L1_error) + __pyx_t_2 = __Pyx_PyObject_Call(__pyx_builtin_print, __pyx_tuple__6, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1048, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "gedlibpy.pyx":1041 + /* "gedlibpy.pyx":1049 * self.set_edit_cost(edit_cost) * print("Initialization in progress...") * self.init(init_option) # <<<<<<<<<<<<<< * print("Initialization terminated !") * */ - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_init); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1041, __pyx_L1_error) + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_init); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1049, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_6 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) { @@ -11194,30 +11196,30 @@ static PyObject *__pyx_pf_8gedlibpy_6GEDEnv_92compute_edit_distance_on_GXl_graph } __pyx_t_2 = (__pyx_t_6) ? __Pyx_PyObject_Call2Args(__pyx_t_1, __pyx_t_6, __pyx_v_init_option) : __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_v_init_option); __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; - if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1041, __pyx_L1_error) + if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1049, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "gedlibpy.pyx":1042 + /* "gedlibpy.pyx":1050 * print("Initialization in progress...") * self.init(init_option) * print("Initialization terminated !") # <<<<<<<<<<<<<< * * self.set_method(method, options) */ - __pyx_t_2 = __Pyx_PyObject_Call(__pyx_builtin_print, __pyx_tuple__7, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1042, __pyx_L1_error) + __pyx_t_2 = __Pyx_PyObject_Call(__pyx_builtin_print, __pyx_tuple__7, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1050, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "gedlibpy.pyx":1044 + /* "gedlibpy.pyx":1052 * print("Initialization terminated !") * * self.set_method(method, options) # <<<<<<<<<<<<<< * self.init_method() * */ - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_set_method); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1044, __pyx_L1_error) + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_set_method); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1052, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_6 = NULL; __pyx_t_5 = 0; @@ -11234,7 +11236,7 @@ static PyObject *__pyx_pf_8gedlibpy_6GEDEnv_92compute_edit_distance_on_GXl_graph #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_1)) { PyObject *__pyx_temp[3] = {__pyx_t_6, __pyx_v_method, __pyx_v_options}; - __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_1, __pyx_temp+1-__pyx_t_5, 2+__pyx_t_5); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1044, __pyx_L1_error) + __pyx_t_2 = __Pyx_PyFunction_FastCall(__pyx_t_1, __pyx_temp+1-__pyx_t_5, 2+__pyx_t_5); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1052, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_GOTREF(__pyx_t_2); } else @@ -11242,13 +11244,13 @@ static PyObject *__pyx_pf_8gedlibpy_6GEDEnv_92compute_edit_distance_on_GXl_graph #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_1)) { PyObject *__pyx_temp[3] = {__pyx_t_6, __pyx_v_method, __pyx_v_options}; - __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_1, __pyx_temp+1-__pyx_t_5, 2+__pyx_t_5); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1044, __pyx_L1_error) + __pyx_t_2 = __Pyx_PyCFunction_FastCall(__pyx_t_1, __pyx_temp+1-__pyx_t_5, 2+__pyx_t_5); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1052, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_GOTREF(__pyx_t_2); } else #endif { - __pyx_t_3 = PyTuple_New(2+__pyx_t_5); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1044, __pyx_L1_error) + __pyx_t_3 = PyTuple_New(2+__pyx_t_5); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1052, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); if (__pyx_t_6) { __Pyx_GIVEREF(__pyx_t_6); PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_6); __pyx_t_6 = NULL; @@ -11259,21 +11261,21 @@ static PyObject *__pyx_pf_8gedlibpy_6GEDEnv_92compute_edit_distance_on_GXl_graph __Pyx_INCREF(__pyx_v_options); __Pyx_GIVEREF(__pyx_v_options); PyTuple_SET_ITEM(__pyx_t_3, 1+__pyx_t_5, __pyx_v_options); - __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_3, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1044, __pyx_L1_error) + __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_1, __pyx_t_3, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1052, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; } __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "gedlibpy.pyx":1045 + /* "gedlibpy.pyx":1053 * * self.set_method(method, options) * self.init_method() # <<<<<<<<<<<<<< * * #res = [] */ - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_init_method); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1045, __pyx_L1_error) + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_init_method); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1053, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_t_3 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_1))) { @@ -11287,23 +11289,23 @@ static PyObject *__pyx_pf_8gedlibpy_6GEDEnv_92compute_edit_distance_on_GXl_graph } __pyx_t_2 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_1); __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1045, __pyx_L1_error) + if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1053, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "gedlibpy.pyx":1048 + /* "gedlibpy.pyx":1056 * * #res = [] * for g in range(listID[0], listID[1]) : # <<<<<<<<<<<<<< * print("Computation between graph " + str(g) + " with all the others including himself.") * for h in range(listID[0], listID[1]) : */ - __pyx_t_2 = __Pyx_GetItemInt(__pyx_v_listID, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1048, __pyx_L1_error) + __pyx_t_2 = __Pyx_GetItemInt(__pyx_v_listID, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1056, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); - __pyx_t_1 = __Pyx_GetItemInt(__pyx_v_listID, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1048, __pyx_L1_error) + __pyx_t_1 = __Pyx_GetItemInt(__pyx_v_listID, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1056, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); - __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1048, __pyx_L1_error) + __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1056, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_GIVEREF(__pyx_t_2); PyTuple_SET_ITEM(__pyx_t_3, 0, __pyx_t_2); @@ -11311,16 +11313,16 @@ static PyObject *__pyx_pf_8gedlibpy_6GEDEnv_92compute_edit_distance_on_GXl_graph PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_t_1); __pyx_t_2 = 0; __pyx_t_1 = 0; - __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_range, __pyx_t_3, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1048, __pyx_L1_error) + __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_range, __pyx_t_3, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1056, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; if (likely(PyList_CheckExact(__pyx_t_1)) || PyTuple_CheckExact(__pyx_t_1)) { __pyx_t_3 = __pyx_t_1; __Pyx_INCREF(__pyx_t_3); __pyx_t_7 = 0; __pyx_t_8 = NULL; } else { - __pyx_t_7 = -1; __pyx_t_3 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1048, __pyx_L1_error) + __pyx_t_7 = -1; __pyx_t_3 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1056, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); - __pyx_t_8 = Py_TYPE(__pyx_t_3)->tp_iternext; if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1048, __pyx_L1_error) + __pyx_t_8 = Py_TYPE(__pyx_t_3)->tp_iternext; if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1056, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; for (;;) { @@ -11328,17 +11330,17 @@ static PyObject *__pyx_pf_8gedlibpy_6GEDEnv_92compute_edit_distance_on_GXl_graph if (likely(PyList_CheckExact(__pyx_t_3))) { if (__pyx_t_7 >= PyList_GET_SIZE(__pyx_t_3)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS - __pyx_t_1 = PyList_GET_ITEM(__pyx_t_3, __pyx_t_7); __Pyx_INCREF(__pyx_t_1); __pyx_t_7++; if (unlikely(0 < 0)) __PYX_ERR(0, 1048, __pyx_L1_error) + __pyx_t_1 = PyList_GET_ITEM(__pyx_t_3, __pyx_t_7); __Pyx_INCREF(__pyx_t_1); __pyx_t_7++; if (unlikely(0 < 0)) __PYX_ERR(0, 1056, __pyx_L1_error) #else - __pyx_t_1 = PySequence_ITEM(__pyx_t_3, __pyx_t_7); __pyx_t_7++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1048, __pyx_L1_error) + __pyx_t_1 = PySequence_ITEM(__pyx_t_3, __pyx_t_7); __pyx_t_7++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1056, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); #endif } else { if (__pyx_t_7 >= PyTuple_GET_SIZE(__pyx_t_3)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS - __pyx_t_1 = PyTuple_GET_ITEM(__pyx_t_3, __pyx_t_7); __Pyx_INCREF(__pyx_t_1); __pyx_t_7++; if (unlikely(0 < 0)) __PYX_ERR(0, 1048, __pyx_L1_error) + __pyx_t_1 = PyTuple_GET_ITEM(__pyx_t_3, __pyx_t_7); __Pyx_INCREF(__pyx_t_1); __pyx_t_7++; if (unlikely(0 < 0)) __PYX_ERR(0, 1056, __pyx_L1_error) #else - __pyx_t_1 = PySequence_ITEM(__pyx_t_3, __pyx_t_7); __pyx_t_7++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1048, __pyx_L1_error) + __pyx_t_1 = PySequence_ITEM(__pyx_t_3, __pyx_t_7); __pyx_t_7++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1056, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); #endif } @@ -11348,7 +11350,7 @@ static PyObject *__pyx_pf_8gedlibpy_6GEDEnv_92compute_edit_distance_on_GXl_graph PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); - else __PYX_ERR(0, 1048, __pyx_L1_error) + else __PYX_ERR(0, 1056, __pyx_L1_error) } break; } @@ -11357,38 +11359,38 @@ static PyObject *__pyx_pf_8gedlibpy_6GEDEnv_92compute_edit_distance_on_GXl_graph __Pyx_XDECREF_SET(__pyx_v_g, __pyx_t_1); __pyx_t_1 = 0; - /* "gedlibpy.pyx":1049 + /* "gedlibpy.pyx":1057 * #res = [] * for g in range(listID[0], listID[1]) : * print("Computation between graph " + str(g) + " with all the others including himself.") # <<<<<<<<<<<<<< * for h in range(listID[0], listID[1]) : * #print("Computation between graph " + str(g) + " and graph " + str(h)) */ - __pyx_t_1 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_v_g); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1049, __pyx_L1_error) + __pyx_t_1 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_v_g); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1057, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); - __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_kp_u_Computation_between_graph, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1049, __pyx_L1_error) + __pyx_t_2 = __Pyx_PyUnicode_Concat(__pyx_kp_u_Computation_between_graph, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1057, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = __Pyx_PyUnicode_Concat(__pyx_t_2, __pyx_kp_u_with_all_the_others_including_h); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1049, __pyx_L1_error) + __pyx_t_1 = __Pyx_PyUnicode_Concat(__pyx_t_2, __pyx_kp_u_with_all_the_others_including_h); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1057, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_builtin_print, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1049, __pyx_L1_error) + __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_builtin_print, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1057, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "gedlibpy.pyx":1050 + /* "gedlibpy.pyx":1058 * for g in range(listID[0], listID[1]) : * print("Computation between graph " + str(g) + " with all the others including himself.") * for h in range(listID[0], listID[1]) : # <<<<<<<<<<<<<< * #print("Computation between graph " + str(g) + " and graph " + str(h)) * self.run_method(g,h) */ - __pyx_t_2 = __Pyx_GetItemInt(__pyx_v_listID, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1050, __pyx_L1_error) + __pyx_t_2 = __Pyx_GetItemInt(__pyx_v_listID, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1058, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); - __pyx_t_1 = __Pyx_GetItemInt(__pyx_v_listID, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1050, __pyx_L1_error) + __pyx_t_1 = __Pyx_GetItemInt(__pyx_v_listID, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1058, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); - __pyx_t_6 = PyTuple_New(2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1050, __pyx_L1_error) + __pyx_t_6 = PyTuple_New(2); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1058, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_GIVEREF(__pyx_t_2); PyTuple_SET_ITEM(__pyx_t_6, 0, __pyx_t_2); @@ -11396,16 +11398,16 @@ static PyObject *__pyx_pf_8gedlibpy_6GEDEnv_92compute_edit_distance_on_GXl_graph PyTuple_SET_ITEM(__pyx_t_6, 1, __pyx_t_1); __pyx_t_2 = 0; __pyx_t_1 = 0; - __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_range, __pyx_t_6, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1050, __pyx_L1_error) + __pyx_t_1 = __Pyx_PyObject_Call(__pyx_builtin_range, __pyx_t_6, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1058, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; if (likely(PyList_CheckExact(__pyx_t_1)) || PyTuple_CheckExact(__pyx_t_1)) { __pyx_t_6 = __pyx_t_1; __Pyx_INCREF(__pyx_t_6); __pyx_t_9 = 0; __pyx_t_10 = NULL; } else { - __pyx_t_9 = -1; __pyx_t_6 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1050, __pyx_L1_error) + __pyx_t_9 = -1; __pyx_t_6 = PyObject_GetIter(__pyx_t_1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1058, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); - __pyx_t_10 = Py_TYPE(__pyx_t_6)->tp_iternext; if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1050, __pyx_L1_error) + __pyx_t_10 = Py_TYPE(__pyx_t_6)->tp_iternext; if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1058, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; for (;;) { @@ -11413,17 +11415,17 @@ static PyObject *__pyx_pf_8gedlibpy_6GEDEnv_92compute_edit_distance_on_GXl_graph if (likely(PyList_CheckExact(__pyx_t_6))) { if (__pyx_t_9 >= PyList_GET_SIZE(__pyx_t_6)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS - __pyx_t_1 = PyList_GET_ITEM(__pyx_t_6, __pyx_t_9); __Pyx_INCREF(__pyx_t_1); __pyx_t_9++; if (unlikely(0 < 0)) __PYX_ERR(0, 1050, __pyx_L1_error) + __pyx_t_1 = PyList_GET_ITEM(__pyx_t_6, __pyx_t_9); __Pyx_INCREF(__pyx_t_1); __pyx_t_9++; if (unlikely(0 < 0)) __PYX_ERR(0, 1058, __pyx_L1_error) #else - __pyx_t_1 = PySequence_ITEM(__pyx_t_6, __pyx_t_9); __pyx_t_9++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1050, __pyx_L1_error) + __pyx_t_1 = PySequence_ITEM(__pyx_t_6, __pyx_t_9); __pyx_t_9++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1058, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); #endif } else { if (__pyx_t_9 >= PyTuple_GET_SIZE(__pyx_t_6)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS - __pyx_t_1 = PyTuple_GET_ITEM(__pyx_t_6, __pyx_t_9); __Pyx_INCREF(__pyx_t_1); __pyx_t_9++; if (unlikely(0 < 0)) __PYX_ERR(0, 1050, __pyx_L1_error) + __pyx_t_1 = PyTuple_GET_ITEM(__pyx_t_6, __pyx_t_9); __Pyx_INCREF(__pyx_t_1); __pyx_t_9++; if (unlikely(0 < 0)) __PYX_ERR(0, 1058, __pyx_L1_error) #else - __pyx_t_1 = PySequence_ITEM(__pyx_t_6, __pyx_t_9); __pyx_t_9++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1050, __pyx_L1_error) + __pyx_t_1 = PySequence_ITEM(__pyx_t_6, __pyx_t_9); __pyx_t_9++; if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1058, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); #endif } @@ -11433,7 +11435,7 @@ static PyObject *__pyx_pf_8gedlibpy_6GEDEnv_92compute_edit_distance_on_GXl_graph PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); - else __PYX_ERR(0, 1050, __pyx_L1_error) + else __PYX_ERR(0, 1058, __pyx_L1_error) } break; } @@ -11442,14 +11444,14 @@ static PyObject *__pyx_pf_8gedlibpy_6GEDEnv_92compute_edit_distance_on_GXl_graph __Pyx_XDECREF_SET(__pyx_v_h, __pyx_t_1); __pyx_t_1 = 0; - /* "gedlibpy.pyx":1052 + /* "gedlibpy.pyx":1060 * for h in range(listID[0], listID[1]) : * #print("Computation between graph " + str(g) + " and graph " + str(h)) * self.run_method(g,h) # <<<<<<<<<<<<<< * #res.append((get_upper_bound(g,h), get_node_map(g,h), get_runtime(g,h))) * */ - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_run_method); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1052, __pyx_L1_error) + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_run_method); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1060, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_11 = NULL; __pyx_t_5 = 0; @@ -11466,7 +11468,7 @@ static PyObject *__pyx_pf_8gedlibpy_6GEDEnv_92compute_edit_distance_on_GXl_graph #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_2)) { PyObject *__pyx_temp[3] = {__pyx_t_11, __pyx_v_g, __pyx_v_h}; - __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_5, 2+__pyx_t_5); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1052, __pyx_L1_error) + __pyx_t_1 = __Pyx_PyFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_5, 2+__pyx_t_5); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1060, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0; __Pyx_GOTREF(__pyx_t_1); } else @@ -11474,13 +11476,13 @@ static PyObject *__pyx_pf_8gedlibpy_6GEDEnv_92compute_edit_distance_on_GXl_graph #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_2)) { PyObject *__pyx_temp[3] = {__pyx_t_11, __pyx_v_g, __pyx_v_h}; - __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_5, 2+__pyx_t_5); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1052, __pyx_L1_error) + __pyx_t_1 = __Pyx_PyCFunction_FastCall(__pyx_t_2, __pyx_temp+1-__pyx_t_5, 2+__pyx_t_5); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1060, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_11); __pyx_t_11 = 0; __Pyx_GOTREF(__pyx_t_1); } else #endif { - __pyx_t_12 = PyTuple_New(2+__pyx_t_5); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 1052, __pyx_L1_error) + __pyx_t_12 = PyTuple_New(2+__pyx_t_5); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 1060, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); if (__pyx_t_11) { __Pyx_GIVEREF(__pyx_t_11); PyTuple_SET_ITEM(__pyx_t_12, 0, __pyx_t_11); __pyx_t_11 = NULL; @@ -11491,14 +11493,14 @@ static PyObject *__pyx_pf_8gedlibpy_6GEDEnv_92compute_edit_distance_on_GXl_graph __Pyx_INCREF(__pyx_v_h); __Pyx_GIVEREF(__pyx_v_h); PyTuple_SET_ITEM(__pyx_t_12, 1+__pyx_t_5, __pyx_v_h); - __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_12, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1052, __pyx_L1_error) + __pyx_t_1 = __Pyx_PyObject_Call(__pyx_t_2, __pyx_t_12, NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1060, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; } __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - /* "gedlibpy.pyx":1050 + /* "gedlibpy.pyx":1058 * for g in range(listID[0], listID[1]) : * print("Computation between graph " + str(g) + " with all the others including himself.") * for h in range(listID[0], listID[1]) : # <<<<<<<<<<<<<< @@ -11508,7 +11510,7 @@ static PyObject *__pyx_pf_8gedlibpy_6GEDEnv_92compute_edit_distance_on_GXl_graph } __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - /* "gedlibpy.pyx":1048 + /* "gedlibpy.pyx":1056 * * #res = [] * for g in range(listID[0], listID[1]) : # <<<<<<<<<<<<<< @@ -11518,29 +11520,29 @@ static PyObject *__pyx_pf_8gedlibpy_6GEDEnv_92compute_edit_distance_on_GXl_graph } __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - /* "gedlibpy.pyx":1057 + /* "gedlibpy.pyx":1065 * #return res * * print ("Finish ! You can check the result with each ID of graphs ! There are in the return") # <<<<<<<<<<<<<< * print ("Please don't restart the environment or recall this function, you will lose your results !") * return listID */ - __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_print, __pyx_tuple__9, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1057, __pyx_L1_error) + __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_print, __pyx_tuple__9, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1065, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - /* "gedlibpy.pyx":1058 + /* "gedlibpy.pyx":1066 * * print ("Finish ! You can check the result with each ID of graphs ! There are in the return") * print ("Please don't restart the environment or recall this function, you will lose your results !") # <<<<<<<<<<<<<< * return listID * */ - __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_print, __pyx_tuple__10, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1058, __pyx_L1_error) + __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_print, __pyx_tuple__10, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1066, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - /* "gedlibpy.pyx":1059 + /* "gedlibpy.pyx":1067 * print ("Finish ! You can check the result with each ID of graphs ! There are in the return") * print ("Please don't restart the environment or recall this function, you will lose your results !") * return listID # <<<<<<<<<<<<<< @@ -11552,7 +11554,7 @@ static PyObject *__pyx_pf_8gedlibpy_6GEDEnv_92compute_edit_distance_on_GXl_graph __pyx_r = __pyx_v_listID; goto __pyx_L0; - /* "gedlibpy.pyx":1006 + /* "gedlibpy.pyx":1014 * * * def compute_edit_distance_on_GXl_graphs(self, path_folder, path_XML, edit_cost, method, options="", init_option="EAGER_WITHOUT_SHUFFLED_COPIES") : # <<<<<<<<<<<<<< @@ -11579,7 +11581,7 @@ static PyObject *__pyx_pf_8gedlibpy_6GEDEnv_92compute_edit_distance_on_GXl_graph return __pyx_r; } -/* "gedlibpy.pyx":1062 +/* "gedlibpy.pyx":1070 * * * def get_num_node_labels(self): # <<<<<<<<<<<<<< @@ -11608,7 +11610,7 @@ static PyObject *__pyx_pf_8gedlibpy_6GEDEnv_94get_num_node_labels(struct __pyx_o PyObject *__pyx_t_2 = NULL; __Pyx_RefNannySetupContext("get_num_node_labels", 0); - /* "gedlibpy.pyx":1071 + /* "gedlibpy.pyx":1079 * .. note:: If 1 is returned, the nodes are unlabeled. * """ * return self.c_env.getNumNodeLabels() # <<<<<<<<<<<<<< @@ -11620,15 +11622,15 @@ static PyObject *__pyx_pf_8gedlibpy_6GEDEnv_94get_num_node_labels(struct __pyx_o __pyx_t_1 = __pyx_v_self->c_env->getNumNodeLabels(); } catch(...) { __Pyx_CppExn2PyErr(); - __PYX_ERR(0, 1071, __pyx_L1_error) + __PYX_ERR(0, 1079, __pyx_L1_error) } - __pyx_t_2 = __Pyx_PyInt_FromSize_t(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1071, __pyx_L1_error) + __pyx_t_2 = __Pyx_PyInt_FromSize_t(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1079, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_r = __pyx_t_2; __pyx_t_2 = 0; goto __pyx_L0; - /* "gedlibpy.pyx":1062 + /* "gedlibpy.pyx":1070 * * * def get_num_node_labels(self): # <<<<<<<<<<<<<< @@ -11647,7 +11649,7 @@ static PyObject *__pyx_pf_8gedlibpy_6GEDEnv_94get_num_node_labels(struct __pyx_o return __pyx_r; } -/* "gedlibpy.pyx":1074 +/* "gedlibpy.pyx":1082 * * * def get_node_label(self, label_id): # <<<<<<<<<<<<<< @@ -11680,7 +11682,7 @@ static PyObject *__pyx_pf_8gedlibpy_6GEDEnv_96get_node_label(struct __pyx_obj_8g PyObject *__pyx_t_6 = NULL; __Pyx_RefNannySetupContext("get_node_label", 0); - /* "gedlibpy.pyx":1083 + /* "gedlibpy.pyx":1091 * :rtype: dict{string : string} * """ * return decode_your_map(self.c_env.getNodeLabel(label_id)) # <<<<<<<<<<<<<< @@ -11688,16 +11690,16 @@ static PyObject *__pyx_pf_8gedlibpy_6GEDEnv_96get_node_label(struct __pyx_obj_8g * */ __Pyx_XDECREF(__pyx_r); - __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_decode_your_map); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1083, __pyx_L1_error) + __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_decode_your_map); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1091, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); - __pyx_t_3 = __Pyx_PyInt_As_size_t(__pyx_v_label_id); if (unlikely((__pyx_t_3 == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 1083, __pyx_L1_error) + __pyx_t_3 = __Pyx_PyInt_As_size_t(__pyx_v_label_id); if (unlikely((__pyx_t_3 == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 1091, __pyx_L1_error) try { __pyx_t_4 = __pyx_v_self->c_env->getNodeLabel(__pyx_t_3); } catch(...) { __Pyx_CppExn2PyErr(); - __PYX_ERR(0, 1083, __pyx_L1_error) + __PYX_ERR(0, 1091, __pyx_L1_error) } - __pyx_t_5 = __pyx_convert_map_to_py_std_3a__3a_string____std_3a__3a_string(__pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1083, __pyx_L1_error) + __pyx_t_5 = __pyx_convert_map_to_py_std_3a__3a_string____std_3a__3a_string(__pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1091, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_6 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) { @@ -11712,14 +11714,14 @@ static PyObject *__pyx_pf_8gedlibpy_6GEDEnv_96get_node_label(struct __pyx_obj_8g __pyx_t_1 = (__pyx_t_6) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_6, __pyx_t_5) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_5); __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1083, __pyx_L1_error) + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1091, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_r = __pyx_t_1; __pyx_t_1 = 0; goto __pyx_L0; - /* "gedlibpy.pyx":1074 + /* "gedlibpy.pyx":1082 * * * def get_node_label(self, label_id): # <<<<<<<<<<<<<< @@ -11741,7 +11743,7 @@ static PyObject *__pyx_pf_8gedlibpy_6GEDEnv_96get_node_label(struct __pyx_obj_8g return __pyx_r; } -/* "gedlibpy.pyx":1086 +/* "gedlibpy.pyx":1094 * * * def get_num_edge_labels(self): # <<<<<<<<<<<<<< @@ -11770,7 +11772,7 @@ static PyObject *__pyx_pf_8gedlibpy_6GEDEnv_98get_num_edge_labels(struct __pyx_o PyObject *__pyx_t_2 = NULL; __Pyx_RefNannySetupContext("get_num_edge_labels", 0); - /* "gedlibpy.pyx":1095 + /* "gedlibpy.pyx":1103 * .. note:: If 1 is returned, the edges are unlabeled. * """ * return self.c_env.getNumEdgeLabels() # <<<<<<<<<<<<<< @@ -11782,15 +11784,15 @@ static PyObject *__pyx_pf_8gedlibpy_6GEDEnv_98get_num_edge_labels(struct __pyx_o __pyx_t_1 = __pyx_v_self->c_env->getNumEdgeLabels(); } catch(...) { __Pyx_CppExn2PyErr(); - __PYX_ERR(0, 1095, __pyx_L1_error) + __PYX_ERR(0, 1103, __pyx_L1_error) } - __pyx_t_2 = __Pyx_PyInt_FromSize_t(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1095, __pyx_L1_error) + __pyx_t_2 = __Pyx_PyInt_FromSize_t(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1103, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_r = __pyx_t_2; __pyx_t_2 = 0; goto __pyx_L0; - /* "gedlibpy.pyx":1086 + /* "gedlibpy.pyx":1094 * * * def get_num_edge_labels(self): # <<<<<<<<<<<<<< @@ -11809,7 +11811,7 @@ static PyObject *__pyx_pf_8gedlibpy_6GEDEnv_98get_num_edge_labels(struct __pyx_o return __pyx_r; } -/* "gedlibpy.pyx":1098 +/* "gedlibpy.pyx":1106 * * * def get_edge_label(self, label_id): # <<<<<<<<<<<<<< @@ -11842,7 +11844,7 @@ static PyObject *__pyx_pf_8gedlibpy_6GEDEnv_100get_edge_label(struct __pyx_obj_8 PyObject *__pyx_t_6 = NULL; __Pyx_RefNannySetupContext("get_edge_label", 0); - /* "gedlibpy.pyx":1107 + /* "gedlibpy.pyx":1115 * :rtype: dict{string : string} * """ * return decode_your_map(self.c_env.getEdgeLabel(label_id)) # <<<<<<<<<<<<<< @@ -11850,16 +11852,16 @@ static PyObject *__pyx_pf_8gedlibpy_6GEDEnv_100get_edge_label(struct __pyx_obj_8 * */ __Pyx_XDECREF(__pyx_r); - __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_decode_your_map); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1107, __pyx_L1_error) + __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_decode_your_map); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1115, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); - __pyx_t_3 = __Pyx_PyInt_As_size_t(__pyx_v_label_id); if (unlikely((__pyx_t_3 == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 1107, __pyx_L1_error) + __pyx_t_3 = __Pyx_PyInt_As_size_t(__pyx_v_label_id); if (unlikely((__pyx_t_3 == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 1115, __pyx_L1_error) try { __pyx_t_4 = __pyx_v_self->c_env->getEdgeLabel(__pyx_t_3); } catch(...) { __Pyx_CppExn2PyErr(); - __PYX_ERR(0, 1107, __pyx_L1_error) + __PYX_ERR(0, 1115, __pyx_L1_error) } - __pyx_t_5 = __pyx_convert_map_to_py_std_3a__3a_string____std_3a__3a_string(__pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1107, __pyx_L1_error) + __pyx_t_5 = __pyx_convert_map_to_py_std_3a__3a_string____std_3a__3a_string(__pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1115, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_6 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) { @@ -11874,14 +11876,14 @@ static PyObject *__pyx_pf_8gedlibpy_6GEDEnv_100get_edge_label(struct __pyx_obj_8 __pyx_t_1 = (__pyx_t_6) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_6, __pyx_t_5) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_5); __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1107, __pyx_L1_error) + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1115, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_r = __pyx_t_1; __pyx_t_1 = 0; goto __pyx_L0; - /* "gedlibpy.pyx":1098 + /* "gedlibpy.pyx":1106 * * * def get_edge_label(self, label_id): # <<<<<<<<<<<<<< @@ -11903,7 +11905,7 @@ static PyObject *__pyx_pf_8gedlibpy_6GEDEnv_100get_edge_label(struct __pyx_obj_8 return __pyx_r; } -/* "gedlibpy.pyx":1121 +/* "gedlibpy.pyx":1129 * # return self.c_env.getNumNodes(graph_id) * * def get_avg_num_nodes(self): # <<<<<<<<<<<<<< @@ -11932,7 +11934,7 @@ static PyObject *__pyx_pf_8gedlibpy_6GEDEnv_102get_avg_num_nodes(struct __pyx_ob PyObject *__pyx_t_2 = NULL; __Pyx_RefNannySetupContext("get_avg_num_nodes", 0); - /* "gedlibpy.pyx":1128 + /* "gedlibpy.pyx":1136 * :rtype: double * """ * return self.c_env.getAvgNumNodes() # <<<<<<<<<<<<<< @@ -11944,15 +11946,15 @@ static PyObject *__pyx_pf_8gedlibpy_6GEDEnv_102get_avg_num_nodes(struct __pyx_ob __pyx_t_1 = __pyx_v_self->c_env->getAvgNumNodes(); } catch(...) { __Pyx_CppExn2PyErr(); - __PYX_ERR(0, 1128, __pyx_L1_error) + __PYX_ERR(0, 1136, __pyx_L1_error) } - __pyx_t_2 = PyFloat_FromDouble(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1128, __pyx_L1_error) + __pyx_t_2 = PyFloat_FromDouble(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1136, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_r = __pyx_t_2; __pyx_t_2 = 0; goto __pyx_L0; - /* "gedlibpy.pyx":1121 + /* "gedlibpy.pyx":1129 * # return self.c_env.getNumNodes(graph_id) * * def get_avg_num_nodes(self): # <<<<<<<<<<<<<< @@ -11971,7 +11973,7 @@ static PyObject *__pyx_pf_8gedlibpy_6GEDEnv_102get_avg_num_nodes(struct __pyx_ob return __pyx_r; } -/* "gedlibpy.pyx":1130 +/* "gedlibpy.pyx":1138 * return self.c_env.getAvgNumNodes() * * def get_node_rel_cost(self, node_label_1, node_label_2): # <<<<<<<<<<<<<< @@ -12011,11 +12013,11 @@ static PyObject *__pyx_pw_8gedlibpy_6GEDEnv_105get_node_rel_cost(PyObject *__pyx case 1: if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_node_label_2)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("get_node_rel_cost", 1, 2, 2, 1); __PYX_ERR(0, 1130, __pyx_L3_error) + __Pyx_RaiseArgtupleInvalid("get_node_rel_cost", 1, 2, 2, 1); __PYX_ERR(0, 1138, __pyx_L3_error) } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "get_node_rel_cost") < 0)) __PYX_ERR(0, 1130, __pyx_L3_error) + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "get_node_rel_cost") < 0)) __PYX_ERR(0, 1138, __pyx_L3_error) } } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { goto __pyx_L5_argtuple_error; @@ -12028,7 +12030,7 @@ static PyObject *__pyx_pw_8gedlibpy_6GEDEnv_105get_node_rel_cost(PyObject *__pyx } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("get_node_rel_cost", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 1130, __pyx_L3_error) + __Pyx_RaiseArgtupleInvalid("get_node_rel_cost", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 1138, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("gedlibpy.GEDEnv.get_node_rel_cost", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); @@ -12052,7 +12054,7 @@ static PyObject *__pyx_pf_8gedlibpy_6GEDEnv_104get_node_rel_cost(struct __pyx_ob double __pyx_t_6; __Pyx_RefNannySetupContext("get_node_rel_cost", 0); - /* "gedlibpy.pyx":1141 + /* "gedlibpy.pyx":1149 * :rtype: double * """ * return self.c_env.getNodeRelCost(encode_your_map(node_label_1), encode_your_map(node_label_2)) # <<<<<<<<<<<<<< @@ -12060,7 +12062,7 @@ static PyObject *__pyx_pf_8gedlibpy_6GEDEnv_104get_node_rel_cost(struct __pyx_ob * */ __Pyx_XDECREF(__pyx_r); - __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_encode_your_map); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1141, __pyx_L1_error) + __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_encode_your_map); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1149, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_3 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) { @@ -12074,12 +12076,12 @@ static PyObject *__pyx_pf_8gedlibpy_6GEDEnv_104get_node_rel_cost(struct __pyx_ob } __pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_3, __pyx_v_node_label_1) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_v_node_label_1); __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1141, __pyx_L1_error) + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1149, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_4 = __pyx_convert_map_from_py_std_3a__3a_string__and_std_3a__3a_string(__pyx_t_1); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 1141, __pyx_L1_error) + __pyx_t_4 = __pyx_convert_map_from_py_std_3a__3a_string__and_std_3a__3a_string(__pyx_t_1); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 1149, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_encode_your_map); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1141, __pyx_L1_error) + __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_encode_your_map); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1149, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_3 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) { @@ -12093,24 +12095,24 @@ static PyObject *__pyx_pf_8gedlibpy_6GEDEnv_104get_node_rel_cost(struct __pyx_ob } __pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_3, __pyx_v_node_label_2) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_v_node_label_2); __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1141, __pyx_L1_error) + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1149, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_5 = __pyx_convert_map_from_py_std_3a__3a_string__and_std_3a__3a_string(__pyx_t_1); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 1141, __pyx_L1_error) + __pyx_t_5 = __pyx_convert_map_from_py_std_3a__3a_string__and_std_3a__3a_string(__pyx_t_1); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 1149, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; try { __pyx_t_6 = __pyx_v_self->c_env->getNodeRelCost(__pyx_t_4, __pyx_t_5); } catch(...) { __Pyx_CppExn2PyErr(); - __PYX_ERR(0, 1141, __pyx_L1_error) + __PYX_ERR(0, 1149, __pyx_L1_error) } - __pyx_t_1 = PyFloat_FromDouble(__pyx_t_6); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1141, __pyx_L1_error) + __pyx_t_1 = PyFloat_FromDouble(__pyx_t_6); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1149, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_r = __pyx_t_1; __pyx_t_1 = 0; goto __pyx_L0; - /* "gedlibpy.pyx":1130 + /* "gedlibpy.pyx":1138 * return self.c_env.getAvgNumNodes() * * def get_node_rel_cost(self, node_label_1, node_label_2): # <<<<<<<<<<<<<< @@ -12131,7 +12133,7 @@ static PyObject *__pyx_pf_8gedlibpy_6GEDEnv_104get_node_rel_cost(struct __pyx_ob return __pyx_r; } -/* "gedlibpy.pyx":1144 +/* "gedlibpy.pyx":1152 * * * def get_node_del_cost(self, node_label): # <<<<<<<<<<<<<< @@ -12163,7 +12165,7 @@ static PyObject *__pyx_pf_8gedlibpy_6GEDEnv_106get_node_del_cost(struct __pyx_ob double __pyx_t_5; __Pyx_RefNannySetupContext("get_node_del_cost", 0); - /* "gedlibpy.pyx":1153 + /* "gedlibpy.pyx":1161 * :rtype: double * """ * return self.c_env.getNodeDelCost(encode_your_map(node_label)) # <<<<<<<<<<<<<< @@ -12171,7 +12173,7 @@ static PyObject *__pyx_pf_8gedlibpy_6GEDEnv_106get_node_del_cost(struct __pyx_ob * */ __Pyx_XDECREF(__pyx_r); - __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_encode_your_map); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1153, __pyx_L1_error) + __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_encode_your_map); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1161, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_3 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) { @@ -12185,24 +12187,24 @@ static PyObject *__pyx_pf_8gedlibpy_6GEDEnv_106get_node_del_cost(struct __pyx_ob } __pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_3, __pyx_v_node_label) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_v_node_label); __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1153, __pyx_L1_error) + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1161, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_4 = __pyx_convert_map_from_py_std_3a__3a_string__and_std_3a__3a_string(__pyx_t_1); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 1153, __pyx_L1_error) + __pyx_t_4 = __pyx_convert_map_from_py_std_3a__3a_string__and_std_3a__3a_string(__pyx_t_1); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 1161, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; try { __pyx_t_5 = __pyx_v_self->c_env->getNodeDelCost(__pyx_t_4); } catch(...) { __Pyx_CppExn2PyErr(); - __PYX_ERR(0, 1153, __pyx_L1_error) + __PYX_ERR(0, 1161, __pyx_L1_error) } - __pyx_t_1 = PyFloat_FromDouble(__pyx_t_5); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1153, __pyx_L1_error) + __pyx_t_1 = PyFloat_FromDouble(__pyx_t_5); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1161, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_r = __pyx_t_1; __pyx_t_1 = 0; goto __pyx_L0; - /* "gedlibpy.pyx":1144 + /* "gedlibpy.pyx":1152 * * * def get_node_del_cost(self, node_label): # <<<<<<<<<<<<<< @@ -12223,7 +12225,7 @@ static PyObject *__pyx_pf_8gedlibpy_6GEDEnv_106get_node_del_cost(struct __pyx_ob return __pyx_r; } -/* "gedlibpy.pyx":1156 +/* "gedlibpy.pyx":1164 * * * def get_node_ins_cost(self, node_label): # <<<<<<<<<<<<<< @@ -12255,7 +12257,7 @@ static PyObject *__pyx_pf_8gedlibpy_6GEDEnv_108get_node_ins_cost(struct __pyx_ob double __pyx_t_5; __Pyx_RefNannySetupContext("get_node_ins_cost", 0); - /* "gedlibpy.pyx":1165 + /* "gedlibpy.pyx":1173 * :rtype: double * """ * return self.c_env.getNodeInsCost(encode_your_map(node_label)) # <<<<<<<<<<<<<< @@ -12263,7 +12265,7 @@ static PyObject *__pyx_pf_8gedlibpy_6GEDEnv_108get_node_ins_cost(struct __pyx_ob * */ __Pyx_XDECREF(__pyx_r); - __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_encode_your_map); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1165, __pyx_L1_error) + __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_encode_your_map); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1173, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_3 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) { @@ -12277,24 +12279,24 @@ static PyObject *__pyx_pf_8gedlibpy_6GEDEnv_108get_node_ins_cost(struct __pyx_ob } __pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_3, __pyx_v_node_label) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_v_node_label); __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1165, __pyx_L1_error) + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1173, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_4 = __pyx_convert_map_from_py_std_3a__3a_string__and_std_3a__3a_string(__pyx_t_1); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 1165, __pyx_L1_error) + __pyx_t_4 = __pyx_convert_map_from_py_std_3a__3a_string__and_std_3a__3a_string(__pyx_t_1); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 1173, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; try { __pyx_t_5 = __pyx_v_self->c_env->getNodeInsCost(__pyx_t_4); } catch(...) { __Pyx_CppExn2PyErr(); - __PYX_ERR(0, 1165, __pyx_L1_error) + __PYX_ERR(0, 1173, __pyx_L1_error) } - __pyx_t_1 = PyFloat_FromDouble(__pyx_t_5); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1165, __pyx_L1_error) + __pyx_t_1 = PyFloat_FromDouble(__pyx_t_5); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1173, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_r = __pyx_t_1; __pyx_t_1 = 0; goto __pyx_L0; - /* "gedlibpy.pyx":1156 + /* "gedlibpy.pyx":1164 * * * def get_node_ins_cost(self, node_label): # <<<<<<<<<<<<<< @@ -12315,7 +12317,7 @@ static PyObject *__pyx_pf_8gedlibpy_6GEDEnv_108get_node_ins_cost(struct __pyx_ob return __pyx_r; } -/* "gedlibpy.pyx":1168 +/* "gedlibpy.pyx":1176 * * * def get_median_node_label(self, node_labels): # <<<<<<<<<<<<<< @@ -12353,7 +12355,7 @@ static PyObject *__pyx_pf_8gedlibpy_6GEDEnv_110get_median_node_label(struct __py std::map __pyx_t_9; __Pyx_RefNannySetupContext("get_median_node_label", 0); - /* "gedlibpy.pyx":1177 + /* "gedlibpy.pyx":1185 * :rtype: dict{string : string} * """ * node_labels_b = [encode_your_map(node_label) for node_label in node_labels] # <<<<<<<<<<<<<< @@ -12361,32 +12363,32 @@ static PyObject *__pyx_pf_8gedlibpy_6GEDEnv_110get_median_node_label(struct __py * */ { /* enter inner scope */ - __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1177, __pyx_L5_error) + __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1185, __pyx_L5_error) __Pyx_GOTREF(__pyx_t_1); if (likely(PyList_CheckExact(__pyx_v_node_labels)) || PyTuple_CheckExact(__pyx_v_node_labels)) { __pyx_t_2 = __pyx_v_node_labels; __Pyx_INCREF(__pyx_t_2); __pyx_t_3 = 0; __pyx_t_4 = NULL; } else { - __pyx_t_3 = -1; __pyx_t_2 = PyObject_GetIter(__pyx_v_node_labels); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1177, __pyx_L5_error) + __pyx_t_3 = -1; __pyx_t_2 = PyObject_GetIter(__pyx_v_node_labels); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1185, __pyx_L5_error) __Pyx_GOTREF(__pyx_t_2); - __pyx_t_4 = Py_TYPE(__pyx_t_2)->tp_iternext; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1177, __pyx_L5_error) + __pyx_t_4 = Py_TYPE(__pyx_t_2)->tp_iternext; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1185, __pyx_L5_error) } for (;;) { if (likely(!__pyx_t_4)) { if (likely(PyList_CheckExact(__pyx_t_2))) { if (__pyx_t_3 >= PyList_GET_SIZE(__pyx_t_2)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS - __pyx_t_5 = PyList_GET_ITEM(__pyx_t_2, __pyx_t_3); __Pyx_INCREF(__pyx_t_5); __pyx_t_3++; if (unlikely(0 < 0)) __PYX_ERR(0, 1177, __pyx_L5_error) + __pyx_t_5 = PyList_GET_ITEM(__pyx_t_2, __pyx_t_3); __Pyx_INCREF(__pyx_t_5); __pyx_t_3++; if (unlikely(0 < 0)) __PYX_ERR(0, 1185, __pyx_L5_error) #else - __pyx_t_5 = PySequence_ITEM(__pyx_t_2, __pyx_t_3); __pyx_t_3++; if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1177, __pyx_L5_error) + __pyx_t_5 = PySequence_ITEM(__pyx_t_2, __pyx_t_3); __pyx_t_3++; if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1185, __pyx_L5_error) __Pyx_GOTREF(__pyx_t_5); #endif } else { if (__pyx_t_3 >= PyTuple_GET_SIZE(__pyx_t_2)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS - __pyx_t_5 = PyTuple_GET_ITEM(__pyx_t_2, __pyx_t_3); __Pyx_INCREF(__pyx_t_5); __pyx_t_3++; if (unlikely(0 < 0)) __PYX_ERR(0, 1177, __pyx_L5_error) + __pyx_t_5 = PyTuple_GET_ITEM(__pyx_t_2, __pyx_t_3); __Pyx_INCREF(__pyx_t_5); __pyx_t_3++; if (unlikely(0 < 0)) __PYX_ERR(0, 1185, __pyx_L5_error) #else - __pyx_t_5 = PySequence_ITEM(__pyx_t_2, __pyx_t_3); __pyx_t_3++; if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1177, __pyx_L5_error) + __pyx_t_5 = PySequence_ITEM(__pyx_t_2, __pyx_t_3); __pyx_t_3++; if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1185, __pyx_L5_error) __Pyx_GOTREF(__pyx_t_5); #endif } @@ -12396,7 +12398,7 @@ static PyObject *__pyx_pf_8gedlibpy_6GEDEnv_110get_median_node_label(struct __py PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); - else __PYX_ERR(0, 1177, __pyx_L5_error) + else __PYX_ERR(0, 1185, __pyx_L5_error) } break; } @@ -12404,7 +12406,7 @@ static PyObject *__pyx_pf_8gedlibpy_6GEDEnv_110get_median_node_label(struct __py } __Pyx_XDECREF_SET(__pyx_8genexpr9__pyx_v_node_label, __pyx_t_5); __pyx_t_5 = 0; - __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_n_s_encode_your_map); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1177, __pyx_L5_error) + __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_n_s_encode_your_map); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1185, __pyx_L5_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_7 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_6))) { @@ -12418,10 +12420,10 @@ static PyObject *__pyx_pf_8gedlibpy_6GEDEnv_110get_median_node_label(struct __py } __pyx_t_5 = (__pyx_t_7) ? __Pyx_PyObject_Call2Args(__pyx_t_6, __pyx_t_7, __pyx_8genexpr9__pyx_v_node_label) : __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_8genexpr9__pyx_v_node_label); __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; - if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1177, __pyx_L5_error) + if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1185, __pyx_L5_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - if (unlikely(__Pyx_ListComp_Append(__pyx_t_1, (PyObject*)__pyx_t_5))) __PYX_ERR(0, 1177, __pyx_L5_error) + if (unlikely(__Pyx_ListComp_Append(__pyx_t_1, (PyObject*)__pyx_t_5))) __PYX_ERR(0, 1185, __pyx_L5_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; } __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; @@ -12435,7 +12437,7 @@ static PyObject *__pyx_pf_8gedlibpy_6GEDEnv_110get_median_node_label(struct __py __pyx_v_node_labels_b = ((PyObject*)__pyx_t_1); __pyx_t_1 = 0; - /* "gedlibpy.pyx":1178 + /* "gedlibpy.pyx":1186 * """ * node_labels_b = [encode_your_map(node_label) for node_label in node_labels] * return decode_your_map(self.c_env.getMedianNodeLabel(node_labels_b)) # <<<<<<<<<<<<<< @@ -12443,16 +12445,16 @@ static PyObject *__pyx_pf_8gedlibpy_6GEDEnv_110get_median_node_label(struct __py * */ __Pyx_XDECREF(__pyx_r); - __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_decode_your_map); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1178, __pyx_L1_error) + __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_decode_your_map); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1186, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); - __pyx_t_8 = __pyx_convert_vector_from_py_std_3a__3a_map_3c_std_3a__3a_string_2c_std_3a__3a_string_3e___(__pyx_v_node_labels_b); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 1178, __pyx_L1_error) + __pyx_t_8 = __pyx_convert_vector_from_py_std_3a__3a_map_3c_std_3a__3a_string_2c_std_3a__3a_string_3e___(__pyx_v_node_labels_b); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 1186, __pyx_L1_error) try { __pyx_t_9 = __pyx_v_self->c_env->getMedianNodeLabel(__pyx_t_8); } catch(...) { __Pyx_CppExn2PyErr(); - __PYX_ERR(0, 1178, __pyx_L1_error) + __PYX_ERR(0, 1186, __pyx_L1_error) } - __pyx_t_5 = __pyx_convert_map_to_py_std_3a__3a_string____std_3a__3a_string(__pyx_t_9); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1178, __pyx_L1_error) + __pyx_t_5 = __pyx_convert_map_to_py_std_3a__3a_string____std_3a__3a_string(__pyx_t_9); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1186, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_6 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) { @@ -12467,14 +12469,14 @@ static PyObject *__pyx_pf_8gedlibpy_6GEDEnv_110get_median_node_label(struct __py __pyx_t_1 = (__pyx_t_6) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_6, __pyx_t_5) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_5); __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1178, __pyx_L1_error) + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1186, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_r = __pyx_t_1; __pyx_t_1 = 0; goto __pyx_L0; - /* "gedlibpy.pyx":1168 + /* "gedlibpy.pyx":1176 * * * def get_median_node_label(self, node_labels): # <<<<<<<<<<<<<< @@ -12499,7 +12501,7 @@ static PyObject *__pyx_pf_8gedlibpy_6GEDEnv_110get_median_node_label(struct __py return __pyx_r; } -/* "gedlibpy.pyx":1181 +/* "gedlibpy.pyx":1189 * * * def get_edge_rel_cost(self, edge_label_1, edge_label_2): # <<<<<<<<<<<<<< @@ -12539,11 +12541,11 @@ static PyObject *__pyx_pw_8gedlibpy_6GEDEnv_113get_edge_rel_cost(PyObject *__pyx case 1: if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_edge_label_2)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("get_edge_rel_cost", 1, 2, 2, 1); __PYX_ERR(0, 1181, __pyx_L3_error) + __Pyx_RaiseArgtupleInvalid("get_edge_rel_cost", 1, 2, 2, 1); __PYX_ERR(0, 1189, __pyx_L3_error) } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "get_edge_rel_cost") < 0)) __PYX_ERR(0, 1181, __pyx_L3_error) + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "get_edge_rel_cost") < 0)) __PYX_ERR(0, 1189, __pyx_L3_error) } } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { goto __pyx_L5_argtuple_error; @@ -12556,7 +12558,7 @@ static PyObject *__pyx_pw_8gedlibpy_6GEDEnv_113get_edge_rel_cost(PyObject *__pyx } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("get_edge_rel_cost", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 1181, __pyx_L3_error) + __Pyx_RaiseArgtupleInvalid("get_edge_rel_cost", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 1189, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("gedlibpy.GEDEnv.get_edge_rel_cost", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); @@ -12580,7 +12582,7 @@ static PyObject *__pyx_pf_8gedlibpy_6GEDEnv_112get_edge_rel_cost(struct __pyx_ob double __pyx_t_6; __Pyx_RefNannySetupContext("get_edge_rel_cost", 0); - /* "gedlibpy.pyx":1192 + /* "gedlibpy.pyx":1200 * :rtype: double * """ * return self.c_env.getEdgeRelCost(encode_your_map(edge_label_1), encode_your_map(edge_label_2)) # <<<<<<<<<<<<<< @@ -12588,7 +12590,7 @@ static PyObject *__pyx_pf_8gedlibpy_6GEDEnv_112get_edge_rel_cost(struct __pyx_ob * */ __Pyx_XDECREF(__pyx_r); - __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_encode_your_map); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1192, __pyx_L1_error) + __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_encode_your_map); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1200, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_3 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) { @@ -12602,12 +12604,12 @@ static PyObject *__pyx_pf_8gedlibpy_6GEDEnv_112get_edge_rel_cost(struct __pyx_ob } __pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_3, __pyx_v_edge_label_1) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_v_edge_label_1); __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1192, __pyx_L1_error) + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1200, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_4 = __pyx_convert_map_from_py_std_3a__3a_string__and_std_3a__3a_string(__pyx_t_1); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 1192, __pyx_L1_error) + __pyx_t_4 = __pyx_convert_map_from_py_std_3a__3a_string__and_std_3a__3a_string(__pyx_t_1); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 1200, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_encode_your_map); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1192, __pyx_L1_error) + __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_encode_your_map); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1200, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_3 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) { @@ -12621,24 +12623,24 @@ static PyObject *__pyx_pf_8gedlibpy_6GEDEnv_112get_edge_rel_cost(struct __pyx_ob } __pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_3, __pyx_v_edge_label_2) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_v_edge_label_2); __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1192, __pyx_L1_error) + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1200, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_5 = __pyx_convert_map_from_py_std_3a__3a_string__and_std_3a__3a_string(__pyx_t_1); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 1192, __pyx_L1_error) + __pyx_t_5 = __pyx_convert_map_from_py_std_3a__3a_string__and_std_3a__3a_string(__pyx_t_1); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 1200, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; try { __pyx_t_6 = __pyx_v_self->c_env->getEdgeRelCost(__pyx_t_4, __pyx_t_5); } catch(...) { __Pyx_CppExn2PyErr(); - __PYX_ERR(0, 1192, __pyx_L1_error) + __PYX_ERR(0, 1200, __pyx_L1_error) } - __pyx_t_1 = PyFloat_FromDouble(__pyx_t_6); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1192, __pyx_L1_error) + __pyx_t_1 = PyFloat_FromDouble(__pyx_t_6); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1200, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_r = __pyx_t_1; __pyx_t_1 = 0; goto __pyx_L0; - /* "gedlibpy.pyx":1181 + /* "gedlibpy.pyx":1189 * * * def get_edge_rel_cost(self, edge_label_1, edge_label_2): # <<<<<<<<<<<<<< @@ -12659,7 +12661,7 @@ static PyObject *__pyx_pf_8gedlibpy_6GEDEnv_112get_edge_rel_cost(struct __pyx_ob return __pyx_r; } -/* "gedlibpy.pyx":1195 +/* "gedlibpy.pyx":1203 * * * def get_edge_del_cost(self, edge_label): # <<<<<<<<<<<<<< @@ -12691,7 +12693,7 @@ static PyObject *__pyx_pf_8gedlibpy_6GEDEnv_114get_edge_del_cost(struct __pyx_ob double __pyx_t_5; __Pyx_RefNannySetupContext("get_edge_del_cost", 0); - /* "gedlibpy.pyx":1204 + /* "gedlibpy.pyx":1212 * :rtype: double * """ * return self.c_env.getEdgeDelCost(encode_your_map(edge_label)) # <<<<<<<<<<<<<< @@ -12699,7 +12701,7 @@ static PyObject *__pyx_pf_8gedlibpy_6GEDEnv_114get_edge_del_cost(struct __pyx_ob * */ __Pyx_XDECREF(__pyx_r); - __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_encode_your_map); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1204, __pyx_L1_error) + __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_encode_your_map); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1212, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_3 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) { @@ -12713,24 +12715,24 @@ static PyObject *__pyx_pf_8gedlibpy_6GEDEnv_114get_edge_del_cost(struct __pyx_ob } __pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_3, __pyx_v_edge_label) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_v_edge_label); __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1204, __pyx_L1_error) + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1212, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_4 = __pyx_convert_map_from_py_std_3a__3a_string__and_std_3a__3a_string(__pyx_t_1); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 1204, __pyx_L1_error) + __pyx_t_4 = __pyx_convert_map_from_py_std_3a__3a_string__and_std_3a__3a_string(__pyx_t_1); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 1212, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; try { __pyx_t_5 = __pyx_v_self->c_env->getEdgeDelCost(__pyx_t_4); } catch(...) { __Pyx_CppExn2PyErr(); - __PYX_ERR(0, 1204, __pyx_L1_error) + __PYX_ERR(0, 1212, __pyx_L1_error) } - __pyx_t_1 = PyFloat_FromDouble(__pyx_t_5); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1204, __pyx_L1_error) + __pyx_t_1 = PyFloat_FromDouble(__pyx_t_5); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1212, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_r = __pyx_t_1; __pyx_t_1 = 0; goto __pyx_L0; - /* "gedlibpy.pyx":1195 + /* "gedlibpy.pyx":1203 * * * def get_edge_del_cost(self, edge_label): # <<<<<<<<<<<<<< @@ -12751,7 +12753,7 @@ static PyObject *__pyx_pf_8gedlibpy_6GEDEnv_114get_edge_del_cost(struct __pyx_ob return __pyx_r; } -/* "gedlibpy.pyx":1207 +/* "gedlibpy.pyx":1215 * * * def get_edge_ins_cost(self, edge_label): # <<<<<<<<<<<<<< @@ -12783,7 +12785,7 @@ static PyObject *__pyx_pf_8gedlibpy_6GEDEnv_116get_edge_ins_cost(struct __pyx_ob double __pyx_t_5; __Pyx_RefNannySetupContext("get_edge_ins_cost", 0); - /* "gedlibpy.pyx":1216 + /* "gedlibpy.pyx":1224 * :rtype: double * """ * return self.c_env.getEdgeInsCost(encode_your_map(edge_label)) # <<<<<<<<<<<<<< @@ -12791,7 +12793,7 @@ static PyObject *__pyx_pf_8gedlibpy_6GEDEnv_116get_edge_ins_cost(struct __pyx_ob * */ __Pyx_XDECREF(__pyx_r); - __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_encode_your_map); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1216, __pyx_L1_error) + __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_encode_your_map); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1224, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_3 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) { @@ -12805,24 +12807,24 @@ static PyObject *__pyx_pf_8gedlibpy_6GEDEnv_116get_edge_ins_cost(struct __pyx_ob } __pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_3, __pyx_v_edge_label) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_v_edge_label); __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1216, __pyx_L1_error) + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1224, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_4 = __pyx_convert_map_from_py_std_3a__3a_string__and_std_3a__3a_string(__pyx_t_1); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 1216, __pyx_L1_error) + __pyx_t_4 = __pyx_convert_map_from_py_std_3a__3a_string__and_std_3a__3a_string(__pyx_t_1); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 1224, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; try { __pyx_t_5 = __pyx_v_self->c_env->getEdgeInsCost(__pyx_t_4); } catch(...) { __Pyx_CppExn2PyErr(); - __PYX_ERR(0, 1216, __pyx_L1_error) + __PYX_ERR(0, 1224, __pyx_L1_error) } - __pyx_t_1 = PyFloat_FromDouble(__pyx_t_5); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1216, __pyx_L1_error) + __pyx_t_1 = PyFloat_FromDouble(__pyx_t_5); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1224, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_r = __pyx_t_1; __pyx_t_1 = 0; goto __pyx_L0; - /* "gedlibpy.pyx":1207 + /* "gedlibpy.pyx":1215 * * * def get_edge_ins_cost(self, edge_label): # <<<<<<<<<<<<<< @@ -12843,7 +12845,7 @@ static PyObject *__pyx_pf_8gedlibpy_6GEDEnv_116get_edge_ins_cost(struct __pyx_ob return __pyx_r; } -/* "gedlibpy.pyx":1219 +/* "gedlibpy.pyx":1227 * * * def get_median_edge_label(self, edge_labels): # <<<<<<<<<<<<<< @@ -12881,7 +12883,7 @@ static PyObject *__pyx_pf_8gedlibpy_6GEDEnv_118get_median_edge_label(struct __py std::map __pyx_t_9; __Pyx_RefNannySetupContext("get_median_edge_label", 0); - /* "gedlibpy.pyx":1228 + /* "gedlibpy.pyx":1236 * :rtype: dict{string : string} * """ * edge_labels_b = [encode_your_map(edge_label) for edge_label in edge_labels] # <<<<<<<<<<<<<< @@ -12889,32 +12891,32 @@ static PyObject *__pyx_pf_8gedlibpy_6GEDEnv_118get_median_edge_label(struct __py * */ { /* enter inner scope */ - __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1228, __pyx_L5_error) + __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1236, __pyx_L5_error) __Pyx_GOTREF(__pyx_t_1); if (likely(PyList_CheckExact(__pyx_v_edge_labels)) || PyTuple_CheckExact(__pyx_v_edge_labels)) { __pyx_t_2 = __pyx_v_edge_labels; __Pyx_INCREF(__pyx_t_2); __pyx_t_3 = 0; __pyx_t_4 = NULL; } else { - __pyx_t_3 = -1; __pyx_t_2 = PyObject_GetIter(__pyx_v_edge_labels); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1228, __pyx_L5_error) + __pyx_t_3 = -1; __pyx_t_2 = PyObject_GetIter(__pyx_v_edge_labels); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1236, __pyx_L5_error) __Pyx_GOTREF(__pyx_t_2); - __pyx_t_4 = Py_TYPE(__pyx_t_2)->tp_iternext; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1228, __pyx_L5_error) + __pyx_t_4 = Py_TYPE(__pyx_t_2)->tp_iternext; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1236, __pyx_L5_error) } for (;;) { if (likely(!__pyx_t_4)) { if (likely(PyList_CheckExact(__pyx_t_2))) { if (__pyx_t_3 >= PyList_GET_SIZE(__pyx_t_2)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS - __pyx_t_5 = PyList_GET_ITEM(__pyx_t_2, __pyx_t_3); __Pyx_INCREF(__pyx_t_5); __pyx_t_3++; if (unlikely(0 < 0)) __PYX_ERR(0, 1228, __pyx_L5_error) + __pyx_t_5 = PyList_GET_ITEM(__pyx_t_2, __pyx_t_3); __Pyx_INCREF(__pyx_t_5); __pyx_t_3++; if (unlikely(0 < 0)) __PYX_ERR(0, 1236, __pyx_L5_error) #else - __pyx_t_5 = PySequence_ITEM(__pyx_t_2, __pyx_t_3); __pyx_t_3++; if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1228, __pyx_L5_error) + __pyx_t_5 = PySequence_ITEM(__pyx_t_2, __pyx_t_3); __pyx_t_3++; if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1236, __pyx_L5_error) __Pyx_GOTREF(__pyx_t_5); #endif } else { if (__pyx_t_3 >= PyTuple_GET_SIZE(__pyx_t_2)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS - __pyx_t_5 = PyTuple_GET_ITEM(__pyx_t_2, __pyx_t_3); __Pyx_INCREF(__pyx_t_5); __pyx_t_3++; if (unlikely(0 < 0)) __PYX_ERR(0, 1228, __pyx_L5_error) + __pyx_t_5 = PyTuple_GET_ITEM(__pyx_t_2, __pyx_t_3); __Pyx_INCREF(__pyx_t_5); __pyx_t_3++; if (unlikely(0 < 0)) __PYX_ERR(0, 1236, __pyx_L5_error) #else - __pyx_t_5 = PySequence_ITEM(__pyx_t_2, __pyx_t_3); __pyx_t_3++; if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1228, __pyx_L5_error) + __pyx_t_5 = PySequence_ITEM(__pyx_t_2, __pyx_t_3); __pyx_t_3++; if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1236, __pyx_L5_error) __Pyx_GOTREF(__pyx_t_5); #endif } @@ -12924,7 +12926,7 @@ static PyObject *__pyx_pf_8gedlibpy_6GEDEnv_118get_median_edge_label(struct __py PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); - else __PYX_ERR(0, 1228, __pyx_L5_error) + else __PYX_ERR(0, 1236, __pyx_L5_error) } break; } @@ -12932,7 +12934,7 @@ static PyObject *__pyx_pf_8gedlibpy_6GEDEnv_118get_median_edge_label(struct __py } __Pyx_XDECREF_SET(__pyx_9genexpr10__pyx_v_edge_label, __pyx_t_5); __pyx_t_5 = 0; - __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_n_s_encode_your_map); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1228, __pyx_L5_error) + __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_n_s_encode_your_map); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1236, __pyx_L5_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_7 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_6))) { @@ -12946,10 +12948,10 @@ static PyObject *__pyx_pf_8gedlibpy_6GEDEnv_118get_median_edge_label(struct __py } __pyx_t_5 = (__pyx_t_7) ? __Pyx_PyObject_Call2Args(__pyx_t_6, __pyx_t_7, __pyx_9genexpr10__pyx_v_edge_label) : __Pyx_PyObject_CallOneArg(__pyx_t_6, __pyx_9genexpr10__pyx_v_edge_label); __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; - if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1228, __pyx_L5_error) + if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1236, __pyx_L5_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - if (unlikely(__Pyx_ListComp_Append(__pyx_t_1, (PyObject*)__pyx_t_5))) __PYX_ERR(0, 1228, __pyx_L5_error) + if (unlikely(__Pyx_ListComp_Append(__pyx_t_1, (PyObject*)__pyx_t_5))) __PYX_ERR(0, 1236, __pyx_L5_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; } __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; @@ -12963,7 +12965,7 @@ static PyObject *__pyx_pf_8gedlibpy_6GEDEnv_118get_median_edge_label(struct __py __pyx_v_edge_labels_b = ((PyObject*)__pyx_t_1); __pyx_t_1 = 0; - /* "gedlibpy.pyx":1229 + /* "gedlibpy.pyx":1237 * """ * edge_labels_b = [encode_your_map(edge_label) for edge_label in edge_labels] * return decode_your_map(self.c_env.getMedianEdgeLabel(edge_label_b)) # <<<<<<<<<<<<<< @@ -12971,19 +12973,19 @@ static PyObject *__pyx_pf_8gedlibpy_6GEDEnv_118get_median_edge_label(struct __py * */ __Pyx_XDECREF(__pyx_r); - __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_decode_your_map); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1229, __pyx_L1_error) + __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_decode_your_map); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1237, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); - __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_edge_label_b); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1229, __pyx_L1_error) + __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_edge_label_b); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1237, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); - __pyx_t_8 = __pyx_convert_vector_from_py_std_3a__3a_map_3c_std_3a__3a_string_2c_std_3a__3a_string_3e___(__pyx_t_5); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 1229, __pyx_L1_error) + __pyx_t_8 = __pyx_convert_vector_from_py_std_3a__3a_map_3c_std_3a__3a_string_2c_std_3a__3a_string_3e___(__pyx_t_5); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 1237, __pyx_L1_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; try { __pyx_t_9 = __pyx_v_self->c_env->getMedianEdgeLabel(__pyx_t_8); } catch(...) { __Pyx_CppExn2PyErr(); - __PYX_ERR(0, 1229, __pyx_L1_error) + __PYX_ERR(0, 1237, __pyx_L1_error) } - __pyx_t_5 = __pyx_convert_map_to_py_std_3a__3a_string____std_3a__3a_string(__pyx_t_9); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1229, __pyx_L1_error) + __pyx_t_5 = __pyx_convert_map_to_py_std_3a__3a_string____std_3a__3a_string(__pyx_t_9); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1237, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_6 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) { @@ -12998,14 +13000,14 @@ static PyObject *__pyx_pf_8gedlibpy_6GEDEnv_118get_median_edge_label(struct __py __pyx_t_1 = (__pyx_t_6) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_6, __pyx_t_5) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_5); __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1229, __pyx_L1_error) + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1237, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_r = __pyx_t_1; __pyx_t_1 = 0; goto __pyx_L0; - /* "gedlibpy.pyx":1219 + /* "gedlibpy.pyx":1227 * * * def get_median_edge_label(self, edge_labels): # <<<<<<<<<<<<<< @@ -13030,7 +13032,7 @@ static PyObject *__pyx_pf_8gedlibpy_6GEDEnv_118get_median_edge_label(struct __py return __pyx_r; } -/* "gedlibpy.pyx":1232 +/* "gedlibpy.pyx":1240 * * * def get_nx_graph(self, graph_id, adj_matrix=True, adj_lists=False, edge_list=False): # @todo # <<<<<<<<<<<<<< @@ -13095,7 +13097,7 @@ static PyObject *__pyx_pw_8gedlibpy_6GEDEnv_121get_nx_graph(PyObject *__pyx_v_se } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "get_nx_graph") < 0)) __PYX_ERR(0, 1232, __pyx_L3_error) + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "get_nx_graph") < 0)) __PYX_ERR(0, 1240, __pyx_L3_error) } } else { switch (PyTuple_GET_SIZE(__pyx_args)) { @@ -13117,7 +13119,7 @@ static PyObject *__pyx_pw_8gedlibpy_6GEDEnv_121get_nx_graph(PyObject *__pyx_v_se } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("get_nx_graph", 0, 1, 4, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 1232, __pyx_L3_error) + __Pyx_RaiseArgtupleInvalid("get_nx_graph", 0, 1, 4, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 1240, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("gedlibpy.GEDEnv.get_nx_graph", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); @@ -13156,16 +13158,16 @@ static PyObject *__pyx_pf_8gedlibpy_6GEDEnv_120get_nx_graph(struct __pyx_obj_8ge PyObject *(*__pyx_t_12)(PyObject *); __Pyx_RefNannySetupContext("get_nx_graph", 0); - /* "gedlibpy.pyx":1255 + /* "gedlibpy.pyx":1263 * The obtained graph. * """ * graph = nx.Graph() # <<<<<<<<<<<<<< * graph.graph['id'] = graph_id * */ - __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_nx); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1255, __pyx_L1_error) + __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_nx); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1263, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_Graph); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1255, __pyx_L1_error) + __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_Graph); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1263, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_t_2 = NULL; @@ -13180,32 +13182,32 @@ static PyObject *__pyx_pf_8gedlibpy_6GEDEnv_120get_nx_graph(struct __pyx_obj_8ge } __pyx_t_1 = (__pyx_t_2) ? __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_2) : __Pyx_PyObject_CallNoArg(__pyx_t_3); __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1255, __pyx_L1_error) + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1263, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_v_graph = __pyx_t_1; __pyx_t_1 = 0; - /* "gedlibpy.pyx":1256 + /* "gedlibpy.pyx":1264 * """ * graph = nx.Graph() * graph.graph['id'] = graph_id # <<<<<<<<<<<<<< * * nb_nodes = self.get_graph_num_nodes(graph_id) */ - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_graph, __pyx_n_s_graph); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1256, __pyx_L1_error) + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_graph, __pyx_n_s_graph); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1264, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); - if (unlikely(PyObject_SetItem(__pyx_t_1, __pyx_n_u_id, __pyx_v_graph_id) < 0)) __PYX_ERR(0, 1256, __pyx_L1_error) + if (unlikely(PyObject_SetItem(__pyx_t_1, __pyx_n_u_id, __pyx_v_graph_id) < 0)) __PYX_ERR(0, 1264, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - /* "gedlibpy.pyx":1258 + /* "gedlibpy.pyx":1266 * graph.graph['id'] = graph_id * * nb_nodes = self.get_graph_num_nodes(graph_id) # <<<<<<<<<<<<<< * original_node_ids = self.get_original_node_ids(graph_id) * node_labels = self.get_graph_node_labels(graph_id) */ - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_get_graph_num_nodes); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1258, __pyx_L1_error) + __pyx_t_3 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_get_graph_num_nodes); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1266, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_2 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) { @@ -13219,20 +13221,20 @@ static PyObject *__pyx_pf_8gedlibpy_6GEDEnv_120get_nx_graph(struct __pyx_obj_8ge } __pyx_t_1 = (__pyx_t_2) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_2, __pyx_v_graph_id) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_v_graph_id); __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1258, __pyx_L1_error) + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1266, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_v_nb_nodes = __pyx_t_1; __pyx_t_1 = 0; - /* "gedlibpy.pyx":1259 + /* "gedlibpy.pyx":1267 * * nb_nodes = self.get_graph_num_nodes(graph_id) * original_node_ids = self.get_original_node_ids(graph_id) # <<<<<<<<<<<<<< * node_labels = self.get_graph_node_labels(graph_id) * # print(original_node_ids) */ - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_get_original_node_ids); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1259, __pyx_L1_error) + __pyx_t_3 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_get_original_node_ids); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1267, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_2 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) { @@ -13246,20 +13248,20 @@ static PyObject *__pyx_pf_8gedlibpy_6GEDEnv_120get_nx_graph(struct __pyx_obj_8ge } __pyx_t_1 = (__pyx_t_2) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_2, __pyx_v_graph_id) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_v_graph_id); __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1259, __pyx_L1_error) + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1267, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_v_original_node_ids = __pyx_t_1; __pyx_t_1 = 0; - /* "gedlibpy.pyx":1260 + /* "gedlibpy.pyx":1268 * nb_nodes = self.get_graph_num_nodes(graph_id) * original_node_ids = self.get_original_node_ids(graph_id) * node_labels = self.get_graph_node_labels(graph_id) # <<<<<<<<<<<<<< * # print(original_node_ids) * # print(node_labels) */ - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_get_graph_node_labels); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1260, __pyx_L1_error) + __pyx_t_3 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_get_graph_node_labels); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1268, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_2 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_3))) { @@ -13273,32 +13275,32 @@ static PyObject *__pyx_pf_8gedlibpy_6GEDEnv_120get_nx_graph(struct __pyx_obj_8ge } __pyx_t_1 = (__pyx_t_2) ? __Pyx_PyObject_Call2Args(__pyx_t_3, __pyx_t_2, __pyx_v_graph_id) : __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_v_graph_id); __Pyx_XDECREF(__pyx_t_2); __pyx_t_2 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1260, __pyx_L1_error) + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1268, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __pyx_v_node_labels = __pyx_t_1; __pyx_t_1 = 0; - /* "gedlibpy.pyx":1263 + /* "gedlibpy.pyx":1271 * # print(original_node_ids) * # print(node_labels) * graph.graph['original_node_ids'] = original_node_ids # <<<<<<<<<<<<<< * * for node_id in range(0, nb_nodes): */ - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_graph, __pyx_n_s_graph); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1263, __pyx_L1_error) + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_v_graph, __pyx_n_s_graph); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1271, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); - if (unlikely(PyObject_SetItem(__pyx_t_1, __pyx_n_u_original_node_ids, __pyx_v_original_node_ids) < 0)) __PYX_ERR(0, 1263, __pyx_L1_error) + if (unlikely(PyObject_SetItem(__pyx_t_1, __pyx_n_u_original_node_ids, __pyx_v_original_node_ids) < 0)) __PYX_ERR(0, 1271, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - /* "gedlibpy.pyx":1265 + /* "gedlibpy.pyx":1273 * graph.graph['original_node_ids'] = original_node_ids * * for node_id in range(0, nb_nodes): # <<<<<<<<<<<<<< * graph.add_node(node_id, **node_labels[node_id]) * # graph.nodes[node_id]['original_node_id'] = original_node_ids[node_id] */ - __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1265, __pyx_L1_error) + __pyx_t_1 = PyTuple_New(2); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1273, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_INCREF(__pyx_int_0); __Pyx_GIVEREF(__pyx_int_0); @@ -13306,16 +13308,16 @@ static PyObject *__pyx_pf_8gedlibpy_6GEDEnv_120get_nx_graph(struct __pyx_obj_8ge __Pyx_INCREF(__pyx_v_nb_nodes); __Pyx_GIVEREF(__pyx_v_nb_nodes); PyTuple_SET_ITEM(__pyx_t_1, 1, __pyx_v_nb_nodes); - __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_range, __pyx_t_1, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1265, __pyx_L1_error) + __pyx_t_3 = __Pyx_PyObject_Call(__pyx_builtin_range, __pyx_t_1, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1273, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; if (likely(PyList_CheckExact(__pyx_t_3)) || PyTuple_CheckExact(__pyx_t_3)) { __pyx_t_1 = __pyx_t_3; __Pyx_INCREF(__pyx_t_1); __pyx_t_4 = 0; __pyx_t_5 = NULL; } else { - __pyx_t_4 = -1; __pyx_t_1 = PyObject_GetIter(__pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1265, __pyx_L1_error) + __pyx_t_4 = -1; __pyx_t_1 = PyObject_GetIter(__pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1273, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); - __pyx_t_5 = Py_TYPE(__pyx_t_1)->tp_iternext; if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1265, __pyx_L1_error) + __pyx_t_5 = Py_TYPE(__pyx_t_1)->tp_iternext; if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1273, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; for (;;) { @@ -13323,17 +13325,17 @@ static PyObject *__pyx_pf_8gedlibpy_6GEDEnv_120get_nx_graph(struct __pyx_obj_8ge 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_3 = PyList_GET_ITEM(__pyx_t_1, __pyx_t_4); __Pyx_INCREF(__pyx_t_3); __pyx_t_4++; if (unlikely(0 < 0)) __PYX_ERR(0, 1265, __pyx_L1_error) + __pyx_t_3 = PyList_GET_ITEM(__pyx_t_1, __pyx_t_4); __Pyx_INCREF(__pyx_t_3); __pyx_t_4++; if (unlikely(0 < 0)) __PYX_ERR(0, 1273, __pyx_L1_error) #else - __pyx_t_3 = PySequence_ITEM(__pyx_t_1, __pyx_t_4); __pyx_t_4++; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1265, __pyx_L1_error) + __pyx_t_3 = PySequence_ITEM(__pyx_t_1, __pyx_t_4); __pyx_t_4++; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1273, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); #endif } else { if (__pyx_t_4 >= PyTuple_GET_SIZE(__pyx_t_1)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS - __pyx_t_3 = PyTuple_GET_ITEM(__pyx_t_1, __pyx_t_4); __Pyx_INCREF(__pyx_t_3); __pyx_t_4++; if (unlikely(0 < 0)) __PYX_ERR(0, 1265, __pyx_L1_error) + __pyx_t_3 = PyTuple_GET_ITEM(__pyx_t_1, __pyx_t_4); __Pyx_INCREF(__pyx_t_3); __pyx_t_4++; if (unlikely(0 < 0)) __PYX_ERR(0, 1273, __pyx_L1_error) #else - __pyx_t_3 = PySequence_ITEM(__pyx_t_1, __pyx_t_4); __pyx_t_4++; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1265, __pyx_L1_error) + __pyx_t_3 = PySequence_ITEM(__pyx_t_1, __pyx_t_4); __pyx_t_4++; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1273, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); #endif } @@ -13343,7 +13345,7 @@ static PyObject *__pyx_pf_8gedlibpy_6GEDEnv_120get_nx_graph(struct __pyx_obj_8ge PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); - else __PYX_ERR(0, 1265, __pyx_L1_error) + else __PYX_ERR(0, 1273, __pyx_L1_error) } break; } @@ -13352,43 +13354,43 @@ static PyObject *__pyx_pf_8gedlibpy_6GEDEnv_120get_nx_graph(struct __pyx_obj_8ge __Pyx_XDECREF_SET(__pyx_v_node_id, __pyx_t_3); __pyx_t_3 = 0; - /* "gedlibpy.pyx":1266 + /* "gedlibpy.pyx":1274 * * for node_id in range(0, nb_nodes): * graph.add_node(node_id, **node_labels[node_id]) # <<<<<<<<<<<<<< * # graph.nodes[node_id]['original_node_id'] = original_node_ids[node_id] * */ - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_graph, __pyx_n_s_add_node); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1266, __pyx_L1_error) + __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_graph, __pyx_n_s_add_node); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1274, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); - __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1266, __pyx_L1_error) + __pyx_t_2 = PyTuple_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1274, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_INCREF(__pyx_v_node_id); __Pyx_GIVEREF(__pyx_v_node_id); PyTuple_SET_ITEM(__pyx_t_2, 0, __pyx_v_node_id); - __pyx_t_7 = __Pyx_PyObject_GetItem(__pyx_v_node_labels, __pyx_v_node_id); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1266, __pyx_L1_error) + __pyx_t_7 = __Pyx_PyObject_GetItem(__pyx_v_node_labels, __pyx_v_node_id); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1274, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); if (unlikely(__pyx_t_7 == Py_None)) { PyErr_SetString(PyExc_TypeError, "argument after ** must be a mapping, not NoneType"); - __PYX_ERR(0, 1266, __pyx_L1_error) + __PYX_ERR(0, 1274, __pyx_L1_error) } if (likely(PyDict_CheckExact(__pyx_t_7))) { - __pyx_t_6 = PyDict_Copy(__pyx_t_7); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1266, __pyx_L1_error) + __pyx_t_6 = PyDict_Copy(__pyx_t_7); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1274, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; } else { - __pyx_t_6 = PyObject_CallFunctionObjArgs((PyObject*)&PyDict_Type, __pyx_t_7, NULL); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1266, __pyx_L1_error) + __pyx_t_6 = PyObject_CallFunctionObjArgs((PyObject*)&PyDict_Type, __pyx_t_7, NULL); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1274, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; } - __pyx_t_7 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_2, __pyx_t_6); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1266, __pyx_L1_error) + __pyx_t_7 = __Pyx_PyObject_Call(__pyx_t_3, __pyx_t_2, __pyx_t_6); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1274, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - /* "gedlibpy.pyx":1265 + /* "gedlibpy.pyx":1273 * graph.graph['original_node_ids'] = original_node_ids * * for node_id in range(0, nb_nodes): # <<<<<<<<<<<<<< @@ -13398,14 +13400,14 @@ static PyObject *__pyx_pf_8gedlibpy_6GEDEnv_120get_nx_graph(struct __pyx_obj_8ge } __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - /* "gedlibpy.pyx":1269 + /* "gedlibpy.pyx":1277 * # graph.nodes[node_id]['original_node_id'] = original_node_ids[node_id] * * edges = self.get_graph_edges(graph_id) # <<<<<<<<<<<<<< * for (head, tail), labels in edges.items(): * graph.add_edge(head, tail, **labels) */ - __pyx_t_7 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_get_graph_edges); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1269, __pyx_L1_error) + __pyx_t_7 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_get_graph_edges); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1277, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_6 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_7))) { @@ -13419,13 +13421,13 @@ static PyObject *__pyx_pf_8gedlibpy_6GEDEnv_120get_nx_graph(struct __pyx_obj_8ge } __pyx_t_1 = (__pyx_t_6) ? __Pyx_PyObject_Call2Args(__pyx_t_7, __pyx_t_6, __pyx_v_graph_id) : __Pyx_PyObject_CallOneArg(__pyx_t_7, __pyx_v_graph_id); __Pyx_XDECREF(__pyx_t_6); __pyx_t_6 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1269, __pyx_L1_error) + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1277, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __pyx_v_edges = __pyx_t_1; __pyx_t_1 = 0; - /* "gedlibpy.pyx":1270 + /* "gedlibpy.pyx":1278 * * edges = self.get_graph_edges(graph_id) * for (head, tail), labels in edges.items(): # <<<<<<<<<<<<<< @@ -13435,9 +13437,9 @@ static PyObject *__pyx_pf_8gedlibpy_6GEDEnv_120get_nx_graph(struct __pyx_obj_8ge __pyx_t_4 = 0; if (unlikely(__pyx_v_edges == Py_None)) { PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%.30s'", "items"); - __PYX_ERR(0, 1270, __pyx_L1_error) + __PYX_ERR(0, 1278, __pyx_L1_error) } - __pyx_t_7 = __Pyx_dict_iterator(__pyx_v_edges, 0, __pyx_n_s_items, (&__pyx_t_8), (&__pyx_t_9)); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1270, __pyx_L1_error) + __pyx_t_7 = __Pyx_dict_iterator(__pyx_v_edges, 0, __pyx_n_s_items, (&__pyx_t_8), (&__pyx_t_9)); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1278, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = __pyx_t_7; @@ -13445,7 +13447,7 @@ static PyObject *__pyx_pf_8gedlibpy_6GEDEnv_120get_nx_graph(struct __pyx_obj_8ge while (1) { __pyx_t_10 = __Pyx_dict_iter_next(__pyx_t_1, __pyx_t_8, &__pyx_t_4, &__pyx_t_7, &__pyx_t_6, NULL, __pyx_t_9); if (unlikely(__pyx_t_10 == 0)) break; - if (unlikely(__pyx_t_10 == -1)) __PYX_ERR(0, 1270, __pyx_L1_error) + if (unlikely(__pyx_t_10 == -1)) __PYX_ERR(0, 1278, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_GOTREF(__pyx_t_6); if ((likely(PyTuple_CheckExact(__pyx_t_7))) || (PyList_CheckExact(__pyx_t_7))) { @@ -13454,7 +13456,7 @@ static PyObject *__pyx_pf_8gedlibpy_6GEDEnv_120get_nx_graph(struct __pyx_obj_8ge if (unlikely(size != 2)) { if (size > 2) __Pyx_RaiseTooManyValuesError(2); else if (size >= 0) __Pyx_RaiseNeedMoreValuesError(size); - __PYX_ERR(0, 1270, __pyx_L1_error) + __PYX_ERR(0, 1278, __pyx_L1_error) } #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS if (likely(PyTuple_CheckExact(sequence))) { @@ -13467,15 +13469,15 @@ static PyObject *__pyx_pf_8gedlibpy_6GEDEnv_120get_nx_graph(struct __pyx_obj_8ge __Pyx_INCREF(__pyx_t_2); __Pyx_INCREF(__pyx_t_3); #else - __pyx_t_2 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1270, __pyx_L1_error) + __pyx_t_2 = PySequence_ITEM(sequence, 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1278, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); - __pyx_t_3 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1270, __pyx_L1_error) + __pyx_t_3 = PySequence_ITEM(sequence, 1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1278, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); #endif __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; } else { Py_ssize_t index = -1; - __pyx_t_11 = PyObject_GetIter(__pyx_t_7); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 1270, __pyx_L1_error) + __pyx_t_11 = PyObject_GetIter(__pyx_t_7); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 1278, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __pyx_t_12 = Py_TYPE(__pyx_t_11)->tp_iternext; @@ -13483,7 +13485,7 @@ static PyObject *__pyx_pf_8gedlibpy_6GEDEnv_120get_nx_graph(struct __pyx_obj_8ge __Pyx_GOTREF(__pyx_t_2); index = 1; __pyx_t_3 = __pyx_t_12(__pyx_t_11); if (unlikely(!__pyx_t_3)) goto __pyx_L7_unpacking_failed; __Pyx_GOTREF(__pyx_t_3); - if (__Pyx_IternextUnpackEndCheck(__pyx_t_12(__pyx_t_11), 2) < 0) __PYX_ERR(0, 1270, __pyx_L1_error) + if (__Pyx_IternextUnpackEndCheck(__pyx_t_12(__pyx_t_11), 2) < 0) __PYX_ERR(0, 1278, __pyx_L1_error) __pyx_t_12 = NULL; __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; goto __pyx_L8_unpacking_done; @@ -13491,7 +13493,7 @@ static PyObject *__pyx_pf_8gedlibpy_6GEDEnv_120get_nx_graph(struct __pyx_obj_8ge __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; __pyx_t_12 = NULL; if (__Pyx_IterFinish() == 0) __Pyx_RaiseNeedMoreValuesError(index); - __PYX_ERR(0, 1270, __pyx_L1_error) + __PYX_ERR(0, 1278, __pyx_L1_error) __pyx_L8_unpacking_done:; } __Pyx_XDECREF_SET(__pyx_v_head, __pyx_t_2); @@ -13501,16 +13503,16 @@ static PyObject *__pyx_pf_8gedlibpy_6GEDEnv_120get_nx_graph(struct __pyx_obj_8ge __Pyx_XDECREF_SET(__pyx_v_labels, __pyx_t_6); __pyx_t_6 = 0; - /* "gedlibpy.pyx":1271 + /* "gedlibpy.pyx":1279 * edges = self.get_graph_edges(graph_id) * for (head, tail), labels in edges.items(): * graph.add_edge(head, tail, **labels) # <<<<<<<<<<<<<< * # print(edges) * */ - __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_graph, __pyx_n_s_add_edge); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1271, __pyx_L1_error) + __pyx_t_6 = __Pyx_PyObject_GetAttrStr(__pyx_v_graph, __pyx_n_s_add_edge); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1279, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); - __pyx_t_7 = PyTuple_New(2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1271, __pyx_L1_error) + __pyx_t_7 = PyTuple_New(2); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1279, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_INCREF(__pyx_v_head); __Pyx_GIVEREF(__pyx_v_head); @@ -13520,16 +13522,16 @@ static PyObject *__pyx_pf_8gedlibpy_6GEDEnv_120get_nx_graph(struct __pyx_obj_8ge PyTuple_SET_ITEM(__pyx_t_7, 1, __pyx_v_tail); if (unlikely(__pyx_v_labels == Py_None)) { PyErr_SetString(PyExc_TypeError, "argument after ** must be a mapping, not NoneType"); - __PYX_ERR(0, 1271, __pyx_L1_error) + __PYX_ERR(0, 1279, __pyx_L1_error) } if (likely(PyDict_CheckExact(__pyx_v_labels))) { - __pyx_t_3 = PyDict_Copy(__pyx_v_labels); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1271, __pyx_L1_error) + __pyx_t_3 = PyDict_Copy(__pyx_v_labels); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1279, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); } else { - __pyx_t_3 = PyObject_CallFunctionObjArgs((PyObject*)&PyDict_Type, __pyx_v_labels, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1271, __pyx_L1_error) + __pyx_t_3 = PyObject_CallFunctionObjArgs((PyObject*)&PyDict_Type, __pyx_v_labels, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1279, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); } - __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_t_7, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1271, __pyx_L1_error) + __pyx_t_2 = __Pyx_PyObject_Call(__pyx_t_6, __pyx_t_7, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1279, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; @@ -13538,7 +13540,7 @@ static PyObject *__pyx_pf_8gedlibpy_6GEDEnv_120get_nx_graph(struct __pyx_obj_8ge } __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - /* "gedlibpy.pyx":1274 + /* "gedlibpy.pyx":1282 * # print(edges) * * return graph # <<<<<<<<<<<<<< @@ -13550,7 +13552,7 @@ static PyObject *__pyx_pf_8gedlibpy_6GEDEnv_120get_nx_graph(struct __pyx_obj_8ge __pyx_r = __pyx_v_graph; goto __pyx_L0; - /* "gedlibpy.pyx":1232 + /* "gedlibpy.pyx":1240 * * * def get_nx_graph(self, graph_id, adj_matrix=True, adj_lists=False, edge_list=False): # @todo # <<<<<<<<<<<<<< @@ -13583,7 +13585,7 @@ static PyObject *__pyx_pf_8gedlibpy_6GEDEnv_120get_nx_graph(struct __pyx_obj_8ge return __pyx_r; } -/* "gedlibpy.pyx":1277 +/* "gedlibpy.pyx":1285 * * * def get_init_type(self): # <<<<<<<<<<<<<< @@ -13612,7 +13614,7 @@ static PyObject *__pyx_pf_8gedlibpy_6GEDEnv_122get_init_type(struct __pyx_obj_8g PyObject *__pyx_t_2 = NULL; __Pyx_RefNannySetupContext("get_init_type", 0); - /* "gedlibpy.pyx":1286 + /* "gedlibpy.pyx":1294 * Initialization type in string. * """ * return self.c_env.getInitType().decode('utf-8') # <<<<<<<<<<<<<< @@ -13624,15 +13626,15 @@ static PyObject *__pyx_pf_8gedlibpy_6GEDEnv_122get_init_type(struct __pyx_obj_8g __pyx_t_1 = __pyx_v_self->c_env->getInitType(); } catch(...) { __Pyx_CppExn2PyErr(); - __PYX_ERR(0, 1286, __pyx_L1_error) + __PYX_ERR(0, 1294, __pyx_L1_error) } - __pyx_t_2 = __Pyx_decode_cpp_string(__pyx_t_1, 0, PY_SSIZE_T_MAX, NULL, NULL, PyUnicode_DecodeUTF8); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1286, __pyx_L1_error) + __pyx_t_2 = __Pyx_decode_cpp_string(__pyx_t_1, 0, PY_SSIZE_T_MAX, NULL, NULL, PyUnicode_DecodeUTF8); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1294, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_r = __pyx_t_2; __pyx_t_2 = 0; goto __pyx_L0; - /* "gedlibpy.pyx":1277 + /* "gedlibpy.pyx":1285 * * * def get_init_type(self): # <<<<<<<<<<<<<< @@ -13651,7 +13653,7 @@ static PyObject *__pyx_pf_8gedlibpy_6GEDEnv_122get_init_type(struct __pyx_obj_8g return __pyx_r; } -/* "gedlibpy.pyx":1308 +/* "gedlibpy.pyx":1316 * * * def load_nx_graph(self, nx_graph, graph_id, graph_name='', graph_class=''): # <<<<<<<<<<<<<< @@ -13699,7 +13701,7 @@ static PyObject *__pyx_pw_8gedlibpy_6GEDEnv_125load_nx_graph(PyObject *__pyx_v_s case 1: if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_graph_id)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("load_nx_graph", 0, 2, 4, 1); __PYX_ERR(0, 1308, __pyx_L3_error) + __Pyx_RaiseArgtupleInvalid("load_nx_graph", 0, 2, 4, 1); __PYX_ERR(0, 1316, __pyx_L3_error) } CYTHON_FALLTHROUGH; case 2: @@ -13715,7 +13717,7 @@ static PyObject *__pyx_pw_8gedlibpy_6GEDEnv_125load_nx_graph(PyObject *__pyx_v_s } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "load_nx_graph") < 0)) __PYX_ERR(0, 1308, __pyx_L3_error) + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "load_nx_graph") < 0)) __PYX_ERR(0, 1316, __pyx_L3_error) } } else { switch (PyTuple_GET_SIZE(__pyx_args)) { @@ -13736,7 +13738,7 @@ static PyObject *__pyx_pw_8gedlibpy_6GEDEnv_125load_nx_graph(PyObject *__pyx_v_s } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("load_nx_graph", 0, 2, 4, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 1308, __pyx_L3_error) + __Pyx_RaiseArgtupleInvalid("load_nx_graph", 0, 2, 4, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 1316, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("gedlibpy.GEDEnv.load_nx_graph", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); @@ -13773,7 +13775,7 @@ static PyObject *__pyx_pf_8gedlibpy_6GEDEnv_124load_nx_graph(struct __pyx_obj_8g __Pyx_RefNannySetupContext("load_nx_graph", 0); __Pyx_INCREF(__pyx_v_graph_id); - /* "gedlibpy.pyx":1331 + /* "gedlibpy.pyx":1339 * The ID of the newly loaded graph. * """ * if graph_id is None: # <<<<<<<<<<<<<< @@ -13784,14 +13786,14 @@ static PyObject *__pyx_pf_8gedlibpy_6GEDEnv_124load_nx_graph(struct __pyx_obj_8g __pyx_t_2 = (__pyx_t_1 != 0); if (__pyx_t_2) { - /* "gedlibpy.pyx":1332 + /* "gedlibpy.pyx":1340 * """ * if graph_id is None: * graph_id = self.add_graph(graph_name, graph_class) # <<<<<<<<<<<<<< * else: * self.clear_graph(graph_id) */ - __pyx_t_4 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_add_graph); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1332, __pyx_L1_error) + __pyx_t_4 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_add_graph); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1340, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_5 = NULL; __pyx_t_6 = 0; @@ -13808,7 +13810,7 @@ static PyObject *__pyx_pf_8gedlibpy_6GEDEnv_124load_nx_graph(struct __pyx_obj_8g #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_4)) { PyObject *__pyx_temp[3] = {__pyx_t_5, __pyx_v_graph_name, __pyx_v_graph_class}; - __pyx_t_3 = __Pyx_PyFunction_FastCall(__pyx_t_4, __pyx_temp+1-__pyx_t_6, 2+__pyx_t_6); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1332, __pyx_L1_error) + __pyx_t_3 = __Pyx_PyFunction_FastCall(__pyx_t_4, __pyx_temp+1-__pyx_t_6, 2+__pyx_t_6); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1340, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_GOTREF(__pyx_t_3); } else @@ -13816,13 +13818,13 @@ static PyObject *__pyx_pf_8gedlibpy_6GEDEnv_124load_nx_graph(struct __pyx_obj_8g #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_4)) { PyObject *__pyx_temp[3] = {__pyx_t_5, __pyx_v_graph_name, __pyx_v_graph_class}; - __pyx_t_3 = __Pyx_PyCFunction_FastCall(__pyx_t_4, __pyx_temp+1-__pyx_t_6, 2+__pyx_t_6); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1332, __pyx_L1_error) + __pyx_t_3 = __Pyx_PyCFunction_FastCall(__pyx_t_4, __pyx_temp+1-__pyx_t_6, 2+__pyx_t_6); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1340, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_GOTREF(__pyx_t_3); } else #endif { - __pyx_t_7 = PyTuple_New(2+__pyx_t_6); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1332, __pyx_L1_error) + __pyx_t_7 = PyTuple_New(2+__pyx_t_6); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1340, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); if (__pyx_t_5) { __Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_7, 0, __pyx_t_5); __pyx_t_5 = NULL; @@ -13833,7 +13835,7 @@ static PyObject *__pyx_pf_8gedlibpy_6GEDEnv_124load_nx_graph(struct __pyx_obj_8g __Pyx_INCREF(__pyx_v_graph_class); __Pyx_GIVEREF(__pyx_v_graph_class); PyTuple_SET_ITEM(__pyx_t_7, 1+__pyx_t_6, __pyx_v_graph_class); - __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_7, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1332, __pyx_L1_error) + __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_4, __pyx_t_7, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1340, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; } @@ -13841,7 +13843,7 @@ static PyObject *__pyx_pf_8gedlibpy_6GEDEnv_124load_nx_graph(struct __pyx_obj_8g __Pyx_DECREF_SET(__pyx_v_graph_id, __pyx_t_3); __pyx_t_3 = 0; - /* "gedlibpy.pyx":1331 + /* "gedlibpy.pyx":1339 * The ID of the newly loaded graph. * """ * if graph_id is None: # <<<<<<<<<<<<<< @@ -13851,7 +13853,7 @@ static PyObject *__pyx_pf_8gedlibpy_6GEDEnv_124load_nx_graph(struct __pyx_obj_8g goto __pyx_L3; } - /* "gedlibpy.pyx":1334 + /* "gedlibpy.pyx":1342 * graph_id = self.add_graph(graph_name, graph_class) * else: * self.clear_graph(graph_id) # <<<<<<<<<<<<<< @@ -13859,7 +13861,7 @@ static PyObject *__pyx_pf_8gedlibpy_6GEDEnv_124load_nx_graph(struct __pyx_obj_8g * self.add_node(graph_id, str(node), nx_graph.nodes[node]) */ /*else*/ { - __pyx_t_4 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_clear_graph); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1334, __pyx_L1_error) + __pyx_t_4 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_clear_graph); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1342, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __pyx_t_7 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_4))) { @@ -13873,29 +13875,29 @@ static PyObject *__pyx_pf_8gedlibpy_6GEDEnv_124load_nx_graph(struct __pyx_obj_8g } __pyx_t_3 = (__pyx_t_7) ? __Pyx_PyObject_Call2Args(__pyx_t_4, __pyx_t_7, __pyx_v_graph_id) : __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_v_graph_id); __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; - if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1334, __pyx_L1_error) + if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1342, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; } __pyx_L3:; - /* "gedlibpy.pyx":1335 + /* "gedlibpy.pyx":1343 * else: * self.clear_graph(graph_id) * for node in nx_graph.nodes: # <<<<<<<<<<<<<< * self.add_node(graph_id, str(node), nx_graph.nodes[node]) * for edge in nx_graph.edges: */ - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_nx_graph, __pyx_n_s_nodes); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1335, __pyx_L1_error) + __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_v_nx_graph, __pyx_n_s_nodes); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1343, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); if (likely(PyList_CheckExact(__pyx_t_3)) || PyTuple_CheckExact(__pyx_t_3)) { __pyx_t_4 = __pyx_t_3; __Pyx_INCREF(__pyx_t_4); __pyx_t_8 = 0; __pyx_t_9 = NULL; } else { - __pyx_t_8 = -1; __pyx_t_4 = PyObject_GetIter(__pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1335, __pyx_L1_error) + __pyx_t_8 = -1; __pyx_t_4 = PyObject_GetIter(__pyx_t_3); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1343, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); - __pyx_t_9 = Py_TYPE(__pyx_t_4)->tp_iternext; if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1335, __pyx_L1_error) + __pyx_t_9 = Py_TYPE(__pyx_t_4)->tp_iternext; if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1343, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; for (;;) { @@ -13903,17 +13905,17 @@ static PyObject *__pyx_pf_8gedlibpy_6GEDEnv_124load_nx_graph(struct __pyx_obj_8g if (likely(PyList_CheckExact(__pyx_t_4))) { if (__pyx_t_8 >= PyList_GET_SIZE(__pyx_t_4)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS - __pyx_t_3 = PyList_GET_ITEM(__pyx_t_4, __pyx_t_8); __Pyx_INCREF(__pyx_t_3); __pyx_t_8++; if (unlikely(0 < 0)) __PYX_ERR(0, 1335, __pyx_L1_error) + __pyx_t_3 = PyList_GET_ITEM(__pyx_t_4, __pyx_t_8); __Pyx_INCREF(__pyx_t_3); __pyx_t_8++; if (unlikely(0 < 0)) __PYX_ERR(0, 1343, __pyx_L1_error) #else - __pyx_t_3 = PySequence_ITEM(__pyx_t_4, __pyx_t_8); __pyx_t_8++; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1335, __pyx_L1_error) + __pyx_t_3 = PySequence_ITEM(__pyx_t_4, __pyx_t_8); __pyx_t_8++; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1343, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); #endif } else { if (__pyx_t_8 >= PyTuple_GET_SIZE(__pyx_t_4)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS - __pyx_t_3 = PyTuple_GET_ITEM(__pyx_t_4, __pyx_t_8); __Pyx_INCREF(__pyx_t_3); __pyx_t_8++; if (unlikely(0 < 0)) __PYX_ERR(0, 1335, __pyx_L1_error) + __pyx_t_3 = PyTuple_GET_ITEM(__pyx_t_4, __pyx_t_8); __Pyx_INCREF(__pyx_t_3); __pyx_t_8++; if (unlikely(0 < 0)) __PYX_ERR(0, 1343, __pyx_L1_error) #else - __pyx_t_3 = PySequence_ITEM(__pyx_t_4, __pyx_t_8); __pyx_t_8++; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1335, __pyx_L1_error) + __pyx_t_3 = PySequence_ITEM(__pyx_t_4, __pyx_t_8); __pyx_t_8++; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1343, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); #endif } @@ -13923,7 +13925,7 @@ static PyObject *__pyx_pf_8gedlibpy_6GEDEnv_124load_nx_graph(struct __pyx_obj_8g PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); - else __PYX_ERR(0, 1335, __pyx_L1_error) + else __PYX_ERR(0, 1343, __pyx_L1_error) } break; } @@ -13932,20 +13934,20 @@ static PyObject *__pyx_pf_8gedlibpy_6GEDEnv_124load_nx_graph(struct __pyx_obj_8g __Pyx_XDECREF_SET(__pyx_v_node, __pyx_t_3); __pyx_t_3 = 0; - /* "gedlibpy.pyx":1336 + /* "gedlibpy.pyx":1344 * self.clear_graph(graph_id) * for node in nx_graph.nodes: * self.add_node(graph_id, str(node), nx_graph.nodes[node]) # <<<<<<<<<<<<<< * for edge in nx_graph.edges: * self.add_edge(graph_id, str(edge[0]), str(edge[1]), nx_graph.get_edge_data(edge[0], edge[1])) */ - __pyx_t_7 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_add_node); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1336, __pyx_L1_error) + __pyx_t_7 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_add_node); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1344, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); - __pyx_t_5 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_v_node); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1336, __pyx_L1_error) + __pyx_t_5 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_v_node); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1344, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); - __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_v_nx_graph, __pyx_n_s_nodes); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1336, __pyx_L1_error) + __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_v_nx_graph, __pyx_n_s_nodes); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1344, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); - __pyx_t_11 = __Pyx_PyObject_GetItem(__pyx_t_10, __pyx_v_node); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 1336, __pyx_L1_error) + __pyx_t_11 = __Pyx_PyObject_GetItem(__pyx_t_10, __pyx_v_node); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 1344, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); __Pyx_DECREF(__pyx_t_10); __pyx_t_10 = 0; __pyx_t_10 = NULL; @@ -13963,7 +13965,7 @@ static PyObject *__pyx_pf_8gedlibpy_6GEDEnv_124load_nx_graph(struct __pyx_obj_8g #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_7)) { PyObject *__pyx_temp[4] = {__pyx_t_10, __pyx_v_graph_id, __pyx_t_5, __pyx_t_11}; - __pyx_t_3 = __Pyx_PyFunction_FastCall(__pyx_t_7, __pyx_temp+1-__pyx_t_6, 3+__pyx_t_6); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1336, __pyx_L1_error) + __pyx_t_3 = __Pyx_PyFunction_FastCall(__pyx_t_7, __pyx_temp+1-__pyx_t_6, 3+__pyx_t_6); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1344, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0; __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; @@ -13973,7 +13975,7 @@ static PyObject *__pyx_pf_8gedlibpy_6GEDEnv_124load_nx_graph(struct __pyx_obj_8g #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_7)) { PyObject *__pyx_temp[4] = {__pyx_t_10, __pyx_v_graph_id, __pyx_t_5, __pyx_t_11}; - __pyx_t_3 = __Pyx_PyCFunction_FastCall(__pyx_t_7, __pyx_temp+1-__pyx_t_6, 3+__pyx_t_6); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1336, __pyx_L1_error) + __pyx_t_3 = __Pyx_PyCFunction_FastCall(__pyx_t_7, __pyx_temp+1-__pyx_t_6, 3+__pyx_t_6); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1344, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0; __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; @@ -13981,7 +13983,7 @@ static PyObject *__pyx_pf_8gedlibpy_6GEDEnv_124load_nx_graph(struct __pyx_obj_8g } else #endif { - __pyx_t_12 = PyTuple_New(3+__pyx_t_6); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 1336, __pyx_L1_error) + __pyx_t_12 = PyTuple_New(3+__pyx_t_6); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 1344, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); if (__pyx_t_10) { __Pyx_GIVEREF(__pyx_t_10); PyTuple_SET_ITEM(__pyx_t_12, 0, __pyx_t_10); __pyx_t_10 = NULL; @@ -13995,14 +13997,14 @@ static PyObject *__pyx_pf_8gedlibpy_6GEDEnv_124load_nx_graph(struct __pyx_obj_8g PyTuple_SET_ITEM(__pyx_t_12, 2+__pyx_t_6, __pyx_t_11); __pyx_t_5 = 0; __pyx_t_11 = 0; - __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_7, __pyx_t_12, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1336, __pyx_L1_error) + __pyx_t_3 = __Pyx_PyObject_Call(__pyx_t_7, __pyx_t_12, NULL); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1344, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; } __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - /* "gedlibpy.pyx":1335 + /* "gedlibpy.pyx":1343 * else: * self.clear_graph(graph_id) * for node in nx_graph.nodes: # <<<<<<<<<<<<<< @@ -14012,22 +14014,22 @@ static PyObject *__pyx_pf_8gedlibpy_6GEDEnv_124load_nx_graph(struct __pyx_obj_8g } __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - /* "gedlibpy.pyx":1337 + /* "gedlibpy.pyx":1345 * for node in nx_graph.nodes: * self.add_node(graph_id, str(node), nx_graph.nodes[node]) * for edge in nx_graph.edges: # <<<<<<<<<<<<<< * self.add_edge(graph_id, str(edge[0]), str(edge[1]), nx_graph.get_edge_data(edge[0], edge[1])) * return graph_id */ - __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_nx_graph, __pyx_n_s_edges); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1337, __pyx_L1_error) + __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_v_nx_graph, __pyx_n_s_edges); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1345, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); if (likely(PyList_CheckExact(__pyx_t_4)) || PyTuple_CheckExact(__pyx_t_4)) { __pyx_t_3 = __pyx_t_4; __Pyx_INCREF(__pyx_t_3); __pyx_t_8 = 0; __pyx_t_9 = NULL; } else { - __pyx_t_8 = -1; __pyx_t_3 = PyObject_GetIter(__pyx_t_4); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1337, __pyx_L1_error) + __pyx_t_8 = -1; __pyx_t_3 = PyObject_GetIter(__pyx_t_4); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1345, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); - __pyx_t_9 = Py_TYPE(__pyx_t_3)->tp_iternext; if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1337, __pyx_L1_error) + __pyx_t_9 = Py_TYPE(__pyx_t_3)->tp_iternext; if (unlikely(!__pyx_t_9)) __PYX_ERR(0, 1345, __pyx_L1_error) } __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; for (;;) { @@ -14035,17 +14037,17 @@ static PyObject *__pyx_pf_8gedlibpy_6GEDEnv_124load_nx_graph(struct __pyx_obj_8g if (likely(PyList_CheckExact(__pyx_t_3))) { if (__pyx_t_8 >= PyList_GET_SIZE(__pyx_t_3)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS - __pyx_t_4 = PyList_GET_ITEM(__pyx_t_3, __pyx_t_8); __Pyx_INCREF(__pyx_t_4); __pyx_t_8++; if (unlikely(0 < 0)) __PYX_ERR(0, 1337, __pyx_L1_error) + __pyx_t_4 = PyList_GET_ITEM(__pyx_t_3, __pyx_t_8); __Pyx_INCREF(__pyx_t_4); __pyx_t_8++; if (unlikely(0 < 0)) __PYX_ERR(0, 1345, __pyx_L1_error) #else - __pyx_t_4 = PySequence_ITEM(__pyx_t_3, __pyx_t_8); __pyx_t_8++; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1337, __pyx_L1_error) + __pyx_t_4 = PySequence_ITEM(__pyx_t_3, __pyx_t_8); __pyx_t_8++; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1345, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); #endif } else { if (__pyx_t_8 >= PyTuple_GET_SIZE(__pyx_t_3)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS - __pyx_t_4 = PyTuple_GET_ITEM(__pyx_t_3, __pyx_t_8); __Pyx_INCREF(__pyx_t_4); __pyx_t_8++; if (unlikely(0 < 0)) __PYX_ERR(0, 1337, __pyx_L1_error) + __pyx_t_4 = PyTuple_GET_ITEM(__pyx_t_3, __pyx_t_8); __Pyx_INCREF(__pyx_t_4); __pyx_t_8++; if (unlikely(0 < 0)) __PYX_ERR(0, 1345, __pyx_L1_error) #else - __pyx_t_4 = PySequence_ITEM(__pyx_t_3, __pyx_t_8); __pyx_t_8++; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1337, __pyx_L1_error) + __pyx_t_4 = PySequence_ITEM(__pyx_t_3, __pyx_t_8); __pyx_t_8++; if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1345, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); #endif } @@ -14055,7 +14057,7 @@ static PyObject *__pyx_pf_8gedlibpy_6GEDEnv_124load_nx_graph(struct __pyx_obj_8g PyObject* exc_type = PyErr_Occurred(); if (exc_type) { if (likely(__Pyx_PyErr_GivenExceptionMatches(exc_type, PyExc_StopIteration))) PyErr_Clear(); - else __PYX_ERR(0, 1337, __pyx_L1_error) + else __PYX_ERR(0, 1345, __pyx_L1_error) } break; } @@ -14064,30 +14066,30 @@ static PyObject *__pyx_pf_8gedlibpy_6GEDEnv_124load_nx_graph(struct __pyx_obj_8g __Pyx_XDECREF_SET(__pyx_v_edge, __pyx_t_4); __pyx_t_4 = 0; - /* "gedlibpy.pyx":1338 + /* "gedlibpy.pyx":1346 * self.add_node(graph_id, str(node), nx_graph.nodes[node]) * for edge in nx_graph.edges: * self.add_edge(graph_id, str(edge[0]), str(edge[1]), nx_graph.get_edge_data(edge[0], edge[1])) # <<<<<<<<<<<<<< * return graph_id * */ - __pyx_t_7 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_add_edge); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1338, __pyx_L1_error) + __pyx_t_7 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_add_edge); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1346, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); - __pyx_t_12 = __Pyx_GetItemInt(__pyx_v_edge, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 1338, __pyx_L1_error) + __pyx_t_12 = __Pyx_GetItemInt(__pyx_v_edge, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 1346, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); - __pyx_t_11 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_12); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 1338, __pyx_L1_error) + __pyx_t_11 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_12); if (unlikely(!__pyx_t_11)) __PYX_ERR(0, 1346, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_11); __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; - __pyx_t_12 = __Pyx_GetItemInt(__pyx_v_edge, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 1338, __pyx_L1_error) + __pyx_t_12 = __Pyx_GetItemInt(__pyx_v_edge, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 1346, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); - __pyx_t_5 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_12); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1338, __pyx_L1_error) + __pyx_t_5 = __Pyx_PyObject_CallOneArg(((PyObject *)(&PyUnicode_Type)), __pyx_t_12); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1346, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_12); __pyx_t_12 = 0; - __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_v_nx_graph, __pyx_n_s_get_edge_data); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1338, __pyx_L1_error) + __pyx_t_10 = __Pyx_PyObject_GetAttrStr(__pyx_v_nx_graph, __pyx_n_s_get_edge_data); if (unlikely(!__pyx_t_10)) __PYX_ERR(0, 1346, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_10); - __pyx_t_13 = __Pyx_GetItemInt(__pyx_v_edge, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1338, __pyx_L1_error) + __pyx_t_13 = __Pyx_GetItemInt(__pyx_v_edge, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_13)) __PYX_ERR(0, 1346, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_13); - __pyx_t_14 = __Pyx_GetItemInt(__pyx_v_edge, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 1338, __pyx_L1_error) + __pyx_t_14 = __Pyx_GetItemInt(__pyx_v_edge, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_14)) __PYX_ERR(0, 1346, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_14); __pyx_t_15 = NULL; __pyx_t_6 = 0; @@ -14104,7 +14106,7 @@ static PyObject *__pyx_pf_8gedlibpy_6GEDEnv_124load_nx_graph(struct __pyx_obj_8g #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_10)) { PyObject *__pyx_temp[3] = {__pyx_t_15, __pyx_t_13, __pyx_t_14}; - __pyx_t_12 = __Pyx_PyFunction_FastCall(__pyx_t_10, __pyx_temp+1-__pyx_t_6, 2+__pyx_t_6); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 1338, __pyx_L1_error) + __pyx_t_12 = __Pyx_PyFunction_FastCall(__pyx_t_10, __pyx_temp+1-__pyx_t_6, 2+__pyx_t_6); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 1346, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_15); __pyx_t_15 = 0; __Pyx_GOTREF(__pyx_t_12); __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; @@ -14114,7 +14116,7 @@ static PyObject *__pyx_pf_8gedlibpy_6GEDEnv_124load_nx_graph(struct __pyx_obj_8g #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_10)) { PyObject *__pyx_temp[3] = {__pyx_t_15, __pyx_t_13, __pyx_t_14}; - __pyx_t_12 = __Pyx_PyCFunction_FastCall(__pyx_t_10, __pyx_temp+1-__pyx_t_6, 2+__pyx_t_6); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 1338, __pyx_L1_error) + __pyx_t_12 = __Pyx_PyCFunction_FastCall(__pyx_t_10, __pyx_temp+1-__pyx_t_6, 2+__pyx_t_6); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 1346, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_15); __pyx_t_15 = 0; __Pyx_GOTREF(__pyx_t_12); __Pyx_DECREF(__pyx_t_13); __pyx_t_13 = 0; @@ -14122,7 +14124,7 @@ static PyObject *__pyx_pf_8gedlibpy_6GEDEnv_124load_nx_graph(struct __pyx_obj_8g } else #endif { - __pyx_t_16 = PyTuple_New(2+__pyx_t_6); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 1338, __pyx_L1_error) + __pyx_t_16 = PyTuple_New(2+__pyx_t_6); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 1346, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_16); if (__pyx_t_15) { __Pyx_GIVEREF(__pyx_t_15); PyTuple_SET_ITEM(__pyx_t_16, 0, __pyx_t_15); __pyx_t_15 = NULL; @@ -14133,7 +14135,7 @@ static PyObject *__pyx_pf_8gedlibpy_6GEDEnv_124load_nx_graph(struct __pyx_obj_8g PyTuple_SET_ITEM(__pyx_t_16, 1+__pyx_t_6, __pyx_t_14); __pyx_t_13 = 0; __pyx_t_14 = 0; - __pyx_t_12 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_t_16, NULL); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 1338, __pyx_L1_error) + __pyx_t_12 = __Pyx_PyObject_Call(__pyx_t_10, __pyx_t_16, NULL); if (unlikely(!__pyx_t_12)) __PYX_ERR(0, 1346, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_12); __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0; } @@ -14153,7 +14155,7 @@ static PyObject *__pyx_pf_8gedlibpy_6GEDEnv_124load_nx_graph(struct __pyx_obj_8g #if CYTHON_FAST_PYCALL if (PyFunction_Check(__pyx_t_7)) { PyObject *__pyx_temp[5] = {__pyx_t_10, __pyx_v_graph_id, __pyx_t_11, __pyx_t_5, __pyx_t_12}; - __pyx_t_4 = __Pyx_PyFunction_FastCall(__pyx_t_7, __pyx_temp+1-__pyx_t_6, 4+__pyx_t_6); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1338, __pyx_L1_error) + __pyx_t_4 = __Pyx_PyFunction_FastCall(__pyx_t_7, __pyx_temp+1-__pyx_t_6, 4+__pyx_t_6); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1346, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0; __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; @@ -14164,7 +14166,7 @@ static PyObject *__pyx_pf_8gedlibpy_6GEDEnv_124load_nx_graph(struct __pyx_obj_8g #if CYTHON_FAST_PYCCALL if (__Pyx_PyFastCFunction_Check(__pyx_t_7)) { PyObject *__pyx_temp[5] = {__pyx_t_10, __pyx_v_graph_id, __pyx_t_11, __pyx_t_5, __pyx_t_12}; - __pyx_t_4 = __Pyx_PyCFunction_FastCall(__pyx_t_7, __pyx_temp+1-__pyx_t_6, 4+__pyx_t_6); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1338, __pyx_L1_error) + __pyx_t_4 = __Pyx_PyCFunction_FastCall(__pyx_t_7, __pyx_temp+1-__pyx_t_6, 4+__pyx_t_6); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1346, __pyx_L1_error) __Pyx_XDECREF(__pyx_t_10); __pyx_t_10 = 0; __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_11); __pyx_t_11 = 0; @@ -14173,7 +14175,7 @@ static PyObject *__pyx_pf_8gedlibpy_6GEDEnv_124load_nx_graph(struct __pyx_obj_8g } else #endif { - __pyx_t_16 = PyTuple_New(4+__pyx_t_6); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 1338, __pyx_L1_error) + __pyx_t_16 = PyTuple_New(4+__pyx_t_6); if (unlikely(!__pyx_t_16)) __PYX_ERR(0, 1346, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_16); if (__pyx_t_10) { __Pyx_GIVEREF(__pyx_t_10); PyTuple_SET_ITEM(__pyx_t_16, 0, __pyx_t_10); __pyx_t_10 = NULL; @@ -14190,14 +14192,14 @@ static PyObject *__pyx_pf_8gedlibpy_6GEDEnv_124load_nx_graph(struct __pyx_obj_8g __pyx_t_11 = 0; __pyx_t_5 = 0; __pyx_t_12 = 0; - __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_7, __pyx_t_16, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1338, __pyx_L1_error) + __pyx_t_4 = __Pyx_PyObject_Call(__pyx_t_7, __pyx_t_16, NULL); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1346, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_16); __pyx_t_16 = 0; } __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - /* "gedlibpy.pyx":1337 + /* "gedlibpy.pyx":1345 * for node in nx_graph.nodes: * self.add_node(graph_id, str(node), nx_graph.nodes[node]) * for edge in nx_graph.edges: # <<<<<<<<<<<<<< @@ -14207,7 +14209,7 @@ static PyObject *__pyx_pf_8gedlibpy_6GEDEnv_124load_nx_graph(struct __pyx_obj_8g } __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - /* "gedlibpy.pyx":1339 + /* "gedlibpy.pyx":1347 * for edge in nx_graph.edges: * self.add_edge(graph_id, str(edge[0]), str(edge[1]), nx_graph.get_edge_data(edge[0], edge[1])) * return graph_id # <<<<<<<<<<<<<< @@ -14219,7 +14221,7 @@ static PyObject *__pyx_pf_8gedlibpy_6GEDEnv_124load_nx_graph(struct __pyx_obj_8g __pyx_r = __pyx_v_graph_id; goto __pyx_L0; - /* "gedlibpy.pyx":1308 + /* "gedlibpy.pyx":1316 * * * def load_nx_graph(self, nx_graph, graph_id, graph_name='', graph_class=''): # <<<<<<<<<<<<<< @@ -14251,7 +14253,7 @@ static PyObject *__pyx_pf_8gedlibpy_6GEDEnv_124load_nx_graph(struct __pyx_obj_8g return __pyx_r; } -/* "gedlibpy.pyx":1342 +/* "gedlibpy.pyx":1350 * * * def compute_induced_cost(self, g_id, h_id, node_map): # <<<<<<<<<<<<<< @@ -14294,17 +14296,17 @@ static PyObject *__pyx_pw_8gedlibpy_6GEDEnv_127compute_induced_cost(PyObject *__ case 1: if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_h_id)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("compute_induced_cost", 1, 3, 3, 1); __PYX_ERR(0, 1342, __pyx_L3_error) + __Pyx_RaiseArgtupleInvalid("compute_induced_cost", 1, 3, 3, 1); __PYX_ERR(0, 1350, __pyx_L3_error) } CYTHON_FALLTHROUGH; case 2: if (likely((values[2] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_node_map)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("compute_induced_cost", 1, 3, 3, 2); __PYX_ERR(0, 1342, __pyx_L3_error) + __Pyx_RaiseArgtupleInvalid("compute_induced_cost", 1, 3, 3, 2); __PYX_ERR(0, 1350, __pyx_L3_error) } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "compute_induced_cost") < 0)) __PYX_ERR(0, 1342, __pyx_L3_error) + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "compute_induced_cost") < 0)) __PYX_ERR(0, 1350, __pyx_L3_error) } } else if (PyTuple_GET_SIZE(__pyx_args) != 3) { goto __pyx_L5_argtuple_error; @@ -14319,7 +14321,7 @@ static PyObject *__pyx_pw_8gedlibpy_6GEDEnv_127compute_induced_cost(PyObject *__ } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("compute_induced_cost", 1, 3, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 1342, __pyx_L3_error) + __Pyx_RaiseArgtupleInvalid("compute_induced_cost", 1, 3, 3, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 1350, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("gedlibpy.GEDEnv.compute_induced_cost", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); @@ -14356,26 +14358,26 @@ static PyObject *__pyx_pf_8gedlibpy_6GEDEnv_126compute_induced_cost(struct __pyx double __pyx_t_12; __Pyx_RefNannySetupContext("compute_induced_cost", 0); - /* "gedlibpy.pyx":1359 + /* "gedlibpy.pyx":1367 * None. * """ * relation = [] # <<<<<<<<<<<<<< * node_map.as_relation(relation) * # print(relation) */ - __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1359, __pyx_L1_error) + __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1367, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_v_relation = ((PyObject*)__pyx_t_1); __pyx_t_1 = 0; - /* "gedlibpy.pyx":1360 + /* "gedlibpy.pyx":1368 * """ * relation = [] * node_map.as_relation(relation) # <<<<<<<<<<<<<< * # print(relation) * dummy_node = get_dummy_node() */ - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_node_map, __pyx_n_s_as_relation); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1360, __pyx_L1_error) + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_node_map, __pyx_n_s_as_relation); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1368, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_3 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { @@ -14389,19 +14391,19 @@ static PyObject *__pyx_pf_8gedlibpy_6GEDEnv_126compute_induced_cost(struct __pyx } __pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_3, __pyx_v_relation) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_v_relation); __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1360, __pyx_L1_error) + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1368, __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; - /* "gedlibpy.pyx":1362 + /* "gedlibpy.pyx":1370 * node_map.as_relation(relation) * # print(relation) * dummy_node = get_dummy_node() # <<<<<<<<<<<<<< * # print(dummy_node) * for i, val in enumerate(relation): */ - __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_get_dummy_node); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1362, __pyx_L1_error) + __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_get_dummy_node); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1370, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __pyx_t_3 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_2))) { @@ -14415,13 +14417,13 @@ static PyObject *__pyx_pf_8gedlibpy_6GEDEnv_126compute_induced_cost(struct __pyx } __pyx_t_1 = (__pyx_t_3) ? __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3) : __Pyx_PyObject_CallNoArg(__pyx_t_2); __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1362, __pyx_L1_error) + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1370, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __pyx_v_dummy_node = __pyx_t_1; __pyx_t_1 = 0; - /* "gedlibpy.pyx":1364 + /* "gedlibpy.pyx":1372 * dummy_node = get_dummy_node() * # print(dummy_node) * for i, val in enumerate(relation): # <<<<<<<<<<<<<< @@ -14434,45 +14436,45 @@ static PyObject *__pyx_pf_8gedlibpy_6GEDEnv_126compute_induced_cost(struct __pyx for (;;) { if (__pyx_t_4 >= PyList_GET_SIZE(__pyx_t_2)) break; #if CYTHON_ASSUME_SAFE_MACROS && !CYTHON_AVOID_BORROWED_REFS - __pyx_t_3 = PyList_GET_ITEM(__pyx_t_2, __pyx_t_4); __Pyx_INCREF(__pyx_t_3); __pyx_t_4++; if (unlikely(0 < 0)) __PYX_ERR(0, 1364, __pyx_L1_error) + __pyx_t_3 = PyList_GET_ITEM(__pyx_t_2, __pyx_t_4); __Pyx_INCREF(__pyx_t_3); __pyx_t_4++; if (unlikely(0 < 0)) __PYX_ERR(0, 1372, __pyx_L1_error) #else - __pyx_t_3 = PySequence_ITEM(__pyx_t_2, __pyx_t_4); __pyx_t_4++; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1364, __pyx_L1_error) + __pyx_t_3 = PySequence_ITEM(__pyx_t_2, __pyx_t_4); __pyx_t_4++; if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1372, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); #endif __Pyx_XDECREF_SET(__pyx_v_val, __pyx_t_3); __pyx_t_3 = 0; __Pyx_INCREF(__pyx_t_1); __Pyx_XDECREF_SET(__pyx_v_i, __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, 1364, __pyx_L1_error) + __pyx_t_3 = __Pyx_PyInt_AddObjC(__pyx_t_1, __pyx_int_1, 1, 0, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1372, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = __pyx_t_3; __pyx_t_3 = 0; - /* "gedlibpy.pyx":1365 + /* "gedlibpy.pyx":1373 * # print(dummy_node) * for i, val in enumerate(relation): * val1 = dummy_node if val[0] == np.inf else val[0] # <<<<<<<<<<<<<< * val2 = dummy_node if val[1] == np.inf else val[1] * relation[i] = tuple((val1, val2)) */ - __pyx_t_5 = __Pyx_GetItemInt(__pyx_v_val, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1365, __pyx_L1_error) + __pyx_t_5 = __Pyx_GetItemInt(__pyx_v_val, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1373, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); - __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_n_s_np); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1365, __pyx_L1_error) + __Pyx_GetModuleGlobalName(__pyx_t_6, __pyx_n_s_np); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1373, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); - __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_inf); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1365, __pyx_L1_error) + __pyx_t_7 = __Pyx_PyObject_GetAttrStr(__pyx_t_6, __pyx_n_s_inf); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1373, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; - __pyx_t_6 = PyObject_RichCompare(__pyx_t_5, __pyx_t_7, Py_EQ); __Pyx_XGOTREF(__pyx_t_6); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1365, __pyx_L1_error) + __pyx_t_6 = PyObject_RichCompare(__pyx_t_5, __pyx_t_7, Py_EQ); __Pyx_XGOTREF(__pyx_t_6); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1373, __pyx_L1_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - __pyx_t_8 = __Pyx_PyObject_IsTrue(__pyx_t_6); if (unlikely(__pyx_t_8 < 0)) __PYX_ERR(0, 1365, __pyx_L1_error) + __pyx_t_8 = __Pyx_PyObject_IsTrue(__pyx_t_6); if (unlikely(__pyx_t_8 < 0)) __PYX_ERR(0, 1373, __pyx_L1_error) __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; if (__pyx_t_8) { __Pyx_INCREF(__pyx_v_dummy_node); __pyx_t_3 = __pyx_v_dummy_node; } else { - __pyx_t_6 = __Pyx_GetItemInt(__pyx_v_val, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1365, __pyx_L1_error) + __pyx_t_6 = __Pyx_GetItemInt(__pyx_v_val, 0, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1373, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __pyx_t_3 = __pyx_t_6; __pyx_t_6 = 0; @@ -14480,30 +14482,30 @@ static PyObject *__pyx_pf_8gedlibpy_6GEDEnv_126compute_induced_cost(struct __pyx __Pyx_XDECREF_SET(__pyx_v_val1, __pyx_t_3); __pyx_t_3 = 0; - /* "gedlibpy.pyx":1366 + /* "gedlibpy.pyx":1374 * for i, val in enumerate(relation): * val1 = dummy_node if val[0] == np.inf else val[0] * val2 = dummy_node if val[1] == np.inf else val[1] # <<<<<<<<<<<<<< * relation[i] = tuple((val1, val2)) * # print(relation) */ - __pyx_t_6 = __Pyx_GetItemInt(__pyx_v_val, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1366, __pyx_L1_error) + __pyx_t_6 = __Pyx_GetItemInt(__pyx_v_val, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1374, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); - __Pyx_GetModuleGlobalName(__pyx_t_7, __pyx_n_s_np); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1366, __pyx_L1_error) + __Pyx_GetModuleGlobalName(__pyx_t_7, __pyx_n_s_np); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1374, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_7, __pyx_n_s_inf); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1366, __pyx_L1_error) + __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_7, __pyx_n_s_inf); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1374, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; - __pyx_t_7 = PyObject_RichCompare(__pyx_t_6, __pyx_t_5, Py_EQ); __Pyx_XGOTREF(__pyx_t_7); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1366, __pyx_L1_error) + __pyx_t_7 = PyObject_RichCompare(__pyx_t_6, __pyx_t_5, Py_EQ); __Pyx_XGOTREF(__pyx_t_7); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1374, __pyx_L1_error) __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_8 = __Pyx_PyObject_IsTrue(__pyx_t_7); if (unlikely(__pyx_t_8 < 0)) __PYX_ERR(0, 1366, __pyx_L1_error) + __pyx_t_8 = __Pyx_PyObject_IsTrue(__pyx_t_7); if (unlikely(__pyx_t_8 < 0)) __PYX_ERR(0, 1374, __pyx_L1_error) __Pyx_DECREF(__pyx_t_7); __pyx_t_7 = 0; if (__pyx_t_8) { __Pyx_INCREF(__pyx_v_dummy_node); __pyx_t_3 = __pyx_v_dummy_node; } else { - __pyx_t_7 = __Pyx_GetItemInt(__pyx_v_val, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1366, __pyx_L1_error) + __pyx_t_7 = __Pyx_GetItemInt(__pyx_v_val, 1, long, 1, __Pyx_PyInt_From_long, 0, 0, 1); if (unlikely(!__pyx_t_7)) __PYX_ERR(0, 1374, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_7); __pyx_t_3 = __pyx_t_7; __pyx_t_7 = 0; @@ -14511,14 +14513,14 @@ static PyObject *__pyx_pf_8gedlibpy_6GEDEnv_126compute_induced_cost(struct __pyx __Pyx_XDECREF_SET(__pyx_v_val2, __pyx_t_3); __pyx_t_3 = 0; - /* "gedlibpy.pyx":1367 + /* "gedlibpy.pyx":1375 * val1 = dummy_node if val[0] == np.inf else val[0] * val2 = dummy_node if val[1] == np.inf else val[1] * relation[i] = tuple((val1, val2)) # <<<<<<<<<<<<<< * # print(relation) * induced_cost = self.c_env.computeInducedCost(g_id, h_id, relation) */ - __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1367, __pyx_L1_error) + __pyx_t_3 = PyTuple_New(2); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1375, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_INCREF(__pyx_v_val1); __Pyx_GIVEREF(__pyx_v_val1); @@ -14526,10 +14528,10 @@ static PyObject *__pyx_pf_8gedlibpy_6GEDEnv_126compute_induced_cost(struct __pyx __Pyx_INCREF(__pyx_v_val2); __Pyx_GIVEREF(__pyx_v_val2); PyTuple_SET_ITEM(__pyx_t_3, 1, __pyx_v_val2); - if (unlikely(PyObject_SetItem(__pyx_v_relation, __pyx_v_i, __pyx_t_3) < 0)) __PYX_ERR(0, 1367, __pyx_L1_error) + if (unlikely(PyObject_SetItem(__pyx_v_relation, __pyx_v_i, __pyx_t_3) < 0)) __PYX_ERR(0, 1375, __pyx_L1_error) __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - /* "gedlibpy.pyx":1364 + /* "gedlibpy.pyx":1372 * dummy_node = get_dummy_node() * # print(dummy_node) * for i, val in enumerate(relation): # <<<<<<<<<<<<<< @@ -14540,34 +14542,34 @@ static PyObject *__pyx_pf_8gedlibpy_6GEDEnv_126compute_induced_cost(struct __pyx __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - /* "gedlibpy.pyx":1369 + /* "gedlibpy.pyx":1377 * relation[i] = tuple((val1, val2)) * # print(relation) * induced_cost = self.c_env.computeInducedCost(g_id, h_id, relation) # <<<<<<<<<<<<<< * node_map.set_induced_cost(induced_cost) * */ - __pyx_t_9 = __Pyx_PyInt_As_size_t(__pyx_v_g_id); if (unlikely((__pyx_t_9 == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 1369, __pyx_L1_error) - __pyx_t_10 = __Pyx_PyInt_As_size_t(__pyx_v_h_id); if (unlikely((__pyx_t_10 == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 1369, __pyx_L1_error) - __pyx_t_11 = __pyx_convert_vector_from_py_std_3a__3a_pair_3c_size_t_2c_size_t_3e___(__pyx_v_relation); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 1369, __pyx_L1_error) + __pyx_t_9 = __Pyx_PyInt_As_size_t(__pyx_v_g_id); if (unlikely((__pyx_t_9 == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 1377, __pyx_L1_error) + __pyx_t_10 = __Pyx_PyInt_As_size_t(__pyx_v_h_id); if (unlikely((__pyx_t_10 == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 1377, __pyx_L1_error) + __pyx_t_11 = __pyx_convert_vector_from_py_std_3a__3a_pair_3c_size_t_2c_size_t_3e___(__pyx_v_relation); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 1377, __pyx_L1_error) try { __pyx_t_12 = __pyx_v_self->c_env->computeInducedCost(__pyx_t_9, __pyx_t_10, __pyx_t_11); } catch(...) { __Pyx_CppExn2PyErr(); - __PYX_ERR(0, 1369, __pyx_L1_error) + __PYX_ERR(0, 1377, __pyx_L1_error) } __pyx_v_induced_cost = __pyx_t_12; - /* "gedlibpy.pyx":1370 + /* "gedlibpy.pyx":1378 * # print(relation) * induced_cost = self.c_env.computeInducedCost(g_id, h_id, relation) * node_map.set_induced_cost(induced_cost) # <<<<<<<<<<<<<< * * */ - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_node_map, __pyx_n_s_set_induced_cost); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1370, __pyx_L1_error) + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_node_map, __pyx_n_s_set_induced_cost); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1378, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); - __pyx_t_3 = PyFloat_FromDouble(__pyx_v_induced_cost); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1370, __pyx_L1_error) + __pyx_t_3 = PyFloat_FromDouble(__pyx_v_induced_cost); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1378, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __pyx_t_7 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_2))) { @@ -14582,12 +14584,12 @@ static PyObject *__pyx_pf_8gedlibpy_6GEDEnv_126compute_induced_cost(struct __pyx __pyx_t_1 = (__pyx_t_7) ? __Pyx_PyObject_Call2Args(__pyx_t_2, __pyx_t_7, __pyx_t_3) : __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_3); __Pyx_XDECREF(__pyx_t_7); __pyx_t_7 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1370, __pyx_L1_error) + if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1378, __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; - /* "gedlibpy.pyx":1342 + /* "gedlibpy.pyx":1350 * * * def compute_induced_cost(self, g_id, h_id, node_map): # <<<<<<<<<<<<<< @@ -14726,7 +14728,7 @@ static PyObject *__pyx_pf_8gedlibpy_6GEDEnv_130__setstate_cython__(CYTHON_UNUSED return __pyx_r; } -/* "gedlibpy.pyx":1400 +/* "gedlibpy.pyx":1408 * :type message: string * """ * def __init__(self, message): # <<<<<<<<<<<<<< @@ -14767,11 +14769,11 @@ static PyObject *__pyx_pw_8gedlibpy_13EditCostError_1__init__(PyObject *__pyx_se case 1: if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_message)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("__init__", 1, 2, 2, 1); __PYX_ERR(0, 1400, __pyx_L3_error) + __Pyx_RaiseArgtupleInvalid("__init__", 1, 2, 2, 1); __PYX_ERR(0, 1408, __pyx_L3_error) } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__init__") < 0)) __PYX_ERR(0, 1400, __pyx_L3_error) + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__init__") < 0)) __PYX_ERR(0, 1408, __pyx_L3_error) } } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { goto __pyx_L5_argtuple_error; @@ -14784,7 +14786,7 @@ static PyObject *__pyx_pw_8gedlibpy_13EditCostError_1__init__(PyObject *__pyx_se } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("__init__", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 1400, __pyx_L3_error) + __Pyx_RaiseArgtupleInvalid("__init__", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 1408, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("gedlibpy.EditCostError.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); @@ -14802,16 +14804,16 @@ static PyObject *__pyx_pf_8gedlibpy_13EditCostError___init__(CYTHON_UNUSED PyObj __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__init__", 0); - /* "gedlibpy.pyx":1407 + /* "gedlibpy.pyx":1415 * :type message: string * """ * self.message = message # <<<<<<<<<<<<<< * * */ - if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_message, __pyx_v_message) < 0) __PYX_ERR(0, 1407, __pyx_L1_error) + if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_message, __pyx_v_message) < 0) __PYX_ERR(0, 1415, __pyx_L1_error) - /* "gedlibpy.pyx":1400 + /* "gedlibpy.pyx":1408 * :type message: string * """ * def __init__(self, message): # <<<<<<<<<<<<<< @@ -14831,7 +14833,7 @@ static PyObject *__pyx_pf_8gedlibpy_13EditCostError___init__(CYTHON_UNUSED PyObj return __pyx_r; } -/* "gedlibpy.pyx":1417 +/* "gedlibpy.pyx":1425 * :type message: string * """ * def __init__(self, message): # <<<<<<<<<<<<<< @@ -14872,11 +14874,11 @@ static PyObject *__pyx_pw_8gedlibpy_11MethodError_1__init__(PyObject *__pyx_self case 1: if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_message)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("__init__", 1, 2, 2, 1); __PYX_ERR(0, 1417, __pyx_L3_error) + __Pyx_RaiseArgtupleInvalid("__init__", 1, 2, 2, 1); __PYX_ERR(0, 1425, __pyx_L3_error) } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__init__") < 0)) __PYX_ERR(0, 1417, __pyx_L3_error) + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__init__") < 0)) __PYX_ERR(0, 1425, __pyx_L3_error) } } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { goto __pyx_L5_argtuple_error; @@ -14889,7 +14891,7 @@ static PyObject *__pyx_pw_8gedlibpy_11MethodError_1__init__(PyObject *__pyx_self } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("__init__", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 1417, __pyx_L3_error) + __Pyx_RaiseArgtupleInvalid("__init__", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 1425, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("gedlibpy.MethodError.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); @@ -14907,16 +14909,16 @@ static PyObject *__pyx_pf_8gedlibpy_11MethodError___init__(CYTHON_UNUSED PyObjec __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__init__", 0); - /* "gedlibpy.pyx":1424 + /* "gedlibpy.pyx":1432 * :type message: string * """ * self.message = message # <<<<<<<<<<<<<< * * */ - if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_message, __pyx_v_message) < 0) __PYX_ERR(0, 1424, __pyx_L1_error) + if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_message, __pyx_v_message) < 0) __PYX_ERR(0, 1432, __pyx_L1_error) - /* "gedlibpy.pyx":1417 + /* "gedlibpy.pyx":1425 * :type message: string * """ * def __init__(self, message): # <<<<<<<<<<<<<< @@ -14936,7 +14938,7 @@ static PyObject *__pyx_pf_8gedlibpy_11MethodError___init__(CYTHON_UNUSED PyObjec return __pyx_r; } -/* "gedlibpy.pyx":1434 +/* "gedlibpy.pyx":1442 * :type message: string * """ * def __init__(self, message): # <<<<<<<<<<<<<< @@ -14977,11 +14979,11 @@ static PyObject *__pyx_pw_8gedlibpy_9InitError_1__init__(PyObject *__pyx_self, P case 1: if (likely((values[1] = __Pyx_PyDict_GetItemStr(__pyx_kwds, __pyx_n_s_message)) != 0)) kw_args--; else { - __Pyx_RaiseArgtupleInvalid("__init__", 1, 2, 2, 1); __PYX_ERR(0, 1434, __pyx_L3_error) + __Pyx_RaiseArgtupleInvalid("__init__", 1, 2, 2, 1); __PYX_ERR(0, 1442, __pyx_L3_error) } } if (unlikely(kw_args > 0)) { - if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__init__") < 0)) __PYX_ERR(0, 1434, __pyx_L3_error) + if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_pyargnames, 0, values, pos_args, "__init__") < 0)) __PYX_ERR(0, 1442, __pyx_L3_error) } } else if (PyTuple_GET_SIZE(__pyx_args) != 2) { goto __pyx_L5_argtuple_error; @@ -14994,7 +14996,7 @@ static PyObject *__pyx_pw_8gedlibpy_9InitError_1__init__(PyObject *__pyx_self, P } goto __pyx_L4_argument_unpacking_done; __pyx_L5_argtuple_error:; - __Pyx_RaiseArgtupleInvalid("__init__", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 1434, __pyx_L3_error) + __Pyx_RaiseArgtupleInvalid("__init__", 1, 2, 2, PyTuple_GET_SIZE(__pyx_args)); __PYX_ERR(0, 1442, __pyx_L3_error) __pyx_L3_error:; __Pyx_AddTraceback("gedlibpy.InitError.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename); __Pyx_RefNannyFinishContext(); @@ -15012,16 +15014,16 @@ static PyObject *__pyx_pf_8gedlibpy_9InitError___init__(CYTHON_UNUSED PyObject * __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__init__", 0); - /* "gedlibpy.pyx":1441 + /* "gedlibpy.pyx":1449 * :type message: string * """ * self.message = message # <<<<<<<<<<<<<< * * */ - if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_message, __pyx_v_message) < 0) __PYX_ERR(0, 1441, __pyx_L1_error) + if (__Pyx_PyObject_SetAttrStr(__pyx_v_self, __pyx_n_s_message, __pyx_v_message) < 0) __PYX_ERR(0, 1449, __pyx_L1_error) - /* "gedlibpy.pyx":1434 + /* "gedlibpy.pyx":1442 * :type message: string * """ * def __init__(self, message): # <<<<<<<<<<<<<< @@ -15041,7 +15043,7 @@ static PyObject *__pyx_pf_8gedlibpy_9InitError___init__(CYTHON_UNUSED PyObject * return __pyx_r; } -/* "gedlibpy.pyx":1448 +/* "gedlibpy.pyx":1456 * ######################################### * * def encode_your_map(map_u): # <<<<<<<<<<<<<< @@ -15081,19 +15083,19 @@ static PyObject *__pyx_pf_8gedlibpy_8encode_your_map(CYTHON_UNUSED PyObject *__p PyObject *__pyx_t_9 = NULL; __Pyx_RefNannySetupContext("encode_your_map", 0); - /* "gedlibpy.pyx":1460 + /* "gedlibpy.pyx":1468 * * """ * res = {} # <<<<<<<<<<<<<< * for key, value in map_u.items(): * res[key.encode('utf-8')] = value.encode('utf-8') */ - __pyx_t_1 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1460, __pyx_L1_error) + __pyx_t_1 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1468, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_v_res = ((PyObject*)__pyx_t_1); __pyx_t_1 = 0; - /* "gedlibpy.pyx":1461 + /* "gedlibpy.pyx":1469 * """ * res = {} * for key, value in map_u.items(): # <<<<<<<<<<<<<< @@ -15103,9 +15105,9 @@ static PyObject *__pyx_pf_8gedlibpy_8encode_your_map(CYTHON_UNUSED PyObject *__p __pyx_t_2 = 0; if (unlikely(__pyx_v_map_u == Py_None)) { PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%.30s'", "items"); - __PYX_ERR(0, 1461, __pyx_L1_error) + __PYX_ERR(0, 1469, __pyx_L1_error) } - __pyx_t_5 = __Pyx_dict_iterator(__pyx_v_map_u, 0, __pyx_n_s_items, (&__pyx_t_3), (&__pyx_t_4)); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1461, __pyx_L1_error) + __pyx_t_5 = __Pyx_dict_iterator(__pyx_v_map_u, 0, __pyx_n_s_items, (&__pyx_t_3), (&__pyx_t_4)); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1469, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = __pyx_t_5; @@ -15113,7 +15115,7 @@ static PyObject *__pyx_pf_8gedlibpy_8encode_your_map(CYTHON_UNUSED PyObject *__p while (1) { __pyx_t_7 = __Pyx_dict_iter_next(__pyx_t_1, __pyx_t_3, &__pyx_t_2, &__pyx_t_5, &__pyx_t_6, NULL, __pyx_t_4); if (unlikely(__pyx_t_7 == 0)) break; - if (unlikely(__pyx_t_7 == -1)) __PYX_ERR(0, 1461, __pyx_L1_error) + if (unlikely(__pyx_t_7 == -1)) __PYX_ERR(0, 1469, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_GOTREF(__pyx_t_6); __Pyx_XDECREF_SET(__pyx_v_key, __pyx_t_5); @@ -15121,14 +15123,14 @@ static PyObject *__pyx_pf_8gedlibpy_8encode_your_map(CYTHON_UNUSED PyObject *__p __Pyx_XDECREF_SET(__pyx_v_value, __pyx_t_6); __pyx_t_6 = 0; - /* "gedlibpy.pyx":1462 + /* "gedlibpy.pyx":1470 * res = {} * for key, value in map_u.items(): * res[key.encode('utf-8')] = value.encode('utf-8') # <<<<<<<<<<<<<< * return res * */ - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_value, __pyx_n_s_encode); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1462, __pyx_L1_error) + __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_value, __pyx_n_s_encode); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1470, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_8 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) { @@ -15142,10 +15144,10 @@ static PyObject *__pyx_pf_8gedlibpy_8encode_your_map(CYTHON_UNUSED PyObject *__p } __pyx_t_6 = (__pyx_t_8) ? __Pyx_PyObject_Call2Args(__pyx_t_5, __pyx_t_8, __pyx_kp_u_utf_8) : __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_kp_u_utf_8); __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; - if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1462, __pyx_L1_error) + if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1470, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_key, __pyx_n_s_encode); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1462, __pyx_L1_error) + __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_key, __pyx_n_s_encode); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1470, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __pyx_t_9 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_8))) { @@ -15159,16 +15161,16 @@ static PyObject *__pyx_pf_8gedlibpy_8encode_your_map(CYTHON_UNUSED PyObject *__p } __pyx_t_5 = (__pyx_t_9) ? __Pyx_PyObject_Call2Args(__pyx_t_8, __pyx_t_9, __pyx_kp_u_utf_8) : __Pyx_PyObject_CallOneArg(__pyx_t_8, __pyx_kp_u_utf_8); __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0; - if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1462, __pyx_L1_error) + if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1470, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - if (unlikely(PyDict_SetItem(__pyx_v_res, __pyx_t_5, __pyx_t_6) < 0)) __PYX_ERR(0, 1462, __pyx_L1_error) + if (unlikely(PyDict_SetItem(__pyx_v_res, __pyx_t_5, __pyx_t_6) < 0)) __PYX_ERR(0, 1470, __pyx_L1_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; } __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - /* "gedlibpy.pyx":1463 + /* "gedlibpy.pyx":1471 * for key, value in map_u.items(): * res[key.encode('utf-8')] = value.encode('utf-8') * return res # <<<<<<<<<<<<<< @@ -15180,7 +15182,7 @@ static PyObject *__pyx_pf_8gedlibpy_8encode_your_map(CYTHON_UNUSED PyObject *__p __pyx_r = __pyx_v_res; goto __pyx_L0; - /* "gedlibpy.pyx":1448 + /* "gedlibpy.pyx":1456 * ######################################### * * def encode_your_map(map_u): # <<<<<<<<<<<<<< @@ -15206,7 +15208,7 @@ static PyObject *__pyx_pf_8gedlibpy_8encode_your_map(CYTHON_UNUSED PyObject *__p return __pyx_r; } -/* "gedlibpy.pyx":1466 +/* "gedlibpy.pyx":1474 * * * def decode_your_map(map_b): # <<<<<<<<<<<<<< @@ -15246,19 +15248,19 @@ static PyObject *__pyx_pf_8gedlibpy_10decode_your_map(CYTHON_UNUSED PyObject *__ PyObject *__pyx_t_9 = NULL; __Pyx_RefNannySetupContext("decode_your_map", 0); - /* "gedlibpy.pyx":1478 + /* "gedlibpy.pyx":1486 * * """ * res = {} # <<<<<<<<<<<<<< * for key, value in map_b.items(): * res[key.decode('utf-8')] = value.decode('utf-8') */ - __pyx_t_1 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1478, __pyx_L1_error) + __pyx_t_1 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1486, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_v_res = ((PyObject*)__pyx_t_1); __pyx_t_1 = 0; - /* "gedlibpy.pyx":1479 + /* "gedlibpy.pyx":1487 * """ * res = {} * for key, value in map_b.items(): # <<<<<<<<<<<<<< @@ -15268,9 +15270,9 @@ static PyObject *__pyx_pf_8gedlibpy_10decode_your_map(CYTHON_UNUSED PyObject *__ __pyx_t_2 = 0; if (unlikely(__pyx_v_map_b == Py_None)) { PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%.30s'", "items"); - __PYX_ERR(0, 1479, __pyx_L1_error) + __PYX_ERR(0, 1487, __pyx_L1_error) } - __pyx_t_5 = __Pyx_dict_iterator(__pyx_v_map_b, 0, __pyx_n_s_items, (&__pyx_t_3), (&__pyx_t_4)); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1479, __pyx_L1_error) + __pyx_t_5 = __Pyx_dict_iterator(__pyx_v_map_b, 0, __pyx_n_s_items, (&__pyx_t_3), (&__pyx_t_4)); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1487, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = __pyx_t_5; @@ -15278,7 +15280,7 @@ static PyObject *__pyx_pf_8gedlibpy_10decode_your_map(CYTHON_UNUSED PyObject *__ while (1) { __pyx_t_7 = __Pyx_dict_iter_next(__pyx_t_1, __pyx_t_3, &__pyx_t_2, &__pyx_t_5, &__pyx_t_6, NULL, __pyx_t_4); if (unlikely(__pyx_t_7 == 0)) break; - if (unlikely(__pyx_t_7 == -1)) __PYX_ERR(0, 1479, __pyx_L1_error) + if (unlikely(__pyx_t_7 == -1)) __PYX_ERR(0, 1487, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_GOTREF(__pyx_t_6); __Pyx_XDECREF_SET(__pyx_v_key, __pyx_t_5); @@ -15286,14 +15288,14 @@ static PyObject *__pyx_pf_8gedlibpy_10decode_your_map(CYTHON_UNUSED PyObject *__ __Pyx_XDECREF_SET(__pyx_v_value, __pyx_t_6); __pyx_t_6 = 0; - /* "gedlibpy.pyx":1480 + /* "gedlibpy.pyx":1488 * res = {} * for key, value in map_b.items(): * res[key.decode('utf-8')] = value.decode('utf-8') # <<<<<<<<<<<<<< * return res * */ - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_value, __pyx_n_s_decode); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1480, __pyx_L1_error) + __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_v_value, __pyx_n_s_decode); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1488, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_8 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_5))) { @@ -15307,10 +15309,10 @@ static PyObject *__pyx_pf_8gedlibpy_10decode_your_map(CYTHON_UNUSED PyObject *__ } __pyx_t_6 = (__pyx_t_8) ? __Pyx_PyObject_Call2Args(__pyx_t_5, __pyx_t_8, __pyx_kp_u_utf_8) : __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_kp_u_utf_8); __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; - if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1480, __pyx_L1_error) + if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1488, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_key, __pyx_n_s_decode); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1480, __pyx_L1_error) + __pyx_t_8 = __Pyx_PyObject_GetAttrStr(__pyx_v_key, __pyx_n_s_decode); if (unlikely(!__pyx_t_8)) __PYX_ERR(0, 1488, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_8); __pyx_t_9 = NULL; if (CYTHON_UNPACK_METHODS && likely(PyMethod_Check(__pyx_t_8))) { @@ -15324,16 +15326,16 @@ static PyObject *__pyx_pf_8gedlibpy_10decode_your_map(CYTHON_UNUSED PyObject *__ } __pyx_t_5 = (__pyx_t_9) ? __Pyx_PyObject_Call2Args(__pyx_t_8, __pyx_t_9, __pyx_kp_u_utf_8) : __Pyx_PyObject_CallOneArg(__pyx_t_8, __pyx_kp_u_utf_8); __Pyx_XDECREF(__pyx_t_9); __pyx_t_9 = 0; - if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1480, __pyx_L1_error) + if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1488, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_8); __pyx_t_8 = 0; - if (unlikely(PyDict_SetItem(__pyx_v_res, __pyx_t_5, __pyx_t_6) < 0)) __PYX_ERR(0, 1480, __pyx_L1_error) + if (unlikely(PyDict_SetItem(__pyx_v_res, __pyx_t_5, __pyx_t_6) < 0)) __PYX_ERR(0, 1488, __pyx_L1_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; } __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - /* "gedlibpy.pyx":1481 + /* "gedlibpy.pyx":1489 * for key, value in map_b.items(): * res[key.decode('utf-8')] = value.decode('utf-8') * return res # <<<<<<<<<<<<<< @@ -15345,7 +15347,7 @@ static PyObject *__pyx_pf_8gedlibpy_10decode_your_map(CYTHON_UNUSED PyObject *__ __pyx_r = __pyx_v_res; goto __pyx_L0; - /* "gedlibpy.pyx":1466 + /* "gedlibpy.pyx":1474 * * * def decode_your_map(map_b): # <<<<<<<<<<<<<< @@ -15371,7 +15373,7 @@ static PyObject *__pyx_pf_8gedlibpy_10decode_your_map(CYTHON_UNUSED PyObject *__ return __pyx_r; } -/* "gedlibpy.pyx":1484 +/* "gedlibpy.pyx":1492 * * * def decode_graph_edges(map_edge_b): # <<<<<<<<<<<<<< @@ -15410,19 +15412,19 @@ static PyObject *__pyx_pf_8gedlibpy_12decode_graph_edges(CYTHON_UNUSED PyObject PyObject *__pyx_t_8 = NULL; __Pyx_RefNannySetupContext("decode_graph_edges", 0); - /* "gedlibpy.pyx":1502 + /* "gedlibpy.pyx":1510 * This is a helper function for function `GEDEnv.get_graph_edges()`. * """ * map_edges = {} # <<<<<<<<<<<<<< * for key, value in map_edge_b.items(): * map_edges[key] = decode_your_map(value) */ - __pyx_t_1 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1502, __pyx_L1_error) + __pyx_t_1 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1510, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_v_map_edges = ((PyObject*)__pyx_t_1); __pyx_t_1 = 0; - /* "gedlibpy.pyx":1503 + /* "gedlibpy.pyx":1511 * """ * map_edges = {} * for key, value in map_edge_b.items(): # <<<<<<<<<<<<<< @@ -15432,9 +15434,9 @@ static PyObject *__pyx_pf_8gedlibpy_12decode_graph_edges(CYTHON_UNUSED PyObject __pyx_t_2 = 0; if (unlikely(__pyx_v_map_edge_b == Py_None)) { PyErr_Format(PyExc_AttributeError, "'NoneType' object has no attribute '%.30s'", "items"); - __PYX_ERR(0, 1503, __pyx_L1_error) + __PYX_ERR(0, 1511, __pyx_L1_error) } - __pyx_t_5 = __Pyx_dict_iterator(__pyx_v_map_edge_b, 0, __pyx_n_s_items, (&__pyx_t_3), (&__pyx_t_4)); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1503, __pyx_L1_error) + __pyx_t_5 = __Pyx_dict_iterator(__pyx_v_map_edge_b, 0, __pyx_n_s_items, (&__pyx_t_3), (&__pyx_t_4)); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1511, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_XDECREF(__pyx_t_1); __pyx_t_1 = __pyx_t_5; @@ -15442,7 +15444,7 @@ static PyObject *__pyx_pf_8gedlibpy_12decode_graph_edges(CYTHON_UNUSED PyObject while (1) { __pyx_t_7 = __Pyx_dict_iter_next(__pyx_t_1, __pyx_t_3, &__pyx_t_2, &__pyx_t_5, &__pyx_t_6, NULL, __pyx_t_4); if (unlikely(__pyx_t_7 == 0)) break; - if (unlikely(__pyx_t_7 == -1)) __PYX_ERR(0, 1503, __pyx_L1_error) + if (unlikely(__pyx_t_7 == -1)) __PYX_ERR(0, 1511, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_GOTREF(__pyx_t_6); __Pyx_XDECREF_SET(__pyx_v_key, __pyx_t_5); @@ -15450,14 +15452,14 @@ static PyObject *__pyx_pf_8gedlibpy_12decode_graph_edges(CYTHON_UNUSED PyObject __Pyx_XDECREF_SET(__pyx_v_value, __pyx_t_6); __pyx_t_6 = 0; - /* "gedlibpy.pyx":1504 + /* "gedlibpy.pyx":1512 * map_edges = {} * for key, value in map_edge_b.items(): * map_edges[key] = decode_your_map(value) # <<<<<<<<<<<<<< * return map_edges * */ - __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_decode_your_map); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1504, __pyx_L1_error) + __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_decode_your_map); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1512, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __pyx_t_8 = NULL; if (CYTHON_UNPACK_METHODS && unlikely(PyMethod_Check(__pyx_t_5))) { @@ -15471,15 +15473,15 @@ static PyObject *__pyx_pf_8gedlibpy_12decode_graph_edges(CYTHON_UNUSED PyObject } __pyx_t_6 = (__pyx_t_8) ? __Pyx_PyObject_Call2Args(__pyx_t_5, __pyx_t_8, __pyx_v_value) : __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_v_value); __Pyx_XDECREF(__pyx_t_8); __pyx_t_8 = 0; - if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1504, __pyx_L1_error) + if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 1512, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_6); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - if (unlikely(PyDict_SetItem(__pyx_v_map_edges, __pyx_v_key, __pyx_t_6) < 0)) __PYX_ERR(0, 1504, __pyx_L1_error) + if (unlikely(PyDict_SetItem(__pyx_v_map_edges, __pyx_v_key, __pyx_t_6) < 0)) __PYX_ERR(0, 1512, __pyx_L1_error) __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0; } __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - /* "gedlibpy.pyx":1505 + /* "gedlibpy.pyx":1513 * for key, value in map_edge_b.items(): * map_edges[key] = decode_your_map(value) * return map_edges # <<<<<<<<<<<<<< @@ -15491,7 +15493,7 @@ static PyObject *__pyx_pf_8gedlibpy_12decode_graph_edges(CYTHON_UNUSED PyObject __pyx_r = __pyx_v_map_edges; goto __pyx_L0; - /* "gedlibpy.pyx":1484 + /* "gedlibpy.pyx":1492 * * * def decode_graph_edges(map_edge_b): # <<<<<<<<<<<<<< @@ -20776,12 +20778,12 @@ static int __pyx_import_star_set(PyObject *o, PyObject* py_name, char *name) { "UINT32_t", "X", "Y", + "__pyx_ctuple_2ae87__58ae9__std__in_map__lAngstd__in_pair__lAngsize_t__comma_size_t__rAng__comma_std__in_map__lAngstd__in_string__comma_std__in_string__rAng__rAng__etc__etc", + "__pyx_ctuple_2ae87__58ae9__std__in_map__lAngstd__in_pair__lAngsize_t__comma_size_t__rAng__comma_std__in_map__lAngstd__in_string__comma_std__in_string__rAng__rAng__etc__etc_struct", "__pyx_ctuple_Py_ssize_t", "__pyx_ctuple_Py_ssize_t__and_Py_ssize_t", "__pyx_ctuple_Py_ssize_t__and_Py_ssize_t_struct", "__pyx_ctuple_Py_ssize_t_struct", - "__pyx_ctuple_bfa21__6a9b6__std__in_map__lAngstd__in_pair__lAngsize_t__comma_size_t__rAng__comma_std__in_map__lAngstd__in_string__comma_std__in_string__rAng__rAng__etc__etc", - "__pyx_ctuple_bfa21__6a9b6__std__in_map__lAngstd__in_pair__lAngsize_t__comma_size_t__rAng__comma_std__in_map__lAngstd__in_string__comma_std__in_string__rAng__rAng__etc__etc_struct", "__pyx_ctuple_double", "__pyx_ctuple_double_struct", "__pyx_ctuple_size_t", @@ -21149,9 +21151,9 @@ static __Pyx_StringTabEntry __pyx_string_tab[] = { {0, 0, 0, 0, 0, 0, 0} }; static CYTHON_SMALL_CODE int __Pyx_InitCachedBuiltins(void) { - __pyx_builtin_range = __Pyx_GetBuiltinName(__pyx_n_s_range); if (!__pyx_builtin_range) __PYX_ERR(0, 750, __pyx_L1_error) - __pyx_builtin_print = __Pyx_GetBuiltinName(__pyx_n_s_print); if (!__pyx_builtin_print) __PYX_ERR(0, 977, __pyx_L1_error) - __pyx_builtin_enumerate = __Pyx_GetBuiltinName(__pyx_n_s_enumerate); if (!__pyx_builtin_enumerate) __PYX_ERR(0, 1364, __pyx_L1_error) + __pyx_builtin_range = __Pyx_GetBuiltinName(__pyx_n_s_range); if (!__pyx_builtin_range) __PYX_ERR(0, 758, __pyx_L1_error) + __pyx_builtin_print = __Pyx_GetBuiltinName(__pyx_n_s_print); if (!__pyx_builtin_print) __PYX_ERR(0, 985, __pyx_L1_error) + __pyx_builtin_enumerate = __Pyx_GetBuiltinName(__pyx_n_s_enumerate); if (!__pyx_builtin_enumerate) __PYX_ERR(0, 1372, __pyx_L1_error) __pyx_builtin_TypeError = __Pyx_GetBuiltinName(__pyx_n_s_TypeError); if (!__pyx_builtin_TypeError) __PYX_ERR(1, 2, __pyx_L1_error) __pyx_builtin_ValueError = __Pyx_GetBuiltinName(__pyx_n_s_ValueError); if (!__pyx_builtin_ValueError) __PYX_ERR(2, 272, __pyx_L1_error) __pyx_builtin_RuntimeError = __Pyx_GetBuiltinName(__pyx_n_s_RuntimeError); if (!__pyx_builtin_RuntimeError) __PYX_ERR(2, 856, __pyx_L1_error) @@ -21166,80 +21168,80 @@ static CYTHON_SMALL_CODE int __Pyx_InitCachedConstants(void) { __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__Pyx_InitCachedConstants", 0); - /* "gedlibpy.pyx":977 + /* "gedlibpy.pyx":985 * self.restart_env() * * print("Loading graphs in progress...") # <<<<<<<<<<<<<< * for graph in dataset : * self.add_nx_graph(graph, classes) */ - __pyx_tuple__4 = PyTuple_Pack(1, __pyx_kp_u_Loading_graphs_in_progress); if (unlikely(!__pyx_tuple__4)) __PYX_ERR(0, 977, __pyx_L1_error) + __pyx_tuple__4 = PyTuple_Pack(1, __pyx_kp_u_Loading_graphs_in_progress); if (unlikely(!__pyx_tuple__4)) __PYX_ERR(0, 985, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__4); __Pyx_GIVEREF(__pyx_tuple__4); - /* "gedlibpy.pyx":981 + /* "gedlibpy.pyx":989 * self.add_nx_graph(graph, classes) * listID = self.graph_ids() * print("Graphs loaded ! ") # <<<<<<<<<<<<<< * print("Number of graphs = " + str(listID[1])) * */ - __pyx_tuple__5 = PyTuple_Pack(1, __pyx_kp_u_Graphs_loaded); if (unlikely(!__pyx_tuple__5)) __PYX_ERR(0, 981, __pyx_L1_error) + __pyx_tuple__5 = PyTuple_Pack(1, __pyx_kp_u_Graphs_loaded); if (unlikely(!__pyx_tuple__5)) __PYX_ERR(0, 989, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__5); __Pyx_GIVEREF(__pyx_tuple__5); - /* "gedlibpy.pyx":985 + /* "gedlibpy.pyx":993 * * self.set_edit_cost(edit_cost) * print("Initialization in progress...") # <<<<<<<<<<<<<< * self.init(init_option) * print("Initialization terminated !") */ - __pyx_tuple__6 = PyTuple_Pack(1, __pyx_kp_u_Initialization_in_progress); if (unlikely(!__pyx_tuple__6)) __PYX_ERR(0, 985, __pyx_L1_error) + __pyx_tuple__6 = PyTuple_Pack(1, __pyx_kp_u_Initialization_in_progress); if (unlikely(!__pyx_tuple__6)) __PYX_ERR(0, 993, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__6); __Pyx_GIVEREF(__pyx_tuple__6); - /* "gedlibpy.pyx":987 + /* "gedlibpy.pyx":995 * print("Initialization in progress...") * self.init(init_option) * print("Initialization terminated !") # <<<<<<<<<<<<<< * * self.set_method(method, options) */ - __pyx_tuple__7 = PyTuple_Pack(1, __pyx_kp_u_Initialization_terminated); if (unlikely(!__pyx_tuple__7)) __PYX_ERR(0, 987, __pyx_L1_error) + __pyx_tuple__7 = PyTuple_Pack(1, __pyx_kp_u_Initialization_terminated); if (unlikely(!__pyx_tuple__7)) __PYX_ERR(0, 995, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__7); __Pyx_GIVEREF(__pyx_tuple__7); - /* "gedlibpy.pyx":1002 + /* "gedlibpy.pyx":1010 * resMapping[g][h] = self.get_node_map(g, h) * * print("Finish ! The return contains edit distances and NodeMap but you can check the result with graphs'ID until you restart the environment") # <<<<<<<<<<<<<< * return resDistance, resMapping * */ - __pyx_tuple__8 = PyTuple_Pack(1, __pyx_kp_u_Finish_The_return_contains_edit); if (unlikely(!__pyx_tuple__8)) __PYX_ERR(0, 1002, __pyx_L1_error) + __pyx_tuple__8 = PyTuple_Pack(1, __pyx_kp_u_Finish_The_return_contains_edit); if (unlikely(!__pyx_tuple__8)) __PYX_ERR(0, 1010, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__8); __Pyx_GIVEREF(__pyx_tuple__8); - /* "gedlibpy.pyx":1057 + /* "gedlibpy.pyx":1065 * #return res * * print ("Finish ! You can check the result with each ID of graphs ! There are in the return") # <<<<<<<<<<<<<< * print ("Please don't restart the environment or recall this function, you will lose your results !") * return listID */ - __pyx_tuple__9 = PyTuple_Pack(1, __pyx_kp_u_Finish_You_can_check_the_result); if (unlikely(!__pyx_tuple__9)) __PYX_ERR(0, 1057, __pyx_L1_error) + __pyx_tuple__9 = PyTuple_Pack(1, __pyx_kp_u_Finish_You_can_check_the_result); if (unlikely(!__pyx_tuple__9)) __PYX_ERR(0, 1065, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__9); __Pyx_GIVEREF(__pyx_tuple__9); - /* "gedlibpy.pyx":1058 + /* "gedlibpy.pyx":1066 * * print ("Finish ! You can check the result with each ID of graphs ! There are in the return") * print ("Please don't restart the environment or recall this function, you will lose your results !") # <<<<<<<<<<<<<< * return listID * */ - __pyx_tuple__10 = PyTuple_Pack(1, __pyx_kp_u_Please_don_t_restart_the_environ); if (unlikely(!__pyx_tuple__10)) __PYX_ERR(0, 1058, __pyx_L1_error) + __pyx_tuple__10 = PyTuple_Pack(1, __pyx_kp_u_Please_don_t_restart_the_environ); if (unlikely(!__pyx_tuple__10)) __PYX_ERR(0, 1066, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__10); __Pyx_GIVEREF(__pyx_tuple__10); @@ -21339,122 +21341,122 @@ static CYTHON_SMALL_CODE int __Pyx_InitCachedConstants(void) { __Pyx_GOTREF(__pyx_tuple__19); __Pyx_GIVEREF(__pyx_tuple__19); - /* "gedlibpy.pyx":128 + /* "gedlibpy.pyx":129 * * * def get_edit_cost_options() : # <<<<<<<<<<<<<< * """ * Searchs the differents edit cost functions and returns the result. */ - __pyx_tuple__21 = PyTuple_Pack(1, __pyx_n_s_option); if (unlikely(!__pyx_tuple__21)) __PYX_ERR(0, 128, __pyx_L1_error) + __pyx_tuple__21 = PyTuple_Pack(1, __pyx_n_s_option); if (unlikely(!__pyx_tuple__21)) __PYX_ERR(0, 129, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__21); __Pyx_GIVEREF(__pyx_tuple__21); - __pyx_codeobj__22 = (PyObject*)__Pyx_PyCode_New(0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__21, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_gedlibpy_pyx, __pyx_n_s_get_edit_cost_options, 128, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__22)) __PYX_ERR(0, 128, __pyx_L1_error) + __pyx_codeobj__22 = (PyObject*)__Pyx_PyCode_New(0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__21, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_gedlibpy_pyx, __pyx_n_s_get_edit_cost_options, 129, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__22)) __PYX_ERR(0, 129, __pyx_L1_error) - /* "gedlibpy.pyx":142 + /* "gedlibpy.pyx":143 * * * def get_method_options() : # <<<<<<<<<<<<<< * """ * Searchs the differents method for edit distance computation between graphs and returns the result. */ - __pyx_tuple__23 = PyTuple_Pack(1, __pyx_n_s_option); if (unlikely(!__pyx_tuple__23)) __PYX_ERR(0, 142, __pyx_L1_error) + __pyx_tuple__23 = PyTuple_Pack(1, __pyx_n_s_option); if (unlikely(!__pyx_tuple__23)) __PYX_ERR(0, 143, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__23); __Pyx_GIVEREF(__pyx_tuple__23); - __pyx_codeobj__24 = (PyObject*)__Pyx_PyCode_New(0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__23, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_gedlibpy_pyx, __pyx_n_s_get_method_options, 142, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__24)) __PYX_ERR(0, 142, __pyx_L1_error) + __pyx_codeobj__24 = (PyObject*)__Pyx_PyCode_New(0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__23, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_gedlibpy_pyx, __pyx_n_s_get_method_options, 143, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__24)) __PYX_ERR(0, 143, __pyx_L1_error) - /* "gedlibpy.pyx":155 + /* "gedlibpy.pyx":156 * * * def get_init_options() : # <<<<<<<<<<<<<< * """ * Searchs the differents initialization parameters for the environment computation for graphs and returns the result. */ - __pyx_tuple__25 = PyTuple_Pack(1, __pyx_n_s_option); if (unlikely(!__pyx_tuple__25)) __PYX_ERR(0, 155, __pyx_L1_error) + __pyx_tuple__25 = PyTuple_Pack(1, __pyx_n_s_option); if (unlikely(!__pyx_tuple__25)) __PYX_ERR(0, 156, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__25); __Pyx_GIVEREF(__pyx_tuple__25); - __pyx_codeobj__26 = (PyObject*)__Pyx_PyCode_New(0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__25, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_gedlibpy_pyx, __pyx_n_s_get_init_options, 155, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__26)) __PYX_ERR(0, 155, __pyx_L1_error) + __pyx_codeobj__26 = (PyObject*)__Pyx_PyCode_New(0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__25, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_gedlibpy_pyx, __pyx_n_s_get_init_options, 156, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__26)) __PYX_ERR(0, 156, __pyx_L1_error) - /* "gedlibpy.pyx":168 + /* "gedlibpy.pyx":169 * * * def get_dummy_node() : # <<<<<<<<<<<<<< * """ * Returns the ID of a dummy node. */ - __pyx_codeobj__27 = (PyObject*)__Pyx_PyCode_New(0, 0, 0, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_gedlibpy_pyx, __pyx_n_s_get_dummy_node, 168, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__27)) __PYX_ERR(0, 168, __pyx_L1_error) + __pyx_codeobj__27 = (PyObject*)__Pyx_PyCode_New(0, 0, 0, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_gedlibpy_pyx, __pyx_n_s_get_dummy_node, 169, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__27)) __PYX_ERR(0, 169, __pyx_L1_error) - /* "gedlibpy.pyx":1400 + /* "gedlibpy.pyx":1408 * :type message: string * """ * def __init__(self, message): # <<<<<<<<<<<<<< * """ * Inits the error with its message. */ - __pyx_tuple__28 = PyTuple_Pack(2, __pyx_n_s_self, __pyx_n_s_message); if (unlikely(!__pyx_tuple__28)) __PYX_ERR(0, 1400, __pyx_L1_error) + __pyx_tuple__28 = PyTuple_Pack(2, __pyx_n_s_self, __pyx_n_s_message); if (unlikely(!__pyx_tuple__28)) __PYX_ERR(0, 1408, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__28); __Pyx_GIVEREF(__pyx_tuple__28); - __pyx_codeobj__29 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__28, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_gedlibpy_pyx, __pyx_n_s_init_2, 1400, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__29)) __PYX_ERR(0, 1400, __pyx_L1_error) + __pyx_codeobj__29 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__28, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_gedlibpy_pyx, __pyx_n_s_init_2, 1408, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__29)) __PYX_ERR(0, 1408, __pyx_L1_error) - /* "gedlibpy.pyx":1417 + /* "gedlibpy.pyx":1425 * :type message: string * """ * def __init__(self, message): # <<<<<<<<<<<<<< * """ * Inits the error with its message. */ - __pyx_tuple__30 = PyTuple_Pack(2, __pyx_n_s_self, __pyx_n_s_message); if (unlikely(!__pyx_tuple__30)) __PYX_ERR(0, 1417, __pyx_L1_error) + __pyx_tuple__30 = PyTuple_Pack(2, __pyx_n_s_self, __pyx_n_s_message); if (unlikely(!__pyx_tuple__30)) __PYX_ERR(0, 1425, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__30); __Pyx_GIVEREF(__pyx_tuple__30); - __pyx_codeobj__31 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__30, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_gedlibpy_pyx, __pyx_n_s_init_2, 1417, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__31)) __PYX_ERR(0, 1417, __pyx_L1_error) + __pyx_codeobj__31 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__30, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_gedlibpy_pyx, __pyx_n_s_init_2, 1425, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__31)) __PYX_ERR(0, 1425, __pyx_L1_error) - /* "gedlibpy.pyx":1434 + /* "gedlibpy.pyx":1442 * :type message: string * """ * def __init__(self, message): # <<<<<<<<<<<<<< * """ * Inits the error with its message. */ - __pyx_tuple__32 = PyTuple_Pack(2, __pyx_n_s_self, __pyx_n_s_message); if (unlikely(!__pyx_tuple__32)) __PYX_ERR(0, 1434, __pyx_L1_error) + __pyx_tuple__32 = PyTuple_Pack(2, __pyx_n_s_self, __pyx_n_s_message); if (unlikely(!__pyx_tuple__32)) __PYX_ERR(0, 1442, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__32); __Pyx_GIVEREF(__pyx_tuple__32); - __pyx_codeobj__33 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__32, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_gedlibpy_pyx, __pyx_n_s_init_2, 1434, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__33)) __PYX_ERR(0, 1434, __pyx_L1_error) + __pyx_codeobj__33 = (PyObject*)__Pyx_PyCode_New(2, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__32, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_gedlibpy_pyx, __pyx_n_s_init_2, 1442, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__33)) __PYX_ERR(0, 1442, __pyx_L1_error) - /* "gedlibpy.pyx":1448 + /* "gedlibpy.pyx":1456 * ######################################### * * def encode_your_map(map_u): # <<<<<<<<<<<<<< * """ * Encodes Python unicode strings in dictionnary `map` to utf-8 byte strings for C++ functions. */ - __pyx_tuple__34 = PyTuple_Pack(4, __pyx_n_s_map_u, __pyx_n_s_res, __pyx_n_s_key, __pyx_n_s_value); if (unlikely(!__pyx_tuple__34)) __PYX_ERR(0, 1448, __pyx_L1_error) + __pyx_tuple__34 = PyTuple_Pack(4, __pyx_n_s_map_u, __pyx_n_s_res, __pyx_n_s_key, __pyx_n_s_value); if (unlikely(!__pyx_tuple__34)) __PYX_ERR(0, 1456, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__34); __Pyx_GIVEREF(__pyx_tuple__34); - __pyx_codeobj__35 = (PyObject*)__Pyx_PyCode_New(1, 0, 4, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__34, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_gedlibpy_pyx, __pyx_n_s_encode_your_map, 1448, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__35)) __PYX_ERR(0, 1448, __pyx_L1_error) + __pyx_codeobj__35 = (PyObject*)__Pyx_PyCode_New(1, 0, 4, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__34, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_gedlibpy_pyx, __pyx_n_s_encode_your_map, 1456, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__35)) __PYX_ERR(0, 1456, __pyx_L1_error) - /* "gedlibpy.pyx":1466 + /* "gedlibpy.pyx":1474 * * * def decode_your_map(map_b): # <<<<<<<<<<<<<< * """ * Decodes utf-8 byte strings in `map` from C++ functions to Python unicode strings. */ - __pyx_tuple__36 = PyTuple_Pack(4, __pyx_n_s_map_b, __pyx_n_s_res, __pyx_n_s_key, __pyx_n_s_value); if (unlikely(!__pyx_tuple__36)) __PYX_ERR(0, 1466, __pyx_L1_error) + __pyx_tuple__36 = PyTuple_Pack(4, __pyx_n_s_map_b, __pyx_n_s_res, __pyx_n_s_key, __pyx_n_s_value); if (unlikely(!__pyx_tuple__36)) __PYX_ERR(0, 1474, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__36); __Pyx_GIVEREF(__pyx_tuple__36); - __pyx_codeobj__37 = (PyObject*)__Pyx_PyCode_New(1, 0, 4, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__36, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_gedlibpy_pyx, __pyx_n_s_decode_your_map, 1466, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__37)) __PYX_ERR(0, 1466, __pyx_L1_error) + __pyx_codeobj__37 = (PyObject*)__Pyx_PyCode_New(1, 0, 4, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__36, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_gedlibpy_pyx, __pyx_n_s_decode_your_map, 1474, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__37)) __PYX_ERR(0, 1474, __pyx_L1_error) - /* "gedlibpy.pyx":1484 + /* "gedlibpy.pyx":1492 * * * def decode_graph_edges(map_edge_b): # <<<<<<<<<<<<<< * """ * Decode utf-8 byte strings in graph edges `map` from C++ functions to Python unicode strings. */ - __pyx_tuple__38 = PyTuple_Pack(4, __pyx_n_s_map_edge_b, __pyx_n_s_map_edges, __pyx_n_s_key, __pyx_n_s_value); if (unlikely(!__pyx_tuple__38)) __PYX_ERR(0, 1484, __pyx_L1_error) + __pyx_tuple__38 = PyTuple_Pack(4, __pyx_n_s_map_edge_b, __pyx_n_s_map_edges, __pyx_n_s_key, __pyx_n_s_value); if (unlikely(!__pyx_tuple__38)) __PYX_ERR(0, 1492, __pyx_L1_error) __Pyx_GOTREF(__pyx_tuple__38); __Pyx_GIVEREF(__pyx_tuple__38); - __pyx_codeobj__39 = (PyObject*)__Pyx_PyCode_New(1, 0, 4, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__38, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_gedlibpy_pyx, __pyx_n_s_decode_graph_edges, 1484, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__39)) __PYX_ERR(0, 1484, __pyx_L1_error) + __pyx_codeobj__39 = (PyObject*)__Pyx_PyCode_New(1, 0, 4, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__38, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_gedlibpy_pyx, __pyx_n_s_decode_graph_edges, 1492, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__39)) __PYX_ERR(0, 1492, __pyx_L1_error) __Pyx_RefNannyFinishContext(); return 0; __pyx_L1_error:; @@ -21507,15 +21509,15 @@ static int __Pyx_modinit_type_init_code(void) { __Pyx_RefNannyDeclarations __Pyx_RefNannySetupContext("__Pyx_modinit_type_init_code", 0); /*--- Type init code ---*/ - if (PyType_Ready(&__pyx_type_8gedlibpy_GEDEnv) < 0) __PYX_ERR(0, 180, __pyx_L1_error) + if (PyType_Ready(&__pyx_type_8gedlibpy_GEDEnv) < 0) __PYX_ERR(0, 182, __pyx_L1_error) #if PY_VERSION_HEX < 0x030800B1 __pyx_type_8gedlibpy_GEDEnv.tp_print = 0; #endif if ((CYTHON_USE_TYPE_SLOTS && CYTHON_USE_PYTYPE_LOOKUP) && likely(!__pyx_type_8gedlibpy_GEDEnv.tp_dictoffset && __pyx_type_8gedlibpy_GEDEnv.tp_getattro == PyObject_GenericGetAttr)) { __pyx_type_8gedlibpy_GEDEnv.tp_getattro = __Pyx_PyObject_GenericGetAttr; } - if (PyObject_SetAttr(__pyx_m, __pyx_n_s_GEDEnv, (PyObject *)&__pyx_type_8gedlibpy_GEDEnv) < 0) __PYX_ERR(0, 180, __pyx_L1_error) - if (__Pyx_setup_reduce((PyObject*)&__pyx_type_8gedlibpy_GEDEnv) < 0) __PYX_ERR(0, 180, __pyx_L1_error) + if (PyObject_SetAttr(__pyx_m, __pyx_n_s_GEDEnv, (PyObject *)&__pyx_type_8gedlibpy_GEDEnv) < 0) __PYX_ERR(0, 182, __pyx_L1_error) + if (__Pyx_setup_reduce((PyObject*)&__pyx_type_8gedlibpy_GEDEnv) < 0) __PYX_ERR(0, 182, __pyx_L1_error) __pyx_ptype_8gedlibpy_GEDEnv = &__pyx_type_8gedlibpy_GEDEnv; __Pyx_RefNannyFinishContext(); return 0; @@ -21793,588 +21795,588 @@ if (!__Pyx_RefNanny) { if (__Pyx_patch_abc() < 0) __PYX_ERR(0, 1, __pyx_L1_error) #endif - /* "gedlibpy.pyx":115 - * ############################# + /* "gedlibpy.pyx":116 * + * import cython * import numpy as np # <<<<<<<<<<<<<< * import networkx as nx * from gklearn.ged.env import NodeMap */ - __pyx_t_1 = __Pyx_Import(__pyx_n_s_numpy, 0, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 115, __pyx_L1_error) + __pyx_t_1 = __Pyx_Import(__pyx_n_s_numpy, 0, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 116, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_np, __pyx_t_1) < 0) __PYX_ERR(0, 115, __pyx_L1_error) + if (PyDict_SetItem(__pyx_d, __pyx_n_s_np, __pyx_t_1) < 0) __PYX_ERR(0, 116, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - /* "gedlibpy.pyx":116 - * + /* "gedlibpy.pyx":117 + * import cython * import numpy as np * import networkx as nx # <<<<<<<<<<<<<< * from gklearn.ged.env import NodeMap * */ - __pyx_t_1 = __Pyx_Import(__pyx_n_s_networkx, 0, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 116, __pyx_L1_error) + __pyx_t_1 = __Pyx_Import(__pyx_n_s_networkx, 0, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 117, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_nx, __pyx_t_1) < 0) __PYX_ERR(0, 116, __pyx_L1_error) + if (PyDict_SetItem(__pyx_d, __pyx_n_s_nx, __pyx_t_1) < 0) __PYX_ERR(0, 117, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - /* "gedlibpy.pyx":117 + /* "gedlibpy.pyx":118 * import numpy as np * import networkx as nx * from gklearn.ged.env import NodeMap # <<<<<<<<<<<<<< * * # import librariesImport */ - __pyx_t_1 = PyList_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 117, __pyx_L1_error) + __pyx_t_1 = PyList_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 118, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_INCREF(__pyx_n_s_NodeMap); __Pyx_GIVEREF(__pyx_n_s_NodeMap); PyList_SET_ITEM(__pyx_t_1, 0, __pyx_n_s_NodeMap); - __pyx_t_2 = __Pyx_Import(__pyx_n_s_gklearn_ged_env, __pyx_t_1, 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 117, __pyx_L1_error) + __pyx_t_2 = __Pyx_Import(__pyx_n_s_gklearn_ged_env, __pyx_t_1, 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 118, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = __Pyx_ImportFrom(__pyx_t_2, __pyx_n_s_NodeMap); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 117, __pyx_L1_error) + __pyx_t_1 = __Pyx_ImportFrom(__pyx_t_2, __pyx_n_s_NodeMap); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 118, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_NodeMap, __pyx_t_1) < 0) __PYX_ERR(0, 117, __pyx_L1_error) + if (PyDict_SetItem(__pyx_d, __pyx_n_s_NodeMap, __pyx_t_1) < 0) __PYX_ERR(0, 118, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - /* "gedlibpy.pyx":120 + /* "gedlibpy.pyx":121 * * # import librariesImport * from ctypes import * # <<<<<<<<<<<<<< * import os * lib1 = cdll.LoadLibrary(os.path.dirname(os.path.realpath(__file__)) + '/lib/fann/libdoublefann.so') */ - __pyx_t_2 = PyList_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 120, __pyx_L1_error) + __pyx_t_2 = PyList_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 121, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_INCREF(__pyx_n_s__20); __Pyx_GIVEREF(__pyx_n_s__20); PyList_SET_ITEM(__pyx_t_2, 0, __pyx_n_s__20); - __pyx_t_1 = __Pyx_Import(__pyx_n_s_ctypes, __pyx_t_2, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 120, __pyx_L1_error) + __pyx_t_1 = __Pyx_Import(__pyx_n_s_ctypes, __pyx_t_2, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 121, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - if (__pyx_import_star(__pyx_t_1) < 0) __PYX_ERR(0, 120, __pyx_L1_error); + if (__pyx_import_star(__pyx_t_1) < 0) __PYX_ERR(0, 121, __pyx_L1_error); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - /* "gedlibpy.pyx":121 + /* "gedlibpy.pyx":122 * # import librariesImport * from ctypes import * * import os # <<<<<<<<<<<<<< * lib1 = cdll.LoadLibrary(os.path.dirname(os.path.realpath(__file__)) + '/lib/fann/libdoublefann.so') * lib2 = cdll.LoadLibrary(os.path.dirname(os.path.realpath(__file__)) + '/lib/libsvm.3.22/libsvm.so') */ - __pyx_t_1 = __Pyx_Import(__pyx_n_s_os, 0, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 121, __pyx_L1_error) + __pyx_t_1 = __Pyx_Import(__pyx_n_s_os, 0, 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 122, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_os, __pyx_t_1) < 0) __PYX_ERR(0, 121, __pyx_L1_error) + if (PyDict_SetItem(__pyx_d, __pyx_n_s_os, __pyx_t_1) < 0) __PYX_ERR(0, 122, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - /* "gedlibpy.pyx":122 + /* "gedlibpy.pyx":123 * from ctypes import * * import os * lib1 = cdll.LoadLibrary(os.path.dirname(os.path.realpath(__file__)) + '/lib/fann/libdoublefann.so') # <<<<<<<<<<<<<< * lib2 = cdll.LoadLibrary(os.path.dirname(os.path.realpath(__file__)) + '/lib/libsvm.3.22/libsvm.so') * lib3 = cdll.LoadLibrary(os.path.dirname(os.path.realpath(__file__)) + '/lib/nomad/libnomad.so') */ - __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_cdll); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 122, __pyx_L1_error) + __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_cdll); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 123, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_LoadLibrary); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 122, __pyx_L1_error) + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_LoadLibrary); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 123, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_os); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 122, __pyx_L1_error) + __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_os); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 123, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_path); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 122, __pyx_L1_error) + __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_path); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 123, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_dirname); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 122, __pyx_L1_error) + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_dirname); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 123, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_os); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 122, __pyx_L1_error) + __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_os); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 123, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); - __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_path); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 122, __pyx_L1_error) + __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_path); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 123, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_realpath); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 122, __pyx_L1_error) + __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_realpath); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 123, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_file); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 122, __pyx_L1_error) + __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_file); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 123, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); - __pyx_t_5 = __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 122, __pyx_L1_error) + __pyx_t_5 = __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_4); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 123, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_4 = __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_5); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 122, __pyx_L1_error) + __pyx_t_4 = __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_5); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 123, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_5 = PyNumber_Add(__pyx_t_4, __pyx_kp_u_lib_fann_libdoublefann_so); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 122, __pyx_L1_error) + __pyx_t_5 = PyNumber_Add(__pyx_t_4, __pyx_kp_u_lib_fann_libdoublefann_so); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 123, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_4 = __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_5); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 122, __pyx_L1_error) + __pyx_t_4 = __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_5); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 123, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - if (PyDict_SetItem(__pyx_d, __pyx_n_s_lib1, __pyx_t_4) < 0) __PYX_ERR(0, 122, __pyx_L1_error) + if (PyDict_SetItem(__pyx_d, __pyx_n_s_lib1, __pyx_t_4) < 0) __PYX_ERR(0, 123, __pyx_L1_error) __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - /* "gedlibpy.pyx":123 + /* "gedlibpy.pyx":124 * import os * lib1 = cdll.LoadLibrary(os.path.dirname(os.path.realpath(__file__)) + '/lib/fann/libdoublefann.so') * lib2 = cdll.LoadLibrary(os.path.dirname(os.path.realpath(__file__)) + '/lib/libsvm.3.22/libsvm.so') # <<<<<<<<<<<<<< * lib3 = cdll.LoadLibrary(os.path.dirname(os.path.realpath(__file__)) + '/lib/nomad/libnomad.so') * lib4 = cdll.LoadLibrary(os.path.dirname(os.path.realpath(__file__)) + '/lib/nomad/libsgtelib.so') */ - __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_cdll); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 123, __pyx_L1_error) + __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_cdll); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 124, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_LoadLibrary); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 123, __pyx_L1_error) + __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_LoadLibrary); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 124, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_os); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 123, __pyx_L1_error) + __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_os); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 124, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_path); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 123, __pyx_L1_error) + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_path); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 124, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_dirname); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 123, __pyx_L1_error) + __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_dirname); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 124, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_os); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 123, __pyx_L1_error) + __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_os); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 124, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_path); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 123, __pyx_L1_error) + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_2, __pyx_n_s_path); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 124, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_realpath); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 123, __pyx_L1_error) + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_realpath); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 124, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_file); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 123, __pyx_L1_error) + __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_file); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 124, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); - __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 123, __pyx_L1_error) + __pyx_t_3 = __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 124, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 123, __pyx_L1_error) + __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 124, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = PyNumber_Add(__pyx_t_1, __pyx_kp_u_lib_libsvm_3_22_libsvm_so); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 123, __pyx_L1_error) + __pyx_t_3 = PyNumber_Add(__pyx_t_1, __pyx_kp_u_lib_libsvm_3_22_libsvm_so); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 124, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 123, __pyx_L1_error) + __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_3); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 124, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - if (PyDict_SetItem(__pyx_d, __pyx_n_s_lib2, __pyx_t_1) < 0) __PYX_ERR(0, 123, __pyx_L1_error) + if (PyDict_SetItem(__pyx_d, __pyx_n_s_lib2, __pyx_t_1) < 0) __PYX_ERR(0, 124, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - /* "gedlibpy.pyx":124 + /* "gedlibpy.pyx":125 * lib1 = cdll.LoadLibrary(os.path.dirname(os.path.realpath(__file__)) + '/lib/fann/libdoublefann.so') * lib2 = cdll.LoadLibrary(os.path.dirname(os.path.realpath(__file__)) + '/lib/libsvm.3.22/libsvm.so') * lib3 = cdll.LoadLibrary(os.path.dirname(os.path.realpath(__file__)) + '/lib/nomad/libnomad.so') # <<<<<<<<<<<<<< * lib4 = cdll.LoadLibrary(os.path.dirname(os.path.realpath(__file__)) + '/lib/nomad/libsgtelib.so') * */ - __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_cdll); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 124, __pyx_L1_error) + __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_cdll); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 125, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_LoadLibrary); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 124, __pyx_L1_error) + __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_LoadLibrary); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 125, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_os); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 124, __pyx_L1_error) + __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_os); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 125, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_path); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 124, __pyx_L1_error) + __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_path); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 125, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_dirname); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 124, __pyx_L1_error) + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_dirname); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 125, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_os); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 124, __pyx_L1_error) + __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_os); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 125, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); - __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_path); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 124, __pyx_L1_error) + __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_5, __pyx_n_s_path); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 125, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_realpath); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 124, __pyx_L1_error) + __pyx_t_5 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_realpath); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 125, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_file); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 124, __pyx_L1_error) + __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_file); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 125, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); - __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 124, __pyx_L1_error) + __pyx_t_2 = __Pyx_PyObject_CallOneArg(__pyx_t_5, __pyx_t_4); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 125, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_4 = __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 124, __pyx_L1_error) + __pyx_t_4 = __Pyx_PyObject_CallOneArg(__pyx_t_1, __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 125, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - __pyx_t_2 = PyNumber_Add(__pyx_t_4, __pyx_kp_u_lib_nomad_libnomad_so); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 124, __pyx_L1_error) + __pyx_t_2 = PyNumber_Add(__pyx_t_4, __pyx_kp_u_lib_nomad_libnomad_so); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 125, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_4 = __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 124, __pyx_L1_error) + __pyx_t_4 = __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_2); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 125, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; - if (PyDict_SetItem(__pyx_d, __pyx_n_s_lib3, __pyx_t_4) < 0) __PYX_ERR(0, 124, __pyx_L1_error) + if (PyDict_SetItem(__pyx_d, __pyx_n_s_lib3, __pyx_t_4) < 0) __PYX_ERR(0, 125, __pyx_L1_error) __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - /* "gedlibpy.pyx":125 + /* "gedlibpy.pyx":126 * lib2 = cdll.LoadLibrary(os.path.dirname(os.path.realpath(__file__)) + '/lib/libsvm.3.22/libsvm.so') * lib3 = cdll.LoadLibrary(os.path.dirname(os.path.realpath(__file__)) + '/lib/nomad/libnomad.so') * lib4 = cdll.LoadLibrary(os.path.dirname(os.path.realpath(__file__)) + '/lib/nomad/libsgtelib.so') # <<<<<<<<<<<<<< * * */ - __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_cdll); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 125, __pyx_L1_error) + __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_cdll); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 126, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); - __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_LoadLibrary); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 125, __pyx_L1_error) + __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_LoadLibrary); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 126, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_os); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 125, __pyx_L1_error) + __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_os); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 126, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_path); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 125, __pyx_L1_error) + __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_4, __pyx_n_s_path); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 126, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_dirname); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 125, __pyx_L1_error) + __pyx_t_4 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_dirname); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 126, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_os); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 125, __pyx_L1_error) + __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_os); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 126, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); - __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_path); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 125, __pyx_L1_error) + __pyx_t_1 = __Pyx_PyObject_GetAttrStr(__pyx_t_3, __pyx_n_s_path); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 126, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; - __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_realpath); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 125, __pyx_L1_error) + __pyx_t_3 = __Pyx_PyObject_GetAttrStr(__pyx_t_1, __pyx_n_s_realpath); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 126, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_3); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_file); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 125, __pyx_L1_error) + __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_file); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 126, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); - __pyx_t_5 = __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 125, __pyx_L1_error) + __pyx_t_5 = __Pyx_PyObject_CallOneArg(__pyx_t_3, __pyx_t_1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 126, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_5); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 125, __pyx_L1_error) + __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_4, __pyx_t_5); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 126, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - __pyx_t_5 = PyNumber_Add(__pyx_t_1, __pyx_kp_u_lib_nomad_libsgtelib_so); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 125, __pyx_L1_error) + __pyx_t_5 = PyNumber_Add(__pyx_t_1, __pyx_kp_u_lib_nomad_libsgtelib_so); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 126, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_5); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 125, __pyx_L1_error) + __pyx_t_1 = __Pyx_PyObject_CallOneArg(__pyx_t_2, __pyx_t_5); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 126, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - if (PyDict_SetItem(__pyx_d, __pyx_n_s_lib4, __pyx_t_1) < 0) __PYX_ERR(0, 125, __pyx_L1_error) + if (PyDict_SetItem(__pyx_d, __pyx_n_s_lib4, __pyx_t_1) < 0) __PYX_ERR(0, 126, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - /* "gedlibpy.pyx":128 + /* "gedlibpy.pyx":129 * * * def get_edit_cost_options() : # <<<<<<<<<<<<<< * """ * Searchs the differents edit cost functions and returns the result. */ - __pyx_t_1 = PyCFunction_NewEx(&__pyx_mdef_8gedlibpy_1get_edit_cost_options, NULL, __pyx_n_s_gedlibpy); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 128, __pyx_L1_error) + __pyx_t_1 = PyCFunction_NewEx(&__pyx_mdef_8gedlibpy_1get_edit_cost_options, NULL, __pyx_n_s_gedlibpy); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 129, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_get_edit_cost_options, __pyx_t_1) < 0) __PYX_ERR(0, 128, __pyx_L1_error) + if (PyDict_SetItem(__pyx_d, __pyx_n_s_get_edit_cost_options, __pyx_t_1) < 0) __PYX_ERR(0, 129, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - /* "gedlibpy.pyx":142 + /* "gedlibpy.pyx":143 * * * def get_method_options() : # <<<<<<<<<<<<<< * """ * Searchs the differents method for edit distance computation between graphs and returns the result. */ - __pyx_t_1 = PyCFunction_NewEx(&__pyx_mdef_8gedlibpy_3get_method_options, NULL, __pyx_n_s_gedlibpy); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 142, __pyx_L1_error) + __pyx_t_1 = PyCFunction_NewEx(&__pyx_mdef_8gedlibpy_3get_method_options, NULL, __pyx_n_s_gedlibpy); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 143, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_get_method_options, __pyx_t_1) < 0) __PYX_ERR(0, 142, __pyx_L1_error) + if (PyDict_SetItem(__pyx_d, __pyx_n_s_get_method_options, __pyx_t_1) < 0) __PYX_ERR(0, 143, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - /* "gedlibpy.pyx":155 + /* "gedlibpy.pyx":156 * * * def get_init_options() : # <<<<<<<<<<<<<< * """ * Searchs the differents initialization parameters for the environment computation for graphs and returns the result. */ - __pyx_t_1 = PyCFunction_NewEx(&__pyx_mdef_8gedlibpy_5get_init_options, NULL, __pyx_n_s_gedlibpy); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 155, __pyx_L1_error) + __pyx_t_1 = PyCFunction_NewEx(&__pyx_mdef_8gedlibpy_5get_init_options, NULL, __pyx_n_s_gedlibpy); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 156, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_get_init_options, __pyx_t_1) < 0) __PYX_ERR(0, 155, __pyx_L1_error) + if (PyDict_SetItem(__pyx_d, __pyx_n_s_get_init_options, __pyx_t_1) < 0) __PYX_ERR(0, 156, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - /* "gedlibpy.pyx":168 + /* "gedlibpy.pyx":169 * * * def get_dummy_node() : # <<<<<<<<<<<<<< * """ * Returns the ID of a dummy node. */ - __pyx_t_1 = PyCFunction_NewEx(&__pyx_mdef_8gedlibpy_7get_dummy_node, NULL, __pyx_n_s_gedlibpy); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 168, __pyx_L1_error) + __pyx_t_1 = PyCFunction_NewEx(&__pyx_mdef_8gedlibpy_7get_dummy_node, NULL, __pyx_n_s_gedlibpy); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 169, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_get_dummy_node, __pyx_t_1) < 0) __PYX_ERR(0, 168, __pyx_L1_error) + if (PyDict_SetItem(__pyx_d, __pyx_n_s_get_dummy_node, __pyx_t_1) < 0) __PYX_ERR(0, 169, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - /* "gedlibpy.pyx":485 + /* "gedlibpy.pyx":493 * * * def set_edit_cost(self, edit_cost, edit_cost_constant = []) : # <<<<<<<<<<<<<< * """ * Sets an edit cost function to the environment, if it exists. */ - __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 485, __pyx_L1_error) + __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 493, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_k__2 = __pyx_t_1; __Pyx_GIVEREF(__pyx_t_1); __pyx_t_1 = 0; - /* "gedlibpy.pyx":504 + /* "gedlibpy.pyx":512 * * * def set_personal_edit_cost(self, edit_cost_constant = []) : # <<<<<<<<<<<<<< * """ * Sets an personal edit cost function to the environment. */ - __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 504, __pyx_L1_error) + __pyx_t_1 = PyList_New(0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 512, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __pyx_k__3 = __pyx_t_1; __Pyx_GIVEREF(__pyx_t_1); __pyx_t_1 = 0; - /* "gedlibpy.pyx":1377 + /* "gedlibpy.pyx":1385 * ##################################################################### * * list_of_edit_cost_options = get_edit_cost_options() # <<<<<<<<<<<<<< * list_of_method_options = get_method_options() * list_of_init_options = get_init_options() */ - __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_get_edit_cost_options); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1377, __pyx_L1_error) + __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_get_edit_cost_options); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1385, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); - __pyx_t_5 = __Pyx_PyObject_CallNoArg(__pyx_t_1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1377, __pyx_L1_error) + __pyx_t_5 = __Pyx_PyObject_CallNoArg(__pyx_t_1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1385, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - if (PyDict_SetItem(__pyx_d, __pyx_n_s_list_of_edit_cost_options, __pyx_t_5) < 0) __PYX_ERR(0, 1377, __pyx_L1_error) + if (PyDict_SetItem(__pyx_d, __pyx_n_s_list_of_edit_cost_options, __pyx_t_5) < 0) __PYX_ERR(0, 1385, __pyx_L1_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - /* "gedlibpy.pyx":1378 + /* "gedlibpy.pyx":1386 * * list_of_edit_cost_options = get_edit_cost_options() * list_of_method_options = get_method_options() # <<<<<<<<<<<<<< * list_of_init_options = get_init_options() * */ - __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_get_method_options); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1378, __pyx_L1_error) + __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_get_method_options); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1386, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); - __pyx_t_1 = __Pyx_PyObject_CallNoArg(__pyx_t_5); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1378, __pyx_L1_error) + __pyx_t_1 = __Pyx_PyObject_CallNoArg(__pyx_t_5); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1386, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - if (PyDict_SetItem(__pyx_d, __pyx_n_s_list_of_method_options, __pyx_t_1) < 0) __PYX_ERR(0, 1378, __pyx_L1_error) + if (PyDict_SetItem(__pyx_d, __pyx_n_s_list_of_method_options, __pyx_t_1) < 0) __PYX_ERR(0, 1386, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - /* "gedlibpy.pyx":1379 + /* "gedlibpy.pyx":1387 * list_of_edit_cost_options = get_edit_cost_options() * list_of_method_options = get_method_options() * list_of_init_options = get_init_options() # <<<<<<<<<<<<<< * * */ - __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_get_init_options); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1379, __pyx_L1_error) + __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_get_init_options); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1387, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); - __pyx_t_5 = __Pyx_PyObject_CallNoArg(__pyx_t_1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1379, __pyx_L1_error) + __pyx_t_5 = __Pyx_PyObject_CallNoArg(__pyx_t_1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1387, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - if (PyDict_SetItem(__pyx_d, __pyx_n_s_list_of_init_options, __pyx_t_5) < 0) __PYX_ERR(0, 1379, __pyx_L1_error) + if (PyDict_SetItem(__pyx_d, __pyx_n_s_list_of_init_options, __pyx_t_5) < 0) __PYX_ERR(0, 1387, __pyx_L1_error) __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - /* "gedlibpy.pyx":1386 + /* "gedlibpy.pyx":1394 * ##################### * * class Error(Exception): # <<<<<<<<<<<<<< * """ * Class for error's management. This one is general. */ - __pyx_t_5 = PyTuple_New(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1386, __pyx_L1_error) + __pyx_t_5 = PyTuple_New(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1394, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_INCREF(((PyObject *)(&((PyTypeObject*)PyExc_Exception)[0]))); __Pyx_GIVEREF(((PyObject *)(&((PyTypeObject*)PyExc_Exception)[0]))); PyTuple_SET_ITEM(__pyx_t_5, 0, ((PyObject *)(&((PyTypeObject*)PyExc_Exception)[0]))); - __pyx_t_1 = __Pyx_CalculateMetaclass(NULL, __pyx_t_5); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1386, __pyx_L1_error) + __pyx_t_1 = __Pyx_CalculateMetaclass(NULL, __pyx_t_5); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1394, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); - __pyx_t_2 = __Pyx_Py3MetaclassPrepare(__pyx_t_1, __pyx_t_5, __pyx_n_s_Error, __pyx_n_s_Error, (PyObject *) NULL, __pyx_n_s_gedlibpy, __pyx_kp_s_Class_for_error_s_management_Th); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1386, __pyx_L1_error) + __pyx_t_2 = __Pyx_Py3MetaclassPrepare(__pyx_t_1, __pyx_t_5, __pyx_n_s_Error, __pyx_n_s_Error, (PyObject *) NULL, __pyx_n_s_gedlibpy, __pyx_kp_s_Class_for_error_s_management_Th); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1394, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); - __pyx_t_4 = __Pyx_Py3ClassCreate(__pyx_t_1, __pyx_n_s_Error, __pyx_t_5, __pyx_t_2, NULL, 0, 0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1386, __pyx_L1_error) + __pyx_t_4 = __Pyx_Py3ClassCreate(__pyx_t_1, __pyx_n_s_Error, __pyx_t_5, __pyx_t_2, NULL, 0, 0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1394, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_Error, __pyx_t_4) < 0) __PYX_ERR(0, 1386, __pyx_L1_error) + if (PyDict_SetItem(__pyx_d, __pyx_n_s_Error, __pyx_t_4) < 0) __PYX_ERR(0, 1394, __pyx_L1_error) __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - /* "gedlibpy.pyx":1393 + /* "gedlibpy.pyx":1401 * * * class EditCostError(Error) : # <<<<<<<<<<<<<< * """ * Class for Edit Cost Error. Raise an error if an edit cost function doesn't exist in the library (not in list_of_edit_cost_options). */ - __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_Error); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1393, __pyx_L1_error) + __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_Error); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1401, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); - __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1393, __pyx_L1_error) + __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1401, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_t_5); __pyx_t_5 = 0; - __pyx_t_5 = __Pyx_CalculateMetaclass(NULL, __pyx_t_1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1393, __pyx_L1_error) + __pyx_t_5 = __Pyx_CalculateMetaclass(NULL, __pyx_t_1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1401, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); - __pyx_t_2 = __Pyx_Py3MetaclassPrepare(__pyx_t_5, __pyx_t_1, __pyx_n_s_EditCostError, __pyx_n_s_EditCostError, (PyObject *) NULL, __pyx_n_s_gedlibpy, __pyx_kp_s_Class_for_Edit_Cost_Error_Raise); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1393, __pyx_L1_error) + __pyx_t_2 = __Pyx_Py3MetaclassPrepare(__pyx_t_5, __pyx_t_1, __pyx_n_s_EditCostError, __pyx_n_s_EditCostError, (PyObject *) NULL, __pyx_n_s_gedlibpy, __pyx_kp_s_Class_for_Edit_Cost_Error_Raise); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1401, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); - /* "gedlibpy.pyx":1400 + /* "gedlibpy.pyx":1408 * :type message: string * """ * def __init__(self, message): # <<<<<<<<<<<<<< * """ * Inits the error with its message. */ - __pyx_t_4 = __Pyx_CyFunction_NewEx(&__pyx_mdef_8gedlibpy_13EditCostError_1__init__, 0, __pyx_n_s_EditCostError___init, NULL, __pyx_n_s_gedlibpy, __pyx_d, ((PyObject *)__pyx_codeobj__29)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1400, __pyx_L1_error) + __pyx_t_4 = __Pyx_CyFunction_NewEx(&__pyx_mdef_8gedlibpy_13EditCostError_1__init__, 0, __pyx_n_s_EditCostError___init, NULL, __pyx_n_s_gedlibpy, __pyx_d, ((PyObject *)__pyx_codeobj__29)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1408, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); - if (__Pyx_SetNameInClass(__pyx_t_2, __pyx_n_s_init_2, __pyx_t_4) < 0) __PYX_ERR(0, 1400, __pyx_L1_error) + if (__Pyx_SetNameInClass(__pyx_t_2, __pyx_n_s_init_2, __pyx_t_4) < 0) __PYX_ERR(0, 1408, __pyx_L1_error) __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - /* "gedlibpy.pyx":1393 + /* "gedlibpy.pyx":1401 * * * class EditCostError(Error) : # <<<<<<<<<<<<<< * """ * Class for Edit Cost Error. Raise an error if an edit cost function doesn't exist in the library (not in list_of_edit_cost_options). */ - __pyx_t_4 = __Pyx_Py3ClassCreate(__pyx_t_5, __pyx_n_s_EditCostError, __pyx_t_1, __pyx_t_2, NULL, 0, 0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1393, __pyx_L1_error) + __pyx_t_4 = __Pyx_Py3ClassCreate(__pyx_t_5, __pyx_n_s_EditCostError, __pyx_t_1, __pyx_t_2, NULL, 0, 0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1401, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_EditCostError, __pyx_t_4) < 0) __PYX_ERR(0, 1393, __pyx_L1_error) + if (PyDict_SetItem(__pyx_d, __pyx_n_s_EditCostError, __pyx_t_4) < 0) __PYX_ERR(0, 1401, __pyx_L1_error) __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - /* "gedlibpy.pyx":1410 + /* "gedlibpy.pyx":1418 * * * class MethodError(Error) : # <<<<<<<<<<<<<< * """ * Class for Method Error. Raise an error if a computation method doesn't exist in the library (not in list_of_method_options). */ - __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_Error); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1410, __pyx_L1_error) + __Pyx_GetModuleGlobalName(__pyx_t_1, __pyx_n_s_Error); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1418, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); - __pyx_t_5 = PyTuple_New(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1410, __pyx_L1_error) + __pyx_t_5 = PyTuple_New(1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1418, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); __Pyx_GIVEREF(__pyx_t_1); PyTuple_SET_ITEM(__pyx_t_5, 0, __pyx_t_1); __pyx_t_1 = 0; - __pyx_t_1 = __Pyx_CalculateMetaclass(NULL, __pyx_t_5); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1410, __pyx_L1_error) + __pyx_t_1 = __Pyx_CalculateMetaclass(NULL, __pyx_t_5); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1418, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); - __pyx_t_2 = __Pyx_Py3MetaclassPrepare(__pyx_t_1, __pyx_t_5, __pyx_n_s_MethodError, __pyx_n_s_MethodError, (PyObject *) NULL, __pyx_n_s_gedlibpy, __pyx_kp_s_Class_for_Method_Error_Raise_an); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1410, __pyx_L1_error) + __pyx_t_2 = __Pyx_Py3MetaclassPrepare(__pyx_t_1, __pyx_t_5, __pyx_n_s_MethodError, __pyx_n_s_MethodError, (PyObject *) NULL, __pyx_n_s_gedlibpy, __pyx_kp_s_Class_for_Method_Error_Raise_an); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1418, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); - /* "gedlibpy.pyx":1417 + /* "gedlibpy.pyx":1425 * :type message: string * """ * def __init__(self, message): # <<<<<<<<<<<<<< * """ * Inits the error with its message. */ - __pyx_t_4 = __Pyx_CyFunction_NewEx(&__pyx_mdef_8gedlibpy_11MethodError_1__init__, 0, __pyx_n_s_MethodError___init, NULL, __pyx_n_s_gedlibpy, __pyx_d, ((PyObject *)__pyx_codeobj__31)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1417, __pyx_L1_error) + __pyx_t_4 = __Pyx_CyFunction_NewEx(&__pyx_mdef_8gedlibpy_11MethodError_1__init__, 0, __pyx_n_s_MethodError___init, NULL, __pyx_n_s_gedlibpy, __pyx_d, ((PyObject *)__pyx_codeobj__31)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1425, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); - if (__Pyx_SetNameInClass(__pyx_t_2, __pyx_n_s_init_2, __pyx_t_4) < 0) __PYX_ERR(0, 1417, __pyx_L1_error) + if (__Pyx_SetNameInClass(__pyx_t_2, __pyx_n_s_init_2, __pyx_t_4) < 0) __PYX_ERR(0, 1425, __pyx_L1_error) __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - /* "gedlibpy.pyx":1410 + /* "gedlibpy.pyx":1418 * * * class MethodError(Error) : # <<<<<<<<<<<<<< * """ * Class for Method Error. Raise an error if a computation method doesn't exist in the library (not in list_of_method_options). */ - __pyx_t_4 = __Pyx_Py3ClassCreate(__pyx_t_1, __pyx_n_s_MethodError, __pyx_t_5, __pyx_t_2, NULL, 0, 0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1410, __pyx_L1_error) + __pyx_t_4 = __Pyx_Py3ClassCreate(__pyx_t_1, __pyx_n_s_MethodError, __pyx_t_5, __pyx_t_2, NULL, 0, 0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1418, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_MethodError, __pyx_t_4) < 0) __PYX_ERR(0, 1410, __pyx_L1_error) + if (PyDict_SetItem(__pyx_d, __pyx_n_s_MethodError, __pyx_t_4) < 0) __PYX_ERR(0, 1418, __pyx_L1_error) __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; - /* "gedlibpy.pyx":1427 + /* "gedlibpy.pyx":1435 * * * class InitError(Error) : # <<<<<<<<<<<<<< * """ * Class for Init Error. Raise an error if an init option doesn't exist in the library (not in list_of_init_options). */ - __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_Error); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1427, __pyx_L1_error) + __Pyx_GetModuleGlobalName(__pyx_t_5, __pyx_n_s_Error); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1435, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); - __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1427, __pyx_L1_error) + __pyx_t_1 = PyTuple_New(1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1435, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); __Pyx_GIVEREF(__pyx_t_5); PyTuple_SET_ITEM(__pyx_t_1, 0, __pyx_t_5); __pyx_t_5 = 0; - __pyx_t_5 = __Pyx_CalculateMetaclass(NULL, __pyx_t_1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1427, __pyx_L1_error) + __pyx_t_5 = __Pyx_CalculateMetaclass(NULL, __pyx_t_1); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 1435, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_5); - __pyx_t_2 = __Pyx_Py3MetaclassPrepare(__pyx_t_5, __pyx_t_1, __pyx_n_s_InitError, __pyx_n_s_InitError, (PyObject *) NULL, __pyx_n_s_gedlibpy, __pyx_kp_s_Class_for_Init_Error_Raise_an_e); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1427, __pyx_L1_error) + __pyx_t_2 = __Pyx_Py3MetaclassPrepare(__pyx_t_5, __pyx_t_1, __pyx_n_s_InitError, __pyx_n_s_InitError, (PyObject *) NULL, __pyx_n_s_gedlibpy, __pyx_kp_s_Class_for_Init_Error_Raise_an_e); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 1435, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_2); - /* "gedlibpy.pyx":1434 + /* "gedlibpy.pyx":1442 * :type message: string * """ * def __init__(self, message): # <<<<<<<<<<<<<< * """ * Inits the error with its message. */ - __pyx_t_4 = __Pyx_CyFunction_NewEx(&__pyx_mdef_8gedlibpy_9InitError_1__init__, 0, __pyx_n_s_InitError___init, NULL, __pyx_n_s_gedlibpy, __pyx_d, ((PyObject *)__pyx_codeobj__33)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1434, __pyx_L1_error) + __pyx_t_4 = __Pyx_CyFunction_NewEx(&__pyx_mdef_8gedlibpy_9InitError_1__init__, 0, __pyx_n_s_InitError___init, NULL, __pyx_n_s_gedlibpy, __pyx_d, ((PyObject *)__pyx_codeobj__33)); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1442, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); - if (__Pyx_SetNameInClass(__pyx_t_2, __pyx_n_s_init_2, __pyx_t_4) < 0) __PYX_ERR(0, 1434, __pyx_L1_error) + if (__Pyx_SetNameInClass(__pyx_t_2, __pyx_n_s_init_2, __pyx_t_4) < 0) __PYX_ERR(0, 1442, __pyx_L1_error) __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; - /* "gedlibpy.pyx":1427 + /* "gedlibpy.pyx":1435 * * * class InitError(Error) : # <<<<<<<<<<<<<< * """ * Class for Init Error. Raise an error if an init option doesn't exist in the library (not in list_of_init_options). */ - __pyx_t_4 = __Pyx_Py3ClassCreate(__pyx_t_5, __pyx_n_s_InitError, __pyx_t_1, __pyx_t_2, NULL, 0, 0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1427, __pyx_L1_error) + __pyx_t_4 = __Pyx_Py3ClassCreate(__pyx_t_5, __pyx_n_s_InitError, __pyx_t_1, __pyx_t_2, NULL, 0, 0); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 1435, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_4); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_InitError, __pyx_t_4) < 0) __PYX_ERR(0, 1427, __pyx_L1_error) + if (PyDict_SetItem(__pyx_d, __pyx_n_s_InitError, __pyx_t_4) < 0) __PYX_ERR(0, 1435, __pyx_L1_error) __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0; __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0; __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0; __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - /* "gedlibpy.pyx":1448 + /* "gedlibpy.pyx":1456 * ######################################### * * def encode_your_map(map_u): # <<<<<<<<<<<<<< * """ * Encodes Python unicode strings in dictionnary `map` to utf-8 byte strings for C++ functions. */ - __pyx_t_1 = PyCFunction_NewEx(&__pyx_mdef_8gedlibpy_9encode_your_map, NULL, __pyx_n_s_gedlibpy); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1448, __pyx_L1_error) + __pyx_t_1 = PyCFunction_NewEx(&__pyx_mdef_8gedlibpy_9encode_your_map, NULL, __pyx_n_s_gedlibpy); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1456, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_encode_your_map, __pyx_t_1) < 0) __PYX_ERR(0, 1448, __pyx_L1_error) + if (PyDict_SetItem(__pyx_d, __pyx_n_s_encode_your_map, __pyx_t_1) < 0) __PYX_ERR(0, 1456, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - /* "gedlibpy.pyx":1466 + /* "gedlibpy.pyx":1474 * * * def decode_your_map(map_b): # <<<<<<<<<<<<<< * """ * Decodes utf-8 byte strings in `map` from C++ functions to Python unicode strings. */ - __pyx_t_1 = PyCFunction_NewEx(&__pyx_mdef_8gedlibpy_11decode_your_map, NULL, __pyx_n_s_gedlibpy); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1466, __pyx_L1_error) + __pyx_t_1 = PyCFunction_NewEx(&__pyx_mdef_8gedlibpy_11decode_your_map, NULL, __pyx_n_s_gedlibpy); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1474, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_decode_your_map, __pyx_t_1) < 0) __PYX_ERR(0, 1466, __pyx_L1_error) + if (PyDict_SetItem(__pyx_d, __pyx_n_s_decode_your_map, __pyx_t_1) < 0) __PYX_ERR(0, 1474, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; - /* "gedlibpy.pyx":1484 + /* "gedlibpy.pyx":1492 * * * def decode_graph_edges(map_edge_b): # <<<<<<<<<<<<<< * """ * Decode utf-8 byte strings in graph edges `map` from C++ functions to Python unicode strings. */ - __pyx_t_1 = PyCFunction_NewEx(&__pyx_mdef_8gedlibpy_13decode_graph_edges, NULL, __pyx_n_s_gedlibpy); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1484, __pyx_L1_error) + __pyx_t_1 = PyCFunction_NewEx(&__pyx_mdef_8gedlibpy_13decode_graph_edges, NULL, __pyx_n_s_gedlibpy); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 1492, __pyx_L1_error) __Pyx_GOTREF(__pyx_t_1); - if (PyDict_SetItem(__pyx_d, __pyx_n_s_decode_graph_edges, __pyx_t_1) < 0) __PYX_ERR(0, 1484, __pyx_L1_error) + if (PyDict_SetItem(__pyx_d, __pyx_n_s_decode_graph_edges, __pyx_t_1) < 0) __PYX_ERR(0, 1492, __pyx_L1_error) __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0; /* "gedlibpy.pyx":1 diff --git a/gklearn/gedlib/gedlibpy.cpython-36m-x86_64-linux-gnu.so b/gklearn/gedlib/gedlibpy.cpython-36m-x86_64-linux-gnu.so index 94b9401a92d6d6d3fa7ba03c3b42d0924d074018..9d24796d0afff95aaaad76f57ff8c9a29bc1b9e1 100644 GIT binary patch delta 118767 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 zHvkC(oK6$~00000Q}0Pv01>|k&<8gF2?Lf+6aWAK002|9P1gVszzEO>HvkC(kWLf; z00000Q>S}&01?3m&<8gF2?L5w6aWAK002{4_k;iu!j}&dPZcf02+#*N00{$rP80wD z0000}c|JS<5yS}c1UCQ)19wgo0000008>VwCjb$}mr)Z>6)naH@&q>k2?J?P6aWAK z002|Y-MIh}#|ZKSHvkC(VonqQ00000Q_U#@0TIZTlM_!Y0m+xZ6HgU?$_R-CHvkC( zKu#0@00000Q-5ah01?Xw@&q>k2?H}u6aWAK002{y9De{2%m@P*HvkC(C{7dr00000 zQ{^#@01?dyi3K+R2?H2T6aWAK002{z4p;yY&Is}ZHvkC(3r-XO00000Q=~o)0TIs# z0~j{|2?GF56aWAK002`Q{af4s5zq)S1vdZ*1Nco80000008IiuUHvkC(h)fg!00000Q)ER)01@j5c?UND2?Kac6aWAK z002`8KMMg7>k>01@&C0~j{|2?GdB6aWAK002{gr$zt~^9TbNHvkC(_)8Q300000Q;{3H01@;E z0~j{|2?OX$6aWAK002{AX#@cg^_QO)PZcfp2m=^500{%gOB4VA0000}L4_01*obPX#vs2?Kaa6aWAK002{x4rKrl3<*yKHvkC(Xi5|S00000 zQ~XpU01*wBuNhAjEe;7@8#e$614v2~0000008_bC2LKTd39|<`00{#yN)!M90000} zg*+et5fGR08BY}#5eZ%!HvkC(2uc(H00000Q*>;{01*#% z00000080000008`3ZJ^&FO2@)SS00{#yNfZD80000}S*4Z$5g(Un8&52MAPLzYHvkC( z@JJK@00000Q$lyC01+Vx?FTmi2?Nkb6aWAK002{HUwHr#A_=nxHvkC(ut*dD00000 zQ(EdE01+bzvj;Z-2?LNw6aWAK002`9gjN6%BngckHvkC(a7YvY00000Q}m_%01+h# zjUG1u2?J0_6aWAK005Df6dX?+0VbC*98VQlCkfdfHvkC(5J(gN00000Q-Lx%01+q& z*&jCm2?Ov)6aWAK002|jcY**BDGAvhHvkC(&_@&i00000Q-D&I01+w)*&jCm2?MZ4 z6aWAK002`Q-NFD7E0>=fPb?QK2@fGR00{$dM-%`60000}VQ-ND5iOVE98W9(E|(7- zPZcdM2~r_900{#SM-%`60000}2|*D75iki-AvXXC1Mo%^0000008?Q!1pyH;mr)&0 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%0Dq=4075T65C9PaA_lb%01&7% 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�|^Kc2uzX)Ap|l5 zmZ_H*R*)H01M+@? z104uF1Tq7`qJMM)UOWRKf&>u*qul_I1Tq8OqJQ#Qj#&f|1HRn=SOO�|^Kc2uzX) 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 T-~{^tkKhFS0l(k`{Q)p~q9(H6 delta 118732 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 002yh>%OoQ006r4mwoyOATsj-0074Y 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 z0000}4k5q*5u2Cc4^I_YoCppSHvkC(TTc`K00000Q>U-M01=%C4iq;42?JP96aWAK z002{3>Tv)Oo(K*UHvkC(RZkQE00000Q@}Om01=-E4iq;42?J736aWAK002{~VRrx# zpqEb&PZcep2r>mX00{#~PZR(E0000}Zak_05uykc1vdZ*13pg_0000008?lIvj7pJ zmyr-p6HvkC(F;5f#00000Q?_V001>7L zi3K+R2?Hok6aWAK002|`NrM0prwEn@HvkC(98VMg00000Q_kF301>E{{}4|VEvX2W z2R8r-0}@XZ0000008?hA$N&+l2$lyo00{#PPZR(E0000}6LwDk5v!L$5lSSmIpTg2?PF46aWAK002{VoreGst_YR~HvkC(`A!r7 z00000QyZik01>YUi3K+R2?Ov>6aWAK002`EphEx=u$Qk9PZce(2$lyo00{%*P80wD z0000}l=Kb&5wZxD2R8r-1Kv&)0000008?6>X8;kim+=u#6tb&<8gF2?M}R6aWAK002|f+N1yx zw+PS&HvkC(x=s`T00000Q@pnK01>#CUlLChEx8EL2R8r-1FlXK0000008@)M)Bq8> z2+#*N00{%AP80wD0000}!{&Sd5xbY65>FLbya><-HvkC(oK6$~00000Q}0Pv01>?i z&<8gF2?Lf+6aWAK002|9P1gVsz6j6S}&01>|k&<8gF2?L5w z6aWAK002{4_k;iuz?TmbPZce}2+#*N00{$rP80wD0000}c|JS<5yA-a1UCQ)19wgo z0000008>VwCjb${mr)Z>6)nUF@&q>k2?J?P6aWAK002|Y-MIh}#R&2QHvkC(VonqQ z00000Q_U#@0TITRlM_!Y0mqlX6HgU?$OwrAHvkC(Ku#0@00000Q-5ah01?Ru@&q>k z2?H}u6aWAK002{y9De{2$_N7(HvkC(C{7dr00000Q{^#@01?Xwi3K+R2?H2T6aWAK z002{z4p;yY%n0%XHvkC(3r-XO00000Q=~o)0TImz0~j{|2?GF56aWAK002`Q{af4s z5zYuQ1vdZ*1Nco800000086;Bm^*a(RQHvkC(h)om#00000 zQ}&dE01?>;PX#vs2?Kad6aWAK002`F2XX)r+6ajSHvkC(XiXFV00000Q$dGn01?{= zi3K+R2?JP76aWAK002{#?gjx7+z5#UHvkC(NKF&~00000Q`U@501@2?i3K+R2?IDy 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

lfE9nkVFtAh00{%= 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 diff --git a/gklearn/gedlib/gedlibpy.pyx b/gklearn/gedlib/gedlibpy.pyx index 54f24b0..7fb7e84 100644 --- a/gklearn/gedlib/gedlibpy.pyx +++ b/gklearn/gedlib/gedlibpy.pyx @@ -112,6 +112,7 @@ cdef extern from "src/GedLibBind.hpp" namespace "pyged": ##CYTHON WRAPPER INTERFACES## ############################# +# import cython import numpy as np import networkx as nx from gklearn.ged.env import NodeMap @@ -177,14 +178,16 @@ def get_dummy_node() : return getDummyNode() +# @cython.auto_pickle(True) cdef class GEDEnv: """Cython wrapper class for C++ class PyGEDEnv """ - # cdef PyGEDEnv c_env # Hold a C++ instance which we're wrapping +# cdef PyGEDEnv c_env # Hold a C++ instance which we're wrapping cdef PyGEDEnv* c_env # hold a pointer to the C++ instance which we're wrapping def __cinit__(self): +# self.c_env = PyGEDEnv() self.c_env = new PyGEDEnv() @@ -192,6 +195,11 @@ cdef class GEDEnv: del self.c_env +# def __reduce__(self): +# # return GEDEnv, (self.c_env,) +# return GEDEnv, tuple() + + def is_initialized(self) : """ Checks and returns if the computation environment is initialized or not. diff --git a/gklearn/preimage/median_preimage_generator.py b/gklearn/preimage/median_preimage_generator.py index fa1f4db..8753292 100644 --- a/gklearn/preimage/median_preimage_generator.py +++ b/gklearn/preimage/median_preimage_generator.py @@ -669,6 +669,7 @@ class MedianPreimageGenerator(PreimageGenerator): options = self.__mge_options.copy() if not 'seed' in options: options['seed'] = int(round(time.time() * 1000)) # @todo: may not work correctly for possible parallel usage. + options['parallel'] = self.__parallel # Select the GED algorithm. self.__mge.set_options(mge_options_to_string(options)) @@ -676,8 +677,11 @@ class MedianPreimageGenerator(PreimageGenerator): edge_labels=self._dataset.edge_labels, node_attrs=self._dataset.node_attrs, edge_attrs=self._dataset.edge_attrs) - self.__mge.set_init_method(self.__ged_options['method'], ged_options_to_string(self.__ged_options)) - self.__mge.set_descent_method(self.__ged_options['method'], ged_options_to_string(self.__ged_options)) + ged_options = self.__ged_options.copy() + if self.__parallel: + ged_options['threads'] = 1 + self.__mge.set_init_method(self.__ged_options['method'], ged_options_to_string(ged_options)) + self.__mge.set_descent_method(self.__ged_options['method'], ged_options_to_string(ged_options)) # Run the estimator. self.__mge.run(graph_ids, set_median_id, gen_median_id)