#include <pr_queue_k.h>
Classes | |
struct | mk_node |
Public Member Functions | |
ANNmin_k (int max) | |
~ANNmin_k () | |
PQKkey | ANNmin_key () |
PQKkey | max_key () |
PQKkey | ith_smallest_key (int i) |
PQKinfo | ith_smallest_info (int i) |
void | insert (PQKkey kv, PQKinfo inf) |
Definition at line 66 of file pr_queue_k.h.
ANNmin_k::ANNmin_k | ( | int | max ) | [inline] |
Definition at line 77 of file pr_queue_k.h.
References QuadProgPP::max().
ANNmin_k::~ANNmin_k | ( | ) | [inline] |
Definition at line 84 of file pr_queue_k.h.
{ delete [] mk; }
PQKkey ANNmin_k::ANNmin_key | ( | ) | [inline] |
Definition at line 87 of file pr_queue_k.h.
References PQ_NULL_KEY.
{ return (n > 0 ? mk[0].key : PQ_NULL_KEY); }
Definition at line 99 of file pr_queue_k.h.
References ANN_FLOP.
Referenced by ANNkd_leaf::ann_FR_search(), ANNkd_leaf::ann_pri_search(), ANNkd_leaf::ann_search(), ANNbruteForce::annkFRSearch(), and ANNbruteForce::annkSearch().
{ register int i; // slide larger values up for (i = n; i > 0; i--) { if (mk[i-1].key > kv) mk[i] = mk[i-1]; else break; } mk[i].key = kv; // store element here mk[i].info = inf; if (n < k) n++; // increment number of items ANN_FLOP(k-i+1) // increment floating ops }
PQKinfo ANNmin_k::ith_smallest_info | ( | int | i ) | [inline] |
Definition at line 96 of file pr_queue_k.h.
References PQ_NULL_INFO.
Referenced by ANNkd_tree::annkFRSearch(), ANNbruteForce::annkFRSearch(), ANNkd_tree::annkPriSearch(), ANNkd_tree::annkSearch(), and ANNbruteForce::annkSearch().
{ return (i < n ? mk[i].info : PQ_NULL_INFO); }
PQKkey ANNmin_k::ith_smallest_key | ( | int | i ) | [inline] |
Definition at line 93 of file pr_queue_k.h.
References PQ_NULL_KEY.
Referenced by ANNkd_tree::annkFRSearch(), ANNbruteForce::annkFRSearch(), ANNkd_tree::annkPriSearch(), ANNkd_tree::annkSearch(), and ANNbruteForce::annkSearch().
{ return (i < n ? mk[i].key : PQ_NULL_KEY); }
PQKkey ANNmin_k::max_key | ( | ) | [inline] |
Definition at line 90 of file pr_queue_k.h.
References PQ_NULL_KEY.
Referenced by ANNkd_leaf::ann_pri_search(), ANNkd_leaf::ann_search(), and ANNkd_tree::annkPriSearch().
{ return (n == k ? mk[k-1].key : PQ_NULL_KEY); }