SYMBOL INDEX (371 symbols across 23 files) FILE: evoc/boruvka.py function merge_components (line 24) | def merge_components( function update_component_vectors (line 87) | def update_component_vectors(tree, disjoint_set, node_components, point_... function component_aware_query_recursion (line 147) | def component_aware_query_recursion( function boruvka_tree_query (line 299) | def boruvka_tree_query(tree, node_components, point_components, core_dis... function calculate_block_size (line 334) | def calculate_block_size(n_components, n_points, num_threads): function update_component_bounds_from_block (line 369) | def update_component_bounds_from_block( function boruvka_tree_query_reproducible (line 404) | def boruvka_tree_query_reproducible( function initialize_boruvka_from_knn (line 485) | def initialize_boruvka_from_knn( function parallel_boruvka (line 535) | def parallel_boruvka(tree, n_threads, min_samples=10, reproducible=False): FILE: evoc/cluster_trees.py function create_linkage_merge_data (line 12) | def create_linkage_merge_data(base_size): function linkage_merge_find (line 23) | def linkage_merge_find(linkage_merge, node): function linkage_merge_join (line 40) | def linkage_merge_join(linkage_merge, left, right): function mst_to_linkage_tree (line 50) | def mst_to_linkage_tree(sorted_mst): function bfs_from_hierarchy (line 83) | def bfs_from_hierarchy(hierarchy, bfs_root, num_points): function eliminate_branch (line 101) | def eliminate_branch( function condense_tree (line 138) | def condense_tree(hierarchy, min_cluster_size=10): function extract_leaves (line 268) | def extract_leaves(condensed_tree, allow_single_cluster=True): function score_condensed_tree_nodes (line 286) | def score_condensed_tree_nodes(condensed_tree): function cluster_tree_from_condensed_tree (line 313) | def cluster_tree_from_condensed_tree(condensed_tree): function mask_condensed_tree (line 323) | def mask_condensed_tree(condensed_tree, mask): function unselect_below_node (line 332) | def unselect_below_node(node, cluster_tree, selected_clusters): function eom_recursion (line 339) | def eom_recursion(node, cluster_tree, node_scores, selected_clusters): function extract_eom_clusters (line 359) | def extract_eom_clusters(condensed_tree, cluster_tree, allow_single_clus... function cluster_epsilon_search (line 381) | def cluster_epsilon_search(clusters, cluster_tree, min_persistence=0.0): function traverse_upwards (line 401) | def traverse_upwards(cluster_tree, min_persistence, root, segment): function segments_in_branch (line 413) | def segments_in_branch(cluster_tree, segment): function in_set_parallel (line 429) | def in_set_parallel(values, targets): function get_cluster_labelling_at_cut (line 437) | def get_cluster_labelling_at_cut(linkage_tree, cut, min_cluster_size): function get_single_cluster_label_vector (line 475) | def get_single_cluster_label_vector( function get_cluster_label_vector (line 502) | def get_cluster_label_vector( function max_lambdas (line 539) | def max_lambdas(tree, clusters): function get_point_membership_strength_vector (line 551) | def get_point_membership_strength_vector(tree, clusters, labels): FILE: evoc/clustering.py function build_cluster_layers (line 35) | def build_cluster_layers( function evoc_clusters (line 191) | def evoc_clusters( class EVoC (line 413) | class EVoC(BaseEstimator, ClusterMixin): method __init__ (line 540) | def __init__( method fit_predict (line 574) | def fit_predict(self, X, y=None, **fit_params): method fit (line 646) | def fit(self, X, y=None, **fit_params): method cluster_tree_ (line 677) | def cluster_tree_(self): FILE: evoc/clustering_utilities.py function find_peaks (line 33) | def find_peaks(x): function _binary_search_for_n_clusters (line 65) | def _binary_search_for_n_clusters(uncondensed_tree, approx_n_clusters, n... function binary_search_for_n_clusters (line 142) | def binary_search_for_n_clusters( function min_cluster_size_barcode (line 165) | def min_cluster_size_barcode(cluster_tree, n_points, min_size): function compute_total_persistence (line 194) | def compute_total_persistence(births, deaths, lambda_deaths): function extract_clusters_by_id (line 229) | def extract_clusters_by_id(condensed_tree, selected_ids): function jaccard_similarity (line 243) | def jaccard_similarity(set_a_array, set_b_array): function estimate_cluster_similarity (line 259) | def estimate_cluster_similarity(births, deaths, birth_a, birth_b): function select_diverse_peaks (line 284) | def select_diverse_peaks( function _build_cluster_tree (line 333) | def _build_cluster_tree(labels): function build_cluster_tree (line 360) | def build_cluster_tree(labels): function find_duplicates (line 373) | def find_duplicates(knn_inds, knn_dists): FILE: evoc/common_nndescent.py function seed (line 6) | def seed(rng_state, seed): function tau_rand_int (line 12) | def tau_rand_int(state): function tau_rand (line 38) | def tau_rand(state): function make_heap (line 55) | def make_heap(n_points, size): function siftdown (line 65) | def siftdown(heap1, heap2, elt): function deheap_sort (line 89) | def deheap_sort(indices, distances): function build_candidates_heap_push (line 132) | def build_candidates_heap_push(priorities, indices, p, n): function build_candidates (line 183) | def build_candidates(current_graph, max_candidates, rng_state, n_threads): function flagged_heap_push (line 296) | def flagged_heap_push(priorities, indices, flags, p, n): function apply_graph_update_array (line 372) | def apply_graph_update_array( function apply_sorted_graph_updates (line 433) | def apply_sorted_graph_updates( FILE: evoc/disjoint_set.py function ds_rank_create (line 22) | def ds_rank_create(n_elements): function ds_size_create (line 29) | def ds_size_create(n_elements): function ds_find (line 36) | def ds_find(disjoint_set, x): function ds_union_by_rank (line 54) | def ds_union_by_rank(disjoint_set, x, y): function ds_union_by_size (line 77) | def ds_union_by_size(disjoint_set, x, y): FILE: evoc/float_nndescent.py function fast_cosine (line 43) | def fast_cosine(x, y): function float_random_projection_split (line 95) | def float_random_projection_split(data, indices, rng_state): function make_float_tree (line 221) | def make_float_tree( function make_float_leaf_array_parallel (line 286) | def make_float_leaf_array_parallel(data, rng_state, leaf_size=30, max_de... function make_float_leaf_array_serial (line 330) | def make_float_leaf_array_serial(data, rng_state, leaf_size=30, max_dept... function make_float_forest_no_nested_parallelism (line 371) | def make_float_forest_no_nested_parallelism(data, rng_states, leaf_size,... function make_float_forest_with_nested_parallelism (line 390) | def make_float_forest_with_nested_parallelism(data, rng_states, leaf_siz... function make_float_forest (line 399) | def make_float_forest(data, rng_states, leaf_size=30, max_depth=200): function generate_leaf_updates_float (line 433) | def generate_leaf_updates_float( function init_rp_tree_float (line 501) | def init_rp_tree_float(data, current_graph, leaf_array, n_threads): function init_random_float (line 572) | def init_random_float(n_neighbors, data, heap, rng_state): function generate_graph_update_array_float_basic (line 612) | def generate_graph_update_array_float_basic( function generate_graph_update_array_float (line 722) | def generate_graph_update_array_float( function generate_sorted_graph_update_array_float (line 872) | def generate_sorted_graph_update_array_float( function nn_descent_float (line 1005) | def nn_descent_float( function nn_descent_float_sorted (line 1120) | def nn_descent_float_sorted( FILE: evoc/graph_construction.py function smooth_knn_dist (line 24) | def smooth_knn_dist(distances, k, n_iter=64, bandwidth=1.0): function compute_membership_strengths (line 90) | def compute_membership_strengths( function neighbor_graph_matrix (line 124) | def neighbor_graph_matrix( FILE: evoc/int8_nndescent.py function fast_int_inner_product_dissimilarity (line 40) | def fast_int_inner_product_dissimilarity(x, y): function int8_random_projection_split (line 73) | def int8_random_projection_split(data, indices, rng_state): function make_int8_tree (line 205) | def make_int8_tree( function make_int8_leaf_array_parallel (line 254) | def make_int8_leaf_array_parallel(data, rng_state, leaf_size=30, max_dep... function make_int8_leaf_array_serial (line 296) | def make_int8_leaf_array_serial(data, rng_state, leaf_size=30, max_depth... function make_int8_forest_no_nested_parallelism (line 336) | def make_int8_forest_no_nested_parallelism(data, rng_states, leaf_size, ... function make_int8_forest_with_nested_parallelism (line 355) | def make_int8_forest_with_nested_parallelism(data, rng_states, leaf_size... function make_int8_forest (line 364) | def make_int8_forest(data, rng_states, leaf_size=30, max_depth=200): function generate_leaf_updates_int8 (line 397) | def generate_leaf_updates_int8( function init_rp_tree_int8 (line 458) | def init_rp_tree_int8(data, current_graph, leaf_array, n_threads): function init_random_int8 (line 529) | def init_random_int8(n_neighbors, data, heap, rng_state): function generate_graph_update_array_int8 (line 558) | def generate_graph_update_array_int8( function generate_sorted_graph_update_array_int8 (line 655) | def generate_sorted_graph_update_array_int8( function nn_descent_int8 (line 776) | def nn_descent_int8( function nn_descent_int8_sorted (line 891) | def nn_descent_int8_sorted( FILE: evoc/knn_graph.py function ts (line 25) | def ts(): function make_forest (line 29) | def make_forest( function nn_descent (line 93) | def nn_descent( function knn_graph (line 188) | def knn_graph( FILE: evoc/label_propagation.py function label_prop_iteration (line 17) | def label_prop_iteration( function original_label_prop_iteration (line 63) | def original_label_prop_iteration( function label_outliers (line 107) | def label_outliers(indptr, indices, labels, rng_state): function remap_labels (line 139) | def remap_labels(labels): function label_prop_loop (line 157) | def label_prop_loop( function original_label_prop_loop (line 172) | def original_label_prop_loop( function label_propagation_init (line 189) | def label_propagation_init( FILE: evoc/nested_parallelism.py function supports_safe_nesting (line 6) | def supports_safe_nesting(): FILE: evoc/node_embedding.py function make_epochs_per_sample (line 10) | def make_epochs_per_sample(weights, n_epochs): function rdist (line 28) | def rdist(x, y): function clip (line 39) | def clip(val, lo, hi): function node_embedding_epoch (line 66) | def node_embedding_epoch( function node_embedding_epoch_repr (line 150) | def node_embedding_epoch_repr( function node_embedding (line 231) | def node_embedding( FILE: evoc/numba_kdtree.py function kdtree_to_numba (line 34) | def kdtree_to_numba(sklearn_kdtree): function _init_node (line 59) | def _init_node( function _find_node_split_dim (line 113) | def _find_node_split_dim(data, idx_array, idx_start, idx_end): function _compare_indices (line 144) | def _compare_indices(data, axis, idx1, idx2): function _insertion_sort_indices (line 172) | def _insertion_sort_indices(data, idx_array, axis, left, right): function _sift_down_indices (line 194) | def _sift_down_indices(data, idx_array, axis, offset, start, end): function _heapsort_indices (line 236) | def _heapsort_indices(data, idx_array, axis, left, right): function _median_of_three_pivot (line 260) | def _median_of_three_pivot(data, idx_array, axis, left, right): function _partition_indices (line 293) | def _partition_indices(data, idx_array, axis, left, right, pivot_idx): function _introselect_impl (line 341) | def _introselect_impl(data, idx_array, axis, left, right, nth, depth_lim... function _introselect (line 377) | def _introselect(data, idx_array, axis, left, right, nth): function _recursive_build_tree (line 394) | def _recursive_build_tree( function build_kdtree (line 458) | def build_kdtree(data, leaf_size=40): function rdist (line 518) | def rdist(x, y): function point_to_node_lower_bound_rdist (line 545) | def point_to_node_lower_bound_rdist(upper, lower, pt): function simple_heap_push (line 572) | def simple_heap_push(priorities, indices, p, n): function siftdown (line 626) | def siftdown(heap1, heap2, elt): function deheap_sort (line 647) | def deheap_sort(distances, indices): function tree_query_recursion (line 684) | def tree_query_recursion( function parallel_tree_query (line 759) | def parallel_tree_query( FILE: evoc/tests/test_boruvka.py class TestMergeComponents (line 28) | class TestMergeComponents: method test_merge_components_basic (line 31) | def test_merge_components_basic(self): method test_merge_components_empty (line 59) | def test_merge_components_empty(self): method test_merge_components_best_edge_selection (line 76) | def test_merge_components_best_edge_selection(self): class TestUpdateComponentVectors (line 113) | class TestUpdateComponentVectors: method simple_tree_and_components (line 117) | def simple_tree_and_components(self): method test_update_component_vectors_basic (line 148) | def test_update_component_vectors_basic(self, simple_tree_and_componen... method test_update_component_vectors_leaf_nodes (line 165) | def test_update_component_vectors_leaf_nodes(self, simple_tree_and_com... class TestBoruvkaTreeQuery (line 197) | class TestBoruvkaTreeQuery: method query_test_data (line 201) | def query_test_data(self): method test_boruvka_tree_query_basic (line 223) | def test_boruvka_tree_query_basic(self, query_test_data): method test_boruvka_tree_query_reproducible (line 256) | def test_boruvka_tree_query_reproducible(self, query_test_data): method test_boruvka_query_different_block_sizes (line 293) | def test_boruvka_query_different_block_sizes(self, query_test_data): class TestInitializeBoruvkaFromKNN (line 330) | class TestInitializeBoruvkaFromKNN: method test_initialize_boruvka_from_knn_basic (line 333) | def test_initialize_boruvka_from_knn_basic(self): method test_initialize_boruvka_core_distance_constraint (line 370) | def test_initialize_boruvka_core_distance_constraint(self): class TestCalculateBlockSize (line 406) | class TestCalculateBlockSize: method test_calculate_block_size_basic (line 409) | def test_calculate_block_size_basic(self): method test_calculate_block_size_extremes (line 429) | def test_calculate_block_size_extremes(self): class TestParallelBoruvka (line 446) | class TestParallelBoruvka: method boruvka_test_data (line 450) | def boruvka_test_data(self): method test_parallel_boruvka_basic (line 465) | def test_parallel_boruvka_basic(self, boruvka_test_data): method test_parallel_boruvka_reproducible (line 489) | def test_parallel_boruvka_reproducible(self, boruvka_test_data): method test_parallel_boruvka_vs_non_reproducible (line 508) | def test_parallel_boruvka_vs_non_reproducible(self, boruvka_test_data): method test_parallel_boruvka_single_point (line 530) | def test_parallel_boruvka_single_point(self): method test_parallel_boruvka_two_points (line 541) | def test_parallel_boruvka_two_points(self): method test_parallel_boruvka_different_min_samples (line 561) | def test_parallel_boruvka_different_min_samples(self, boruvka_test_data): method test_parallel_boruvka_different_num_threads (line 587) | def test_parallel_boruvka_different_num_threads(self, boruvka_test_data): class TestEdgeCases (line 624) | class TestEdgeCases: method test_empty_data_handling (line 627) | def test_empty_data_handling(self): method test_single_dimension_data (line 641) | def test_single_dimension_data(self): method test_high_dimensional_data (line 653) | def test_high_dimensional_data(self): FILE: evoc/tests/test_cluster_trees.py class TestLinkageMergeData (line 28) | class TestLinkageMergeData: method test_create_linkage_merge_data (line 31) | def test_create_linkage_merge_data(self): method test_linkage_merge_find_and_join (line 48) | def test_linkage_merge_find_and_join(self): class TestMSTToLinkageTree (line 75) | class TestMSTToLinkageTree: method simple_mst (line 79) | def simple_mst(self): method test_mst_to_linkage_tree_basic (line 88) | def test_mst_to_linkage_tree_basic(self, simple_mst): method test_mst_to_linkage_tree_ordering (line 105) | def test_mst_to_linkage_tree_ordering(self, simple_mst): method test_mst_to_linkage_tree_random (line 113) | def test_mst_to_linkage_tree_random(self): class TestBFSFromHierarchy (line 133) | class TestBFSFromHierarchy: method simple_hierarchy (line 137) | def simple_hierarchy(self): method test_bfs_leaf_node (line 153) | def test_bfs_leaf_node(self, simple_hierarchy): method test_bfs_internal_node (line 158) | def test_bfs_internal_node(self, simple_hierarchy): method test_bfs_root_node (line 165) | def test_bfs_root_node(self, simple_hierarchy): class TestCondenseTree (line 173) | class TestCondenseTree: method sample_hierarchy (line 177) | def sample_hierarchy(self): method test_condense_tree_basic (line 188) | def test_condense_tree_basic(self, sample_hierarchy): method test_condense_tree_min_cluster_size_effect (line 205) | def test_condense_tree_min_cluster_size_effect(self, sample_hierarchy): method test_condense_tree_lambda_values (line 215) | def test_condense_tree_lambda_values(self, sample_hierarchy): class TestExtractLeaves (line 224) | class TestExtractLeaves: method test_extract_leaves_simple (line 227) | def test_extract_leaves_simple(self): method test_extract_leaves_hierarchical (line 241) | def test_extract_leaves_hierarchical(self): class TestClusterLabeling (line 263) | class TestClusterLabeling: method sample_condensed_tree (line 267) | def sample_condensed_tree(self): method test_get_cluster_label_vector_single_cluster (line 275) | def test_get_cluster_label_vector_single_cluster(self, sample_condense... method test_get_cluster_label_vector_multiple_clusters (line 291) | def test_get_cluster_label_vector_multiple_clusters(self, sample_conde... method test_get_point_membership_strength_vector (line 303) | def test_get_point_membership_strength_vector(self, sample_condensed_t... class TestIntegrationWithRealData (line 324) | class TestIntegrationWithRealData: method clustered_data (line 328) | def clustered_data(self): method test_full_pipeline_simple_mst (line 335) | def test_full_pipeline_simple_mst(self, clustered_data): method test_score_condensed_tree_nodes (line 371) | def test_score_condensed_tree_nodes(self): class TestEdgeCases (line 387) | class TestEdgeCases: method test_extract_leaves_empty_tree (line 390) | def test_extract_leaves_empty_tree(self): method test_single_point_mst (line 403) | def test_single_point_mst(self): method test_zero_distance_edges (line 411) | def test_zero_distance_edges(self): class TestBFSEdgeCases (line 429) | class TestBFSEdgeCases: method test_bfs_single_point_hierarchy (line 432) | def test_bfs_single_point_hierarchy(self): method test_eliminate_branch_leaf (line 440) | def test_eliminate_branch_leaf(self): function test_cluster_trees_integration (line 461) | def test_cluster_trees_integration(): function test_linkage_merge_data_comprehensive (line 496) | def test_linkage_merge_data_comprehensive(): FILE: evoc/tests/test_clustering.py function simple_embedding_data (line 34) | def simple_embedding_data(): function complex_embedding_data (line 46) | def complex_embedding_data(): function small_embedding_data (line 60) | def small_embedding_data(): function duplicate_embedding_data (line 72) | def duplicate_embedding_data(): function quantized_embedding_data (line 84) | def quantized_embedding_data(): function binary_embedding_data (line 94) | def binary_embedding_data(): function small_linkage_tree (line 103) | def small_linkage_tree(): class TestBinarySearchForNClusters (line 116) | class TestBinarySearchForNClusters: method test_binary_search_basic (line 119) | def test_binary_search_basic(self, small_linkage_tree): method test_binary_search_edge_cases (line 144) | def test_binary_search_edge_cases(self, small_linkage_tree): method test_binary_search_wrapper_function (line 160) | def test_binary_search_wrapper_function(self, simple_embedding_data): class TestBuildClusterLayers (line 181) | class TestBuildClusterLayers: method test_build_cluster_layers_basic (line 184) | def test_build_cluster_layers_basic(self, simple_embedding_data): method test_build_cluster_layers_with_base_n_clusters (line 206) | def test_build_cluster_layers_with_base_n_clusters(self, simple_embedd... method test_build_cluster_layers_reproducible (line 224) | def test_build_cluster_layers_reproducible(self, simple_embedding_data): class TestFindDuplicates (line 242) | class TestFindDuplicates: method test_find_duplicates_basic (line 245) | def test_find_duplicates_basic(self): method test_find_duplicates_no_duplicates (line 279) | def test_find_duplicates_no_duplicates(self): class TestBuildClusterTree (line 293) | class TestBuildClusterTree: method test_build_cluster_tree_basic (line 296) | def test_build_cluster_tree_basic(self): method test_build_cluster_tree_empty (line 323) | def test_build_cluster_tree_empty(self): method test_build_cluster_tree_single_layer (line 331) | def test_build_cluster_tree_single_layer(self): class TestEvocClusters (line 338) | class TestEvocClusters: method test_evoc_clusters_basic (line 341) | def test_evoc_clusters_basic(self, simple_embedding_data): method test_evoc_clusters_with_approx_n_clusters (line 367) | def test_evoc_clusters_with_approx_n_clusters(self, simple_embedding_d... method test_evoc_clusters_with_duplicates (line 389) | def test_evoc_clusters_with_duplicates(self, duplicate_embedding_data): method test_evoc_clusters_different_data_types (line 411) | def test_evoc_clusters_different_data_types( class TestEVoCClass (line 452) | class TestEVoCClass: method test_evoc_init (line 455) | def test_evoc_init(self): method test_evoc_fit_predict (line 472) | def test_evoc_fit_predict(self, simple_embedding_data): method test_evoc_fit (line 496) | def test_evoc_fit(self, simple_embedding_data): method test_evoc_with_approx_n_clusters (line 513) | def test_evoc_with_approx_n_clusters(self, simple_embedding_data): method test_evoc_cluster_tree_property (line 528) | def test_evoc_cluster_tree_property(self, simple_embedding_data): method test_evoc_cluster_tree_not_fitted (line 542) | def test_evoc_cluster_tree_not_fitted(self): method test_evoc_reproducibility (line 549) | def test_evoc_reproducibility(self, simple_embedding_data): class TestClusteringQuality (line 568) | class TestClusteringQuality: method test_clustering_quality_on_embeddings (line 571) | def test_clustering_quality_on_embeddings(self, simple_embedding_data): method test_clustering_quality_on_blobs (line 603) | def test_clustering_quality_on_blobs(self): method test_clustering_on_small_dataset (line 639) | def test_clustering_on_small_dataset(self): method test_clustering_on_high_dimensional_data (line 664) | def test_clustering_on_high_dimensional_data(self): method test_edge_case_single_cluster (line 682) | def test_edge_case_single_cluster(self): method test_parameter_validation (line 703) | def test_parameter_validation(self): method test_clustering_on_clip_like_embeddings (line 716) | def test_clustering_on_clip_like_embeddings(self): method test_clustering_on_sentence_transformer_like_embeddings (line 764) | def test_clustering_on_sentence_transformer_like_embeddings(self): method test_clustering_on_quantized_embeddings (line 800) | def test_clustering_on_quantized_embeddings(self, quantized_embedding_... method test_clustering_on_binary_embeddings (line 820) | def test_clustering_on_binary_embeddings(self, binary_embedding_data): FILE: evoc/tests/test_knn_graph.py class TestUtilityFunctions (line 26) | class TestUtilityFunctions: method test_ts_returns_string (line 29) | def test_ts_returns_string(self): method test_ts_consistency (line 53) | def test_ts_consistency(self): method test_constants (line 65) | def test_constants(self): class TestMakeForest (line 72) | class TestMakeForest: method float_data (line 76) | def float_data(self): method uint8_data (line 86) | def uint8_data(self): method int8_data (line 92) | def int8_data(self): method test_make_forest_float32 (line 97) | def test_make_forest_float32(self, float_data): method test_make_forest_uint8 (line 112) | def test_make_forest_uint8(self, uint8_data): method test_make_forest_int8 (line 127) | def test_make_forest_int8(self, int8_data): method test_make_forest_default_leaf_size (line 142) | def test_make_forest_default_leaf_size(self, float_data): method test_make_forest_different_max_depth (line 156) | def test_make_forest_different_max_depth(self, float_data): method test_make_forest_exception_handling (line 192) | def test_make_forest_exception_handling(self, mock_make_float_forest, ... class TestNNDescent (line 210) | class TestNNDescent: method float_data (line 214) | def float_data(self): method uint8_data (line 223) | def uint8_data(self): method int8_data (line 229) | def int8_data(self): method test_nn_descent_float32 (line 234) | def test_nn_descent_float32(self, float_data): method test_nn_descent_uint8 (line 270) | def test_nn_descent_uint8(self, uint8_data): method test_nn_descent_int8 (line 304) | def test_nn_descent_int8(self, int8_data): class TestKNNGraph (line 338) | class TestKNNGraph: method float_test_data (line 342) | def float_test_data(self): method uint8_test_data (line 351) | def uint8_test_data(self): method int8_test_data (line 357) | def int8_test_data(self): method test_knn_graph_float_data (line 362) | def test_knn_graph_float_data(self, float_test_data): method test_knn_graph_uint8_data (line 383) | def test_knn_graph_uint8_data(self, uint8_test_data): method test_knn_graph_int8_data (line 397) | def test_knn_graph_int8_data(self, int8_test_data): method test_knn_graph_parameters (line 409) | def test_knn_graph_parameters(self, float_test_data): method test_knn_graph_default_parameters (line 430) | def test_knn_graph_default_parameters(self, float_test_data): method test_knn_graph_n_jobs_setting (line 439) | def test_knn_graph_n_jobs_setting(self, float_test_data): method test_knn_graph_auto_parameters (line 458) | def test_knn_graph_auto_parameters(self, float_test_data): method test_knn_graph_warning_on_failure (line 472) | def test_knn_graph_warning_on_failure(self, float_test_data): method test_knn_graph_data_validation (line 485) | def test_knn_graph_data_validation(self): method test_knn_graph_float_normalization (line 493) | def test_knn_graph_float_normalization(self): method test_knn_graph_zero_norm_handling (line 506) | def test_knn_graph_zero_norm_handling(self): class TestIntegration (line 520) | class TestIntegration: method test_small_dataset_complete_pipeline (line 523) | def test_small_dataset_complete_pipeline(self): method test_reproducibility (line 544) | def test_reproducibility(self): method test_different_data_types_consistency (line 554) | def test_different_data_types_consistency(self): FILE: evoc/tests/test_knn_graph_performance.py class PerformanceMetrics (line 28) | class PerformanceMetrics: method __init__ (line 31) | def __init__(self): method _get_hardware_info (line 35) | def _get_hardware_info(self) -> Dict[str, Any]: method record_metric (line 59) | def record_metric(self, test_name: str, metric_name: str, value: float): method get_metric (line 65) | def get_metric(self, test_name: str, metric_name: str) -> float: function time_execution (line 71) | def time_execution(): function time_function (line 79) | def time_function(func, *args, **kwargs) -> Tuple[Any, float]: class TestKNNGraphPerformance (line 87) | class TestKNNGraphPerformance: method perf_metrics (line 91) | def perf_metrics(self): method dataset_config (line 102) | def dataset_config(self, request): method performance_data (line 108) | def performance_data(self, dataset_config): method test_knn_graph_scaling_performance (line 129) | def test_knn_graph_scaling_performance(self, performance_data, perf_me... method test_knn_graph_parameter_performance (line 178) | def test_knn_graph_parameter_performance(self, perf_metrics): method test_knn_graph_data_type_performance (line 230) | def test_knn_graph_data_type_performance(self, perf_metrics): method test_knn_graph_threading_performance (line 281) | def test_knn_graph_threading_performance(self, perf_metrics): method test_memory_usage_scaling (line 349) | def test_memory_usage_scaling(self, perf_metrics): method test_reproducibility_performance (line 407) | def test_reproducibility_performance(self, perf_metrics): class TestPerformanceRegression (line 460) | class TestPerformanceRegression: method test_baseline_performance_check (line 463) | def test_baseline_performance_check(self): FILE: evoc/tests/test_numba_kdtree.py class TestKDTreeCompatibility (line 16) | class TestKDTreeCompatibility: method test_data (line 27) | def test_data(self, request): method leaf_size (line 34) | def leaf_size(self, request): method test_tree_structure_compatibility (line 38) | def test_tree_structure_compatibility(self, test_data, leaf_size): method test_node_partitioning_equivalence (line 72) | def test_node_partitioning_equivalence(self, test_data, leaf_size): method test_data_ordering_equivalence (line 125) | def test_data_ordering_equivalence(self, test_data, leaf_size): method test_query_results_compatibility (line 205) | def test_query_results_compatibility(self, test_data, leaf_size): method test_tree_bounds_compatibility (line 263) | def test_tree_bounds_compatibility(self, test_data, leaf_size): class TestKDTreeEdgeCases (line 282) | class TestKDTreeEdgeCases: method test_single_point (line 285) | def test_single_point(self): method test_duplicate_points (line 296) | def test_duplicate_points(self): method test_high_dimensional_data (line 323) | def test_high_dimensional_data(self): function test_full_pipeline_compatibility (line 345) | def test_full_pipeline_compatibility(): FILE: evoc/tests/test_numba_kdtree_performance.py function time_function (line 38) | def time_function(func, *args, **kwargs) -> Tuple[Any, float]: class KDTreePerformanceMetrics (line 46) | class KDTreePerformanceMetrics: method __init__ (line 49) | def __init__(self): method _get_hardware_info (line 53) | def _get_hardware_info(self) -> Dict[str, Any]: method record_metric (line 76) | def record_metric(self, test_name: str, metric_name: str, value: float): method get_metric (line 82) | def get_metric(self, test_name: str, metric_name: str) -> float: class TestKDTreePerformance (line 88) | class TestKDTreePerformance: method perf_metrics (line 92) | def perf_metrics(self): method dataset_config (line 104) | def dataset_config(self, request): method performance_data (line 110) | def performance_data(self, dataset_config): method test_kdtree_construction_performance (line 132) | def test_kdtree_construction_performance(self, performance_data, perf_... method test_kdtree_query_performance_large_batch (line 187) | def test_kdtree_query_performance_large_batch(self, performance_data, ... method test_kdtree_query_performance_massive_batch (line 276) | def test_kdtree_query_performance_massive_batch( method test_kdtree_accuracy_comparison (line 353) | def test_kdtree_accuracy_comparison(self, performance_data, perf_metri... method test_kdtree_scaling_performance (line 419) | def test_kdtree_scaling_performance(self, perf_metrics): method test_kdtree_different_k_values (line 473) | def test_kdtree_different_k_values(self, perf_metrics): method test_kdtree_query_batch_scaling (line 526) | def test_kdtree_query_batch_scaling(self, perf_metrics): method test_kdtree_query_performance_ultra_large_batch (line 608) | def test_kdtree_query_performance_ultra_large_batch(self, perf_metrics): class TestKDTreeRegressionBaseline (line 687) | class TestKDTreeRegressionBaseline: method test_kdtree_baseline_performance (line 690) | def test_kdtree_baseline_performance(self): FILE: evoc/uint8_nndescent.py function popcnt_u8 (line 29) | def popcnt_u8(typingctx, val): function popcnt_u64 (line 48) | def popcnt_u64(typingctx, val): function fast_bit_jaccard (line 77) | def fast_bit_jaccard(x, y): function load_u64_from_u8_array (line 96) | def load_u64_from_u8_array(typingctx, arr, offset): function fast_bit_jaccard_u64 (line 135) | def fast_bit_jaccard_u64(x, y): function uint8_random_projection_split (line 188) | def uint8_random_projection_split(data, indices, rng_state): function make_uint8_tree (line 315) | def make_uint8_tree( function make_uint8_leaf_array_parallel (line 364) | def make_uint8_leaf_array_parallel(data, rng_state, leaf_size=30, max_de... function make_uint8_leaf_array_serial (line 406) | def make_uint8_leaf_array_serial(data, rng_state, leaf_size=30, max_dept... function make_uint8_forest_no_nested_parallelism (line 446) | def make_uint8_forest_no_nested_parallelism(data, rng_states, leaf_size,... function make_uint8_forest_with_nested_parallelism (line 465) | def make_uint8_forest_with_nested_parallelism(data, rng_states, leaf_siz... function make_uint8_forest (line 474) | def make_uint8_forest(data, rng_states, leaf_size=30, max_depth=200): function generate_leaf_updates_uint8 (line 507) | def generate_leaf_updates_uint8( function init_rp_tree_uint8 (line 568) | def init_rp_tree_uint8(data, current_graph, leaf_array, n_threads): function init_random_uint8 (line 639) | def init_random_uint8(n_neighbors, data, heap, rng_state): function generate_graph_update_array_uint8 (line 668) | def generate_graph_update_array_uint8( function generate_sorted_graph_update_array_uint8 (line 765) | def generate_sorted_graph_update_array_uint8( function nn_descent_uint8 (line 886) | def nn_descent_uint8( function nn_descent_uint8_sorted (line 1001) | def nn_descent_uint8_sorted( FILE: scripts/run_performance_tests.py function run_performance_tests (line 18) | def run_performance_tests(output_file=None, verbose=False): function generate_performance_report (line 63) | def generate_performance_report(test_results_file, output_file): function check_performance_regression (line 107) | def check_performance_regression(current_file, baseline_file, threshold=... function main (line 180) | def main():