Class gaussian1d_t

Inheritance Relationships

Base Type

Class Documentation

class gaussian1d_t : public wt::distribution1d_t

1D Gaussian distribution. Correctly handles the singular case where the standard deviation is 0 and the distribution becomes a Dirac.

Public Functions

inline gaussian1d_t(f_t sigma, f_t mu = 0)

Construct a new 1D Gaussian distribution.

Parameters:
  • sigma – standard deviation

  • mu – mean

gaussian1d_t(const gaussian1d_t&) noexcept = default
gaussian1d_t &operator=(const 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 auto std_dev() const noexcept

The standard deviations of the 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<f_t> &r) const noexcept

Integrates this Gaussian distribution over a range.

inline f_t integrate(const gaussian1d_t &g) const noexcept

Integrates this Gaussian distribution over the support of another Gaussian distribution.

inline bool is_dirac() const noexcept

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