File accelerated_billiard_walk_utils.hpp

Variables

const double eps = 1e-10
template<typename NT>
class BoundaryOracleHeap

Public Functions

inline BoundaryOracleHeap()
inline BoundaryOracleHeap(int n)
inline void rebuild(const NT &moved_dist)
inline NT get_val(const int &index)
inline std::pair<NT, int> get_min()
inline void change_val(const int &index, const NT &new_val, const NT &moved_dist)

Public Members

int n
int heap_size
std::vector<std::pair<NT, int>> heap
std::vector<std::pair<NT, int>> vec

Private Functions

inline int siftDown(int index)
inline int siftUp(int index)
inline void remove(int index)
inline void insert(const std::pair<NT, int> val)