File billiard_shake_and_bake_walk.hpp
-
struct BilliardShakeAndBakeWalk
-
-
template<typename Polytope, typename RandomNumberGenerator>
struct Walk : public ShakeAndBakeWalk::Walk<Polytope, RandomNumberGenerator> Public Types
-
using ShakeAndBake = ShakeAndBakeWalk::Walk<Polytope, RandomNumberGenerator>
Public Functions
-
template<typename GenericPolytope>
inline Walk(GenericPolytope &P, Point const &p, RandomNumberGenerator &rng, int facet_idx, int nr, NT eps = kDefaultEpsilon, ReflectionMode mode = kDefaultMode)
-
inline ReflectionMode get_mode() const noexcept
-
inline void apply(Polytope &P, unsigned int walk_len, RandomNumberGenerator &rng)
-
inline void initialize(Polytope &P, const Point &boundary_pt, int facet_idx, RandomNumberGenerator &rng)
Public Static Attributes
-
static constexpr ReflectionMode kDefaultMode = ReflectionMode::InverseExponential
Private Members
-
update_parameters _params
-
BoundaryOracleHeap<NT> _distances_set
-
int _nr
-
ReflectionMode mode_
-
using ShakeAndBake = ShakeAndBakeWalk::Walk<Polytope, RandomNumberGenerator>
-
template<typename Polytope, typename RandomNumberGenerator>