类 | |
| struct | node< P > |
| struct | ds_node< P > |
| struct | d_node< P > |
宏定义 | |
| #define | NDEBUG |
函数 | |
| float | dist_of_scale (int s) |
| int | get_scale (float d) |
| template<class P > | |
| node< P > | new_node (const P &p) |
| template<class P > | |
| node< P > | new_leaf (const P &p) |
| template<class P > | |
| float | max_set (v_array< ds_node< P > > &v) |
| void | print_space (int s) |
| template<class P > | |
| void | print (int depth, node< P > &top_node) |
| template<class P > | |
| void | split (v_array< ds_node< P > > &point_set, v_array< ds_node< P > > &far_set, int max_scale) |
| template<class P > | |
| void | dist_split (v_array< ds_node< P > > &point_set, v_array< ds_node< P > > &new_point_set, P new_point, int max_scale) |
| template<class P > | |
| node< P > | batch_insert (const P &p, int max_scale, int top_scale, v_array< ds_node< P > > &point_set, v_array< ds_node< P > > &consumed_set, v_array< v_array< ds_node< P > > > &stack) |
| template<class P > | |
| node< P > | batch_create (v_array< P > points) |
| void | add_height (int d, v_array< int > &heights) |
| template<class P > | |
| int | height_dist (const node< P > top_node, v_array< int > &heights) |
| template<class P > | |
| void | depth_dist (int top_scale, const node< P > top_node, v_array< int > &depths) |
| template<class P > | |
| void | breadth_dist (const node< P > top_node, v_array< int > &breadths) |
| template<class P > | |
| float | compare (const d_node< P > *p1, const d_node< P > *p2) |
| template<class P > | |
| void | halfsort (v_array< d_node< P > > cover_set) |
| template<class P > | |
| v_array< v_array< d_node< P > > > | get_cover_sets (v_array< v_array< v_array< d_node< P > > > > &spare_cover_sets) |
| bool | shell (float parent_query_dist, float child_parent_dist, float upper_bound) |
| void | update_k (float *k_upper_bound, float upper_bound) |
| float * | alloc_k () |
| void | set_k (float *begin, float max) |
| void | update_epsilon (float *upper_bound, float new_dist) |
| float * | alloc_epsilon () |
| void | set_epsilon (float *begin, float max) |
| void | update_unequal (float *upper_bound, float new_dist) |
| void | set_unequal (float *begin, float max) |
| template<class P > | |
| void | copy_zero_set (node< P > *query_chi, float *new_upper_bound, v_array< d_node< P > > &zero_set, v_array< d_node< P > > &new_zero_set) |
| template<class P > | |
| void | copy_cover_sets (node< P > *query_chi, float *new_upper_bound, v_array< v_array< d_node< P > > > &cover_sets, v_array< v_array< d_node< P > > > &new_cover_sets, int current_scale, int max_scale) |
| template<class P > | |
| void | print_query (const node< P > *top_node) |
| template<class P > | |
| void | print_cover_sets (v_array< v_array< d_node< P > > > &cover_sets, v_array< d_node< P > > &zero_set, int current_scale, int max_scale) |
| template<class P > | |
| void | descend (const node< P > *query, float *upper_bound, int current_scale, int &max_scale, v_array< v_array< d_node< P > > > &cover_sets, v_array< d_node< P > > &zero_set) |
| template<class P > | |
| void | brute_nearest (const node< P > *query, v_array< d_node< P > > zero_set, float *upper_bound, v_array< v_array< P > > &results, v_array< v_array< d_node< P > > > &spare_zero_sets) |
| template<class P > | |
| void | internal_batch_nearest_neighbor (const node< P > *query, v_array< v_array< d_node< P > > > &cover_sets, v_array< d_node< P > > &zero_set, int current_scale, int max_scale, float *upper_bound, v_array< v_array< P > > &results, v_array< v_array< v_array< d_node< P > > > > &spare_cover_sets, v_array< v_array< d_node< P > > > &spare_zero_sets) |
| template<class P > | |
| void | batch_nearest_neighbor (const node< P > &top_node, const node< P > &query, v_array< v_array< P > > &results) |
| template<class P > | |
| void | k_nearest_neighbor (const node< P > &top_node, const node< P > &query, v_array< v_array< P > > &results, int k) |
| template<class P > | |
| void | epsilon_nearest_neighbor (const node< P > &top_node, const node< P > &query, v_array< v_array< P > > &results, float epsilon) |
| template<class P > | |
| void | unequal_nearest_neighbor (const node< P > &top_node, const node< P > &query, v_array< v_array< P > > &results) |
变量 | |
| static float | base = 1.3 |
| static float | il2 = 1. / log(base) |
| int | internal_k =1 |
| float | internal_epsilon =0. |
| float *(* | alloc_unequal )() = alloc_epsilon |
| void(* | update )(float *foo, float bar) = update_k |
| void(* | setter )(float *foo, float bar) = set_k |
| float *(* | alloc_upper )() = alloc_k |
| #define NDEBUG |
在文件 JLCoverTree.h 第 11 行定义.
| void add_height | ( | int | d, |
| v_array< int > & | heights | ||
| ) |
在文件 JLCoverTree.h 第 327 行定义.
| float* alloc_epsilon | ( | ) |
在文件 JLCoverTree.h 第 508 行定义.
| float* alloc_k | ( | ) |
在文件 JLCoverTree.h 第 496 行定义.
在文件 JLCoverTree.h 第 294 行定义.
| node<P> batch_insert | ( | const P & | p, |
| int | max_scale, | ||
| int | top_scale, | ||
| v_array< ds_node< P > > & | point_set, | ||
| v_array< ds_node< P > > & | consumed_set, | ||
| v_array< v_array< ds_node< P > > > & | stack | ||
| ) |
在文件 JLCoverTree.h 第 197 行定义.
| void batch_nearest_neighbor | ( | const node< P > & | top_node, |
| const node< P > & | query, | ||
| v_array< v_array< P > > & | results | ||
| ) |
在文件 JLCoverTree.h 第 786 行定义.
在文件 JLCoverTree.h 第 369 行定义.
| void brute_nearest | ( | const node< P > * | query, |
| v_array< d_node< P > > | zero_set, | ||
| float * | upper_bound, | ||
| v_array< v_array< P > > & | results, | ||
| v_array< v_array< d_node< P > > > & | spare_zero_sets | ||
| ) |
在文件 JLCoverTree.h 第 698 行定义.
在文件 JLCoverTree.h 第 395 行定义.
| void copy_cover_sets | ( | node< P > * | query_chi, |
| float * | new_upper_bound, | ||
| v_array< v_array< d_node< P > > > & | cover_sets, | ||
| v_array< v_array< d_node< P > > > & | new_cover_sets, | ||
| int | current_scale, | ||
| int | max_scale | ||
| ) |
在文件 JLCoverTree.h 第 557 行定义.
| void copy_zero_set | ( | node< P > * | query_chi, |
| float * | new_upper_bound, | ||
| v_array< d_node< P > > & | zero_set, | ||
| v_array< d_node< P > > & | new_zero_set | ||
| ) |
在文件 JLCoverTree.h 第 533 行定义.
在文件 JLCoverTree.h 第 358 行定义.
| void descend | ( | const node< P > * | query, |
| float * | upper_bound, | ||
| int | current_scale, | ||
| int & | max_scale, | ||
| v_array< v_array< d_node< P > > > & | cover_sets, | ||
| v_array< d_node< P > > & | zero_set | ||
| ) |
在文件 JLCoverTree.h 第 638 行定义.
| float dist_of_scale | ( | int | s | ) |
在文件 JLCoverTree.h 第 89 行定义.
| void dist_split | ( | v_array< ds_node< P > > & | point_set, |
| v_array< ds_node< P > > & | new_point_set, | ||
| P | new_point, | ||
| int | max_scale | ||
| ) |
在文件 JLCoverTree.h 第 166 行定义.
| void epsilon_nearest_neighbor | ( | const node< P > & | top_node, |
| const node< P > & | query, | ||
| v_array< v_array< P > > & | results, | ||
| float | epsilon | ||
| ) |
在文件 JLCoverTree.h 第 839 行定义.
| v_array<v_array<d_node<P> > > get_cover_sets | ( | v_array< v_array< v_array< d_node< P > > > > & | spare_cover_sets | ) |
在文件 JLCoverTree.h 第 462 行定义.
| int get_scale | ( | float | d | ) |
在文件 JLCoverTree.h 第 94 行定义.
在文件 JLCoverTree.h 第 401 行定义.
在文件 JLCoverTree.h 第 336 行定义.
| void internal_batch_nearest_neighbor | ( | const node< P > * | query, |
| v_array< v_array< d_node< P > > > & | cover_sets, | ||
| v_array< d_node< P > > & | zero_set, | ||
| int | current_scale, | ||
| int | max_scale, | ||
| float * | upper_bound, | ||
| v_array< v_array< P > > & | results, | ||
| v_array< v_array< v_array< d_node< P > > > > & | spare_cover_sets, | ||
| v_array< v_array< d_node< P > > > & | spare_zero_sets | ||
| ) |
在文件 JLCoverTree.h 第 734 行定义.
| void k_nearest_neighbor | ( | const node< P > & | top_node, |
| const node< P > & | query, | ||
| v_array< v_array< P > > & | results, | ||
| int | k | ||
| ) |
在文件 JLCoverTree.h 第 827 行定义.
在文件 JLCoverTree.h 第 115 行定义.
| node<P> new_leaf | ( | const P & | p | ) |
在文件 JLCoverTree.h 第 108 行定义.
| node<P> new_node | ( | const P & | p | ) |
在文件 JLCoverTree.h 第 100 行定义.
| void print | ( | int | depth, |
| node< P > & | top_node | ||
| ) |
在文件 JLCoverTree.h 第 131 行定义.
| void print_cover_sets | ( | v_array< v_array< d_node< P > > > & | cover_sets, |
| v_array< d_node< P > > & | zero_set, | ||
| int | current_scale, | ||
| int | max_scale | ||
| ) |
在文件 JLCoverTree.h 第 598 行定义.
| void print_query | ( | const node< P > * | top_node | ) |
在文件 JLCoverTree.h 第 586 行定义.
| void print_space | ( | int | s | ) |
在文件 JLCoverTree.h 第 124 行定义.
| void set_epsilon | ( | float * | begin, |
| float | max | ||
| ) |
在文件 JLCoverTree.h 第 512 行定义.
| void set_k | ( | float * | begin, |
| float | max | ||
| ) |
在文件 JLCoverTree.h 第 500 行定义.
| void set_unequal | ( | float * | begin, |
| float | max | ||
| ) |
在文件 JLCoverTree.h 第 523 行定义.
| bool shell | ( | float | parent_query_dist, |
| float | child_parent_dist, | ||
| float | upper_bound | ||
| ) |
在文件 JLCoverTree.h 第 473 行定义.
| void split | ( | v_array< ds_node< P > > & | point_set, |
| v_array< ds_node< P > > & | far_set, | ||
| int | max_scale | ||
| ) |
在文件 JLCoverTree.h 第 149 行定义.
| void unequal_nearest_neighbor | ( | const node< P > & | top_node, |
| const node< P > & | query, | ||
| v_array< v_array< P > > & | results | ||
| ) |
在文件 JLCoverTree.h 第 851 行定义.
| void update_epsilon | ( | float * | upper_bound, |
| float | new_dist | ||
| ) |
在文件 JLCoverTree.h 第 507 行定义.
| void update_k | ( | float * | k_upper_bound, |
| float | upper_bound | ||
| ) |
在文件 JLCoverTree.h 第 480 行定义.
| void update_unequal | ( | float * | upper_bound, |
| float | new_dist | ||
| ) |
在文件 JLCoverTree.h 第 517 行定义.
| float*(* alloc_unequal)() = alloc_epsilon |
在文件 JLCoverTree.h 第 522 行定义.
| float*(* alloc_upper)() = alloc_k |
在文件 JLCoverTree.h 第 530 行定义.
|
static |
在文件 JLCoverTree.h 第 84 行定义.
|
static |
在文件 JLCoverTree.h 第 87 行定义.
| float internal_epsilon =0. |
在文件 JLCoverTree.h 第 506 行定义.
| int internal_k =1 |
在文件 JLCoverTree.h 第 479 行定义.
| void(* setter)(float *foo, float bar) = set_k |
在文件 JLCoverTree.h 第 529 行定义.
| void(* update)(float *foo, float bar) = update_k |
在文件 JLCoverTree.h 第 528 行定义.