| Home | Libraries | People | FAQ | More

## Struct template with_p_square_cumulative_distribution_weighted_median_impl

boost::accumulators::impl::with_p_square_cumulative_distribution_weighted_median_impl — Median estimation for weighted samples based on the cumulative distribution estimator.

## Synopsis

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

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

      // construct/copy/destruct
      with_p_square_cumulative_distribution_weighted_median_impl(dont_care);

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

## Description

The algorithm determines the first (leftmost) bin with a height exceeding 0.5. It returns the approximate horizontal position of where the cumulative distribution equals 0.5, based on a linear interpolation inside the bin.

### `with_p_square_cumulative_distribution_weighted_median_impl` public construct/copy/destruct

1.     with_p_square_cumulative_distribution_weighted_median_impl(dont_care);

### `with_p_square_cumulative_distribution_weighted_median_impl` public member functions

1.     void operator()(dont_care);

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