<html> <head> <meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"> <title>Struct template weighted_extended_p_square_impl</title> <link rel="stylesheet" href="../../../boostbook.css" type="text/css"> <meta name="generator" content="DocBook XSL Stylesheets V1.75.2"> <link rel="home" href="../../../index.html" title="The Boost C++ Libraries BoostBook Documentation Subset"> <link rel="up" href="../../../accumulators/reference.html#header.boost.accumulators.statistics.weighted_extended_p_square_hpp" title="Header <boost/accumulators/statistics/weighted_extended_p_square.hpp>"> <link rel="prev" href="../extract/weighted_extended_p_square.html" title="Global weighted_extended_p_square"> <link rel="next" href="../tag/weighted_extended_p_square.html" title="Struct weighted_extended_p_square"> </head> <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> <table cellpadding="2" width="100%"><tr> <td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td> <td align="center"><a href="../../../../../index.html">Home</a></td> <td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td> <td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> <td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td> <td align="center"><a href="../../../../../more/index.htm">More</a></td> </tr></table> <hr> <div class="spirit-nav"> <a accesskey="p" href="../extract/weighted_extended_p_square.html"><img src="../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../../accumulators/reference.html#header.boost.accumulators.statistics.weighted_extended_p_square_hpp"><img src="../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="../tag/weighted_extended_p_square.html"><img src="../../../../../doc/html/images/next.png" alt="Next"></a> </div> <div class="refentry" title="Struct template weighted_extended_p_square_impl"> <a name="boost.accumulators.impl.weighted_extended_p_squ_id562133"></a><div class="titlepage"></div> <div class="refnamediv"> <h2><span class="refentrytitle">Struct template weighted_extended_p_square_impl</span></h2> <p>boost::accumulators::impl::weighted_extended_p_square_impl — Multiple quantile estimation with the extended <span class="inlinemediaobject"><img src="../../../images/accumulators/form_6.png"></span> algorithm for weighted samples. </p> </div> <h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv-title">Synopsis</h2> <div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" class="refsynopsisdiv"><pre class="synopsis"><span class="emphasis"><em>// In header: <<a class="link" href="../../../accumulators/reference.html#header.boost.accumulators.statistics.weighted_extended_p_square_hpp" title="Header <boost/accumulators/statistics/weighted_extended_p_square.hpp>">boost/accumulators/statistics/weighted_extended_p_square.hpp</a>> </em></span><span class="bold"><strong>template</strong></span><<span class="bold"><strong>typename</strong></span> Sample, <span class="bold"><strong>typename</strong></span> Weight> <span class="bold"><strong>struct</strong></span> <a class="link" href="weighted_extended_p_squ_id562133.html" title="Struct template weighted_extended_p_square_impl">weighted_extended_p_square_impl</a> { <span class="emphasis"><em>// types</em></span> <span class="bold"><strong>typedef</strong></span> numeric::functional::multiplies< Sample, Weight >::result_type <a name="boost.accumulators.impl.weighted_extended_p_squ_id562133.weighted_sample"></a>weighted_sample; <span class="bold"><strong>typedef</strong></span> numeric::functional::average< weighted_sample, std::size_t >::result_type <a name="boost.accumulators.impl.weighted_extended_p_squ_id562133.float_type"></a>float_type; <span class="bold"><strong>typedef</strong></span> std::vector< float_type > <a name="boost.accumulators.impl.weighted_extended_p_squ_id562133.array_type"></a>array_type; <span class="bold"><strong>typedef</strong></span> <span class="emphasis"><em>unspecified</em></span> <a name="boost.accumulators.impl.weighted_extended_p_squ_id562133.result_type"></a>result_type; <span class="emphasis"><em>// <a class="link" href="weighted_extended_p_squ_id562133.html#boost.accumulators.impl.weighted_extended_p_squ_id562133construct-copy-destruct">construct/copy/destruct</a></em></span> <span class="bold"><strong>template</strong></span><<span class="bold"><strong>typename</strong></span> Args> <a class="link" href="weighted_extended_p_squ_id562133.html#id562448-bb">weighted_extended_p_square_impl</a>(Args <span class="bold"><strong>const</strong></span> &); <span class="emphasis"><em>// <a class="link" href="weighted_extended_p_squ_id562133.html#id562411-bb">public member functions</a></em></span> <span class="bold"><strong>template</strong></span><<span class="bold"><strong>typename</strong></span> Args> <span class="type"><span class="bold"><strong>void</strong></span></span> <a class="link" href="weighted_extended_p_squ_id562133.html#id562414-bb"><span class="bold"><strong>operator</strong></span>()</a>(Args <span class="bold"><strong>const</strong></span> &) ; <span class="type">result_type</span> <a class="link" href="weighted_extended_p_squ_id562133.html#id562434-bb">result</a>(dont_care) <span class="bold"><strong>const</strong></span>; };</pre></div> <div class="refsect1" title="Description"> <a name="id688185"></a><h2>Description</h2> <p>This version of the extended <span class="inlinemediaobject"><img src="../../../images/accumulators/form_6.png"></span> algorithm extends the extended <span class="inlinemediaobject"><img src="../../../images/accumulators/form_6.png"></span> algorithm to support weighted samples. The extended <span class="inlinemediaobject"><img src="../../../images/accumulators/form_6.png"></span> algorithm dynamically estimates several quantiles without storing samples. Assume that <span class="inlinemediaobject"><img src="../../../images/accumulators/form_7.png"></span> quantiles <span class="inlinemediaobject"><img src="../../../images/accumulators/form_8.png"></span> are to be estimated. Instead of storing the whole sample cumulative distribution, the algorithm maintains only <span class="inlinemediaobject"><img src="../../../images/accumulators/form_9.png"></span> principal markers and <span class="inlinemediaobject"><img src="../../../images/accumulators/form_10.png"></span> middle markers, whose positions are updated with each sample and whose heights are adjusted (if necessary) using a piecewise-parablic formula. The heights of the principal markers are the current estimates of the quantiles and are returned as an iterator range.</p> <p>For further details, see</p> <p>K. E. E. Raatikainen, Simultaneous estimation of several quantiles, Simulation, Volume 49, Number 4 (October), 1986, p. 159-164.</p> <p>The extended <span class="inlinemediaobject"><img src="../../../images/accumulators/form_11.png"></span> algorithm generalizess the <span class="inlinemediaobject"><img src="../../../images/accumulators/form_11.png"></span> algorithm of</p> <p>R. Jain and I. Chlamtac, The P^2 algorithmus for dynamic calculation of quantiles and histograms without storing observations, Communications of the ACM, Volume 28 (October), Number 10, 1985, p. 1076-1085.</p> <p> </p> <div class="refsect2" title="weighted_extended_p_square_impl public construct/copy/destruct"> <a name="id688395"></a><h3> <a name="boost.accumulators.impl.weighted_extended_p_squ_id562133construct-copy-destruct"></a><code class="computeroutput">weighted_extended_p_square_impl</code> public construct/copy/destruct</h3> <div class="orderedlist"><ol class="orderedlist" type="1"><li class="listitem"><pre class="literallayout"><span class="bold"><strong>template</strong></span><<span class="bold"><strong>typename</strong></span> Args> <a name="id562448-bb"></a>weighted_extended_p_square_impl(Args <span class="bold"><strong>const</strong></span> & args);</pre></li></ol></div> </div> <div class="refsect2" title="weighted_extended_p_square_impl public member functions"> <a name="id688448"></a><h3> <a name="id562411-bb"></a><code class="computeroutput">weighted_extended_p_square_impl</code> public member functions</h3> <div class="orderedlist"><ol class="orderedlist" type="1"> <li class="listitem"><pre class="literallayout"><span class="bold"><strong>template</strong></span><<span class="bold"><strong>typename</strong></span> Args> <span class="type"><span class="bold"><strong>void</strong></span></span> <a name="id562414-bb"></a><span class="bold"><strong>operator</strong></span>()(Args <span class="bold"><strong>const</strong></span> & args) ;</pre></li> <li class="listitem"><pre class="literallayout"><span class="type">result_type</span> <a name="id562434-bb"></a>result(dont_care) <span class="bold"><strong>const</strong></span>;</pre></li> </ol></div> </div> </div> </div> <table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr> <td align="left"></td> <td align="right"><div class="copyright-footer">Copyright © 2005, 2006 Eric Niebler<p> Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>) </p> </div></td> </tr></table> <hr> <div class="spirit-nav"> <a accesskey="p" href="../extract/weighted_extended_p_square.html"><img src="../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../../accumulators/reference.html#header.boost.accumulators.statistics.weighted_extended_p_square_hpp"><img src="../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="../tag/weighted_extended_p_square.html"><img src="../../../../../doc/html/images/next.png" alt="Next"></a> </div> </body> </html>