SHOGUN  4.1.0
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
Classes | Macros | Functions | Variables
JLCoverTree.h File Reference

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
 

Macro Definition Documentation

#define NDEBUG

Definition at line 11 of file JLCoverTree.h.

Function Documentation

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.

node<P> batch_create ( v_array< P >  points)

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.

void breadth_dist ( const node< P >  top_node,
v_array< int > &  breadths 
)

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.

float compare ( const d_node< P > *  p1,
const d_node< P > *  p2 
)

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.

void depth_dist ( int  top_scale,
const node< P >  top_node,
v_array< int > &  depths 
)

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,
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.

void halfsort ( v_array< d_node< P > >  cover_set)

Definition at line 401 of file JLCoverTree.h.

int height_dist ( const node< P >  top_node,
v_array< int > &  heights 
)

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.

float max_set ( v_array< ds_node< P > > &  v)

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.

Variable Documentation

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.

float base = 1.3
static

Definition at line 84 of file JLCoverTree.h.

float il2 = 1. / log(base)
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.


SHOGUN Machine Learning Toolbox - Documentation