klee::DiscretePDF< T > Class Template Reference

#include <DiscretePDF.h>

Inheritance diagram for klee::DiscretePDF< T >:

Inheritance graph
[legend]

List of all members.

Public Member Functions

 DiscretePDF ()
 ~DiscretePDF ()
bool empty () const
void insert (T item, weight_type weight)
void update (T item, weight_type newWeight)
void remove (T item)
bool inTree (T item)
weight_type getWeight (T item)
choose (double p)

Private Types

typedef double weight_type

Private Member Functions

Node ** lookup (T item, Node **parent_out)
void split (Node *node)
void rotate (Node *node)
void lengthen (Node *node)
void propogateSumsUp (Node *n)

Private Attributes

Node * m_root


Detailed Description

template<class T>
class klee::DiscretePDF< T >

Definition at line 12 of file DiscretePDF.h.


Member Typedef Documentation

template<class T>
typedef double klee::DiscretePDF< T >::weight_type [private]

Definition at line 16 of file DiscretePDF.h.


Constructor & Destructor Documentation

template<class T>
klee::DiscretePDF< T >::DiscretePDF (  ) 

template<class T>
klee::DiscretePDF< T >::~DiscretePDF (  ) 


Member Function Documentation

template<class T>
T klee::DiscretePDF< T >::choose ( double  p  ) 

Referenced by klee::WeightedRandomSearcher::selectState().

Here is the caller graph for this function:

template<class T>
bool klee::DiscretePDF< T >::empty (  )  const

Referenced by klee::WeightedRandomSearcher::empty().

Here is the caller graph for this function:

template<class T>
weight_type klee::DiscretePDF< T >::getWeight ( item  ) 

template<class T>
void klee::DiscretePDF< T >::insert ( item,
weight_type  weight 
)

Referenced by klee::WeightedRandomSearcher::update().

Here is the caller graph for this function:

template<class T>
bool klee::DiscretePDF< T >::inTree ( item  ) 

template<class T>
void klee::DiscretePDF< T >::lengthen ( Node *  node  )  [private]

template<class T>
Node** klee::DiscretePDF< T >::lookup ( item,
Node **  parent_out 
) [private]

template<class T>
void klee::DiscretePDF< T >::propogateSumsUp ( Node *  n  )  [private]

template<class T>
void klee::DiscretePDF< T >::remove ( item  ) 

Referenced by klee::WeightedRandomSearcher::update().

Here is the caller graph for this function:

template<class T>
void klee::DiscretePDF< T >::rotate ( Node *  node  )  [private]

template<class T>
void klee::DiscretePDF< T >::split ( Node *  node  )  [private]

template<class T>
void klee::DiscretePDF< T >::update ( item,
weight_type  newWeight 
)

Referenced by klee::WeightedRandomSearcher::update().

Here is the caller graph for this function:


Member Data Documentation

template<class T>
Node* klee::DiscretePDF< T >::m_root [private]

Definition at line 35 of file DiscretePDF.h.


The documentation for this class was generated from the following file:

Generated on Fri Jun 5 03:33:04 2009 for klee by  doxygen 1.5.8