Class binned_piecewise_linear_distribution_t¶
Inheritance Relationships¶
Base Type¶
public wt::distribution1d_t
(Class distribution1d_t)
Class Documentation¶
-
class binned_piecewise_linear_distribution_t : public wt::distribution1d_t¶
Continuos piecewise-linear distribution using equal-spaced bins for fast lookup performance. Also bins the iCDF for fast sampling.
Public Functions
-
inline explicit binned_piecewise_linear_distribution_t(std::vector<f_t> yvalues, const range_t<> xrange)¶
Construct a binned_piecewise_linear_distribution_t.
- Parameters:
values – non negative values, with x in strictly ascending order
-
inline explicit binned_piecewise_linear_distribution_t(const piecewise_linear_distribution_t &pwld, const range_t<> range = range_t<>::all(), const std::optional<f_t> min_dx = {})¶
Construct a binned_piecewise_linear_distribution_t.
- Parameters:
pwld – a piecewise-linear distribution
min_dx – (optional) minimal bin size
-
binned_piecewise_linear_distribution_t(binned_piecewise_linear_distribution_t&&) noexcept = default¶
-
binned_piecewise_linear_distribution_t(const binned_piecewise_linear_distribution_t&) noexcept = default¶
-
binned_piecewise_linear_distribution_t &operator=(binned_piecewise_linear_distribution_t&&) noexcept = default¶
-
binned_piecewise_linear_distribution_t &operator=(const binned_piecewise_linear_distribution_t&) noexcept = default¶
-
inline virtual std::unique_ptr<distribution1d_t> clone() const override¶
-
inline auto xstep() const noexcept¶
-
inline auto total() const noexcept¶
-
inline auto range() const noexcept¶
-
inline auto &operator[](std::size_t idx)¶
-
inline const auto &operator[](std::size_t idx) const¶
-
inline auto size() const noexcept¶
-
inline auto begin() noexcept¶
-
inline auto end() noexcept¶
-
inline auto begin() const noexcept¶
-
inline auto end() const noexcept¶
-
inline auto &front() noexcept¶
-
inline auto &back() noexcept¶
-
inline const auto &front() const noexcept¶
-
inline const auto &back() const noexcept¶
-
inline auto cbegin() const noexcept¶
-
inline auto cend() const noexcept¶
-
inline auto crbegin() const noexcept¶
-
inline auto crend() const noexcept¶
-
inline auto rbegin() noexcept¶
-
inline auto rend() noexcept¶
-
inline auto rbegin() const noexcept¶
-
inline auto rend() const noexcept¶
-
inline auto operator+(const binned_piecewise_linear_distribution_t &d) const noexcept¶
-
inline f_t value(f_t x) const noexcept¶
Value at position.
- Parameters:
x – position
- Returns:
Piece-wise linearly interpolated value
-
inline f_t integrate(f_t x0, f_t x1) const noexcept¶
Integrate the distribution between x0 and x1.
- Parameters:
x0 – integrate from
x1 – integrate to
-
inline virtual f_t pdf(f_t x, measure_e measure = measure_e::continuos) const noexcept final¶
PDF.
- Parameters:
x – value
- Returns:
PDF of the distribution at x
-
inline explicit binned_piecewise_linear_distribution_t(std::vector<f_t> yvalues, const range_t<> xrange)¶