Class truncated_gaussian1d_t

Inheritance Relationships

Base Type

Class Documentation

class truncated_gaussian1d_t : public wt::distribution1d_t

1D truncated Gaussian distribution. Correctly handles the singular case where the standard deviation is 0 and the distribution becomes a Dirac. Supports single-sided truncation.

Public Functions

inline truncated_gaussian1d_t(f_t sigma, f_t mu, const range_t<> &range)

Construct a new truncated Gaussian distribution.

Parameters:
  • sigma – standard deviation

  • mu – mean

  • range – distribution range, may be of infinite length.

truncated_gaussian1d_t(const truncated_gaussian1d_t&) noexcept = default
truncated_gaussian1d_t &operator=(const truncated_gaussian1d_t&) noexcept = default
inline virtual std::unique_ptr<distribution1d_t> clone() const override
inline auto mean() const noexcept

The mean of the Gaussian distribution.

inline f_t std_dev() const noexcept

The standard deviation of the truncated Gaussian distribution.

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 virtual sample_ret_t sample(sampler::sampler_t &sampler) const noexcept final

Samples a Gaussian distributed point.

inline f_t integrate(const range_t<> &r) const noexcept

Integrates this Gaussian distribution over a range.

inline bool is_dirac() const noexcept

Returns true if the distribution is degenerate (a Dirac delta)