类 | |
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 行定义.