| Home | Libraries | People | FAQ | More

## Struct template weighted_density_impl

boost::accumulators::impl::weighted_density_impl — Histogram density estimator for weighted samples.

## Synopsis

    // In header: <boost/accumulators/statistics/weighted_density.hpp>

    template<typename Sample, typename Weight>
    struct weighted_density_impl {
      // types
      typedef numeric::functional::average< Weight, std::size_t >::result_type float_type;
      typedef std::vector< std::pair< float_type, float_type > >               histogram_type;
      typedef std::vector< float_type >                                        array_type;
      typedef iterator_range< typename histogram_type::iterator >              result_type;

      // construct/copy/destruct
      template<typename Args> weighted_density_impl(Args const &);

      // public member functions
      template<typename Args> void operator()(Args const &) ;
      template<typename Args> result_type result(Args const &) const;
    };

## Description

The histogram density estimator returns a histogram of the sample distribution. The positions and sizes of the bins are determined using a specifiable number of cached samples (cache_size). The range between the minimum and the maximum of the cached samples is subdivided into a specifiable number of bins (num_bins) of same size. Additionally, an under- and an overflow bin is added to capture future under- and overflow samples. Once the bins are determined, the cached samples and all subsequent samples are added to the correct bins. At the end, a range of std::pair is returned, where each pair contains the position of the bin (lower bound) and the sum of the weights (normalized with the sum of all weights).

### `weighted_density_impl` public construct/copy/destruct

1.     template<typename Args> weighted_density_impl(Args const & args);

### `weighted_density_impl` public member functions

1.     template<typename Args> void operator()(Args const & args) ;

2.     template<typename Args> result_type result(Args const & args) const;