|
SHOGUN
4.1.0
|
Go to the source code of this file.
Classes | |
| struct | node< P > |
| struct | ds_node< P > |
| struct | d_node< P > |
Macros | |
| #define | NDEBUG |
Functions | |
| 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) |
Variables | |
| 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 |
Definition at line 11 of file JLCoverTree.h.
| void add_height | ( | int | d, |
| v_array< int > & | heights | ||
| ) |
Definition at line 327 of file JLCoverTree.h.
| float* alloc_epsilon | ( | ) |
Definition at line 508 of file JLCoverTree.h.
| float* alloc_k | ( | ) |
Definition at line 496 of file JLCoverTree.h.
Definition at line 294 of file JLCoverTree.h.
| 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 | ||
| ) |
Definition at line 197 of file JLCoverTree.h.
| void batch_nearest_neighbor | ( | const node< P > & | top_node, |
| const node< P > & | query, | ||
| v_array< v_array< P > > & | results | ||
| ) |
Definition at line 786 of file JLCoverTree.h.
Definition at line 369 of file JLCoverTree.h.
| 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 | ||
| ) |
Definition at line 698 of file JLCoverTree.h.
Definition at line 395 of file JLCoverTree.h.
| 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 | ||
| ) |
Definition at line 557 of file JLCoverTree.h.
| 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 | ||
| ) |
Definition at line 533 of file JLCoverTree.h.
Definition at line 358 of file JLCoverTree.h.
| 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 | ||
| ) |
Definition at line 638 of file JLCoverTree.h.
| float dist_of_scale | ( | int | s | ) |
Definition at line 89 of file JLCoverTree.h.
| void dist_split | ( | v_array< ds_node< P > > & | point_set, |
| v_array< ds_node< P > > & | new_point_set, | ||
| P | new_point, | ||
| int | max_scale | ||
| ) |
Definition at line 166 of file JLCoverTree.h.
| void epsilon_nearest_neighbor | ( | const node< P > & | top_node, |
| const node< P > & | query, | ||
| v_array< v_array< P > > & | results, | ||
| float | epsilon | ||
| ) |
Definition at line 839 of file JLCoverTree.h.
| v_array<v_array<d_node<P> > > get_cover_sets | ( | v_array< v_array< v_array< d_node< P > > > > & | spare_cover_sets | ) |
Definition at line 462 of file JLCoverTree.h.
| int get_scale | ( | float | d | ) |
Definition at line 94 of file JLCoverTree.h.
Definition at line 401 of file JLCoverTree.h.
Definition at line 336 of file JLCoverTree.h.
| 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 | ||
| ) |
Definition at line 734 of file JLCoverTree.h.
| void k_nearest_neighbor | ( | const node< P > & | top_node, |
| const node< P > & | query, | ||
| v_array< v_array< P > > & | results, | ||
| int | k | ||
| ) |
Definition at line 827 of file JLCoverTree.h.
Definition at line 115 of file JLCoverTree.h.
| node<P> new_leaf | ( | const P & | p | ) |
Definition at line 108 of file JLCoverTree.h.
| node<P> new_node | ( | const P & | p | ) |
Definition at line 100 of file JLCoverTree.h.
| void print | ( | int | depth, |
| node< P > & | top_node | ||
| ) |
Definition at line 131 of file JLCoverTree.h.
| 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 | ||
| ) |
Definition at line 598 of file JLCoverTree.h.
| void print_query | ( | const node< P > * | top_node | ) |
Definition at line 586 of file JLCoverTree.h.
| void print_space | ( | int | s | ) |
Definition at line 124 of file JLCoverTree.h.
| void set_epsilon | ( | float * | begin, |
| float | max | ||
| ) |
Definition at line 512 of file JLCoverTree.h.
| void set_k | ( | float * | begin, |
| float | max | ||
| ) |
Definition at line 500 of file JLCoverTree.h.
| void set_unequal | ( | float * | begin, |
| float | max | ||
| ) |
Definition at line 523 of file JLCoverTree.h.
| bool shell | ( | float | parent_query_dist, |
| float | child_parent_dist, | ||
| float | upper_bound | ||
| ) |
Definition at line 473 of file JLCoverTree.h.
| void split | ( | v_array< ds_node< P > > & | point_set, |
| v_array< ds_node< P > > & | far_set, | ||
| int | max_scale | ||
| ) |
Definition at line 149 of file JLCoverTree.h.
| void unequal_nearest_neighbor | ( | const node< P > & | top_node, |
| const node< P > & | query, | ||
| v_array< v_array< P > > & | results | ||
| ) |
Definition at line 851 of file JLCoverTree.h.
| void update_epsilon | ( | float * | upper_bound, |
| float | new_dist | ||
| ) |
Definition at line 507 of file JLCoverTree.h.
| void update_k | ( | float * | k_upper_bound, |
| float | upper_bound | ||
| ) |
Definition at line 480 of file JLCoverTree.h.
| void update_unequal | ( | float * | upper_bound, |
| float | new_dist | ||
| ) |
Definition at line 517 of file JLCoverTree.h.
| float*(* alloc_unequal)() = alloc_epsilon |
Definition at line 522 of file JLCoverTree.h.
| float*(* alloc_upper)() = alloc_k |
Definition at line 530 of file JLCoverTree.h.
|
static |
Definition at line 84 of file JLCoverTree.h.
|
static |
Definition at line 87 of file JLCoverTree.h.
| float internal_epsilon =0. |
Definition at line 506 of file JLCoverTree.h.
| int internal_k =1 |
Definition at line 479 of file JLCoverTree.h.
| void(* setter)(float *foo, float bar) = set_k |
Definition at line 529 of file JLCoverTree.h.
| void(* update)(float *foo, float bar) = update_k |
Definition at line 528 of file JLCoverTree.h.