Boost logo

Boost-Commit :

Subject: [Boost-commit] svn:boost r72691 - in sandbox/acc_ecdf: . boost boost/accumulators boost/accumulators/statistics boost/accumulators/statistics/ecdf boost/accumulators/statistics/ecdf/aux_ libs libs/accumulators libs/accumulators/ecdf libs/accumulators/ecdf/doc libs/accumulators/ecdf/doc/html libs/accumulators/ecdf/doc/html/boost_acc_ecdf libs/accumulators/ecdf/src libs/accumulators/ecdf/test libs/accumulators/ecdf/test/unit_test
From: erwann.rogard_at_[hidden]
Date: 2011-06-19 17:08:17


Author: e_r
Date: 2011-06-19 17:08:14 EDT (Sun, 19 Jun 2011)
New Revision: 72691
URL: http://svn.boost.org/trac/boost/changeset/72691

Log:
adding add_ecdf
Added:
   sandbox/acc_ecdf/
   sandbox/acc_ecdf/boost/
   sandbox/acc_ecdf/boost/accumulators/
   sandbox/acc_ecdf/boost/accumulators/statistics/
   sandbox/acc_ecdf/boost/accumulators/statistics/ecdf/
   sandbox/acc_ecdf/boost/accumulators/statistics/ecdf/aux_/
   sandbox/acc_ecdf/boost/accumulators/statistics/ecdf/aux_/check.hpp (contents, props changed)
   sandbox/acc_ecdf/boost/accumulators/statistics/ecdf/aux_/geometric_series_range.hpp (contents, props changed)
   sandbox/acc_ecdf/boost/accumulators/statistics/ecdf/aux_/ignore.hpp (contents, props changed)
   sandbox/acc_ecdf/boost/accumulators/statistics/ecdf/aux_/incremental_simulator.hpp (contents, props changed)
   sandbox/acc_ecdf/boost/accumulators/statistics/ecdf/aux_/kolmogorov_smirnov_output.hpp (contents, props changed)
   sandbox/acc_ecdf/boost/accumulators/statistics/ecdf/aux_/kolmogorov_smirnov_simulator.hpp (contents, props changed)
   sandbox/acc_ecdf/boost/accumulators/statistics/ecdf/cdf.hpp (contents, props changed)
   sandbox/acc_ecdf/boost/accumulators/statistics/ecdf/count.hpp (contents, props changed)
   sandbox/acc_ecdf/boost/accumulators/statistics/ecdf/cumulative_count.hpp (contents, props changed)
   sandbox/acc_ecdf/boost/accumulators/statistics/ecdf/kolmogorov_smirnov_statistic.hpp (contents, props changed)
   sandbox/acc_ecdf/boost/accumulators/statistics/ecdf/ordered_sample.hpp (contents, props changed)
   sandbox/acc_ecdf/boost/accumulators/statistics/ecdf/pdf.hpp (contents, props changed)
   sandbox/acc_ecdf/libs/
   sandbox/acc_ecdf/libs/accumulators/
   sandbox/acc_ecdf/libs/accumulators/ecdf/
   sandbox/acc_ecdf/libs/accumulators/ecdf/doc/
   sandbox/acc_ecdf/libs/accumulators/ecdf/doc/Jamfile.v2 (contents, props changed)
   sandbox/acc_ecdf/libs/accumulators/ecdf/doc/boostbook.css (contents, props changed)
   sandbox/acc_ecdf/libs/accumulators/ecdf/doc/ecdf.qbk (contents, props changed)
   sandbox/acc_ecdf/libs/accumulators/ecdf/doc/html/
   sandbox/acc_ecdf/libs/accumulators/ecdf/doc/html/boost_acc_ecdf/
   sandbox/acc_ecdf/libs/accumulators/ecdf/doc/html/boost_acc_ecdf/ex.html (contents, props changed)
   sandbox/acc_ecdf/libs/accumulators/ecdf/doc/html/boost_acc_ecdf/port.html (contents, props changed)
   sandbox/acc_ecdf/libs/accumulators/ecdf/doc/html/ecdf_HTML.manifest (contents, props changed)
   sandbox/acc_ecdf/libs/accumulators/ecdf/doc/html/index.html (contents, props changed)
   sandbox/acc_ecdf/libs/accumulators/ecdf/src/
   sandbox/acc_ecdf/libs/accumulators/ecdf/src/main.cpp (contents, props changed)
   sandbox/acc_ecdf/libs/accumulators/ecdf/test/
   sandbox/acc_ecdf/libs/accumulators/ecdf/test/ecdf.cpp (contents, props changed)
   sandbox/acc_ecdf/libs/accumulators/ecdf/test/ecdf.h (contents, props changed)
   sandbox/acc_ecdf/libs/accumulators/ecdf/test/ks_sim.cpp (contents, props changed)
   sandbox/acc_ecdf/libs/accumulators/ecdf/test/ks_sim.h (contents, props changed)
   sandbox/acc_ecdf/libs/accumulators/ecdf/test/unit_test/
   sandbox/acc_ecdf/libs/accumulators/ecdf/test/unit_test/Jamfile.v2 (contents, props changed)
   sandbox/acc_ecdf/libs/accumulators/ecdf/test/unit_test/ecdf.cpp (contents, props changed)

Added: sandbox/acc_ecdf/boost/accumulators/statistics/ecdf/aux_/check.hpp
==============================================================================
--- (empty file)
+++ sandbox/acc_ecdf/boost/accumulators/statistics/ecdf/aux_/check.hpp 2011-06-19 17:08:14 EDT (Sun, 19 Jun 2011)
@@ -0,0 +1,16 @@
+//////////////////////////////////////////////////////////////////////////////
+// acc_ecdf //
+// //
+// Copyright (C) 2005 Eric Niebler //
+// Copyright (C) 2011 Erwann Rogard //
+// Use, modification and distribution are subject to the //
+// Boost Software License, Version 1.0. (See accompanying file //
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) //
+//////////////////////////////////////////////////////////////////////////////
+#ifndef BOOST_ACCUMULATORS_STATISTICS_ECDF_AUX_CHECK_ER_2011_HPP
+#define BOOST_ACCUMULATORS_STATISTICS_ECDF_AUX_CHECK_ER_2011_HPP
+#ifndef BOOST_ACCUMULATORS_ECDF_CHECK
+#include <boost/assert.hpp>
+#define BOOST_ACCUMULATORS_ECDF_CHECK( p ) BOOST_ASSERT( p )
+#endif // BOOST_ACCUMULATORS_ECDF_CHECK
+#endif // BOOST_ACCUMULATORS_STATISTICS_ECDF_AUX_CHECK_ER_2011_HPP

Added: sandbox/acc_ecdf/boost/accumulators/statistics/ecdf/aux_/geometric_series_range.hpp
==============================================================================
--- (empty file)
+++ sandbox/acc_ecdf/boost/accumulators/statistics/ecdf/aux_/geometric_series_range.hpp 2011-06-19 17:08:14 EDT (Sun, 19 Jun 2011)
@@ -0,0 +1,107 @@
+//////////////////////////////////////////////////////////////////////////////
+// acc_ecdf //
+// //
+// Copyright (C) 2005 Eric Niebler //
+// Copyright (C) 2011 Erwann Rogard //
+// Use, modification and distribution are subject to the //
+// Boost Software License, Version 1.0. (See accompanying file //
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) //
+//////////////////////////////////////////////////////////////////////////////
+#ifndef BOOST_ACCUMULATORS_STATISTICS_ECDF_AUX_GEOMETRIC_SERIES_RANGE_ER_2011_HPP
+#define BOOST_ACCUMULATORS_STATISTICS_ECDF_AUX_GEOMETRIC_SERIES_RANGE_ER_2011_HPP
+#include <cstddef>
+#include <boost/accumulators/statistics/ecdf/aux_/ignore.hpp>
+#include <boost/iterator/counting_iterator.hpp>
+#include <boost/range/adaptor/transformed.hpp>
+#include <boost/range/iterator_range.hpp>
+
+namespace boost{
+//[syntax_ecdf_aux_geometric_series_range
+namespace accumulators{
+namespace ecdf{
+namespace aux_{
+
+ template<typename N = std::size_t>
+ struct geometric_series
+ {
+
+ geometric_series()/*<-*/
+ :n_( 1 )
+ , factor_( 2 )
+ {}BOOST_ACCUMULATORS_ECDF_IGNORE(/*->*/;/*<-*/)/*->*/
+
+ geometric_series(N n, N factor)/*<-*/
+ :n_( n )
+ , factor_( factor )
+ {}BOOST_ACCUMULATORS_ECDF_IGNORE(/*->*/;/*<-*/)/*->*/
+
+ typedef N result_type;
+
+ template<typename T>
+ N operator()(T const& anything)const/*<-*/
+ {
+ N m = this->n();
+ this->n_ *= this->factor();
+ return m;
+ }BOOST_ACCUMULATORS_ECDF_IGNORE(/*->*/;/*<-*/)/*->*/
+
+ N const& n()const/*<-*/
+ {
+ return this->n_;
+ }BOOST_ACCUMULATORS_ECDF_IGNORE(/*->*/;/*<-*/)/*->*/
+ N const& factor()const/*<-*/
+ {
+ return this->factor_;
+ }BOOST_ACCUMULATORS_ECDF_IGNORE(/*->*/;/*<-*/)/*->*/
+
+//<-
+ private:
+ mutable N n_;
+ N factor_;
+//->
+ };
+
+namespace result_of
+{
+
+ template<typename N>
+ struct geometric_series_iterator/*<-*/
+ {
+ typedef transform_iterator<
+ geometric_series<N>,
+ counting_iterator<N>
+ > type;
+ }/*->*/;
+
+ template<typename N>
+ struct geometric_series_range/*<-*/
+ {
+ typedef typename geometric_series_iterator<N>::type it_;
+ typedef boost::iterator_range<it_> type;
+ }/*->*/;
+
+}// result_of
+
+ // n *= factor at each of size iterations
+ template<typename N>
+ typename result_of::geometric_series_range<N>::type
+ geometric_series_range(N n, N factor, N size)/*<-*/
+ {
+ typedef geometric_series<N> geom_;
+
+ return boost::adaptors::transform(
+ boost::make_iterator_range(
+ boost::counting_iterator<N>( 0 ),
+ boost::counting_iterator<N>( size )
+ ),
+ geom_( n, factor )
+ );
+ }BOOST_ACCUMULATORS_ECDF_IGNORE(/*->*/;/*<-*/)/*->*/
+
+}// aux_
+}// ecdf
+}// accumulators
+//]
+}// boost
+
+#endif // BOOST_ACCUMULATORS_STATISTICS_ECDF_AUX_GEOMETRIC_SERIES_RANGE_ER_2011_HPP

Added: sandbox/acc_ecdf/boost/accumulators/statistics/ecdf/aux_/ignore.hpp
==============================================================================
--- (empty file)
+++ sandbox/acc_ecdf/boost/accumulators/statistics/ecdf/aux_/ignore.hpp 2011-06-19 17:08:14 EDT (Sun, 19 Jun 2011)
@@ -0,0 +1,16 @@
+//////////////////////////////////////////////////////////////////////////////
+// acc_ecdf //
+// //
+// Copyright (C) 2005 Eric Niebler //
+// Copyright (C) 2011 Erwann Rogard //
+// Use, modification and distribution are subject to the //
+// Boost Software License, Version 1.0. (See accompanying file //
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) //
+//////////////////////////////////////////////////////////////////////////////
+#ifndef BOOST_ACCUMULATORS_STATISTICS_ECDF_AUX_IGNORE_ER_2011_HPP
+#define BOOST_ACCUMULATORS_STATISTICS_ECDF_AUX_IGNORE_ER_2011_HPP
+#ifndef BOOST_ACCUMULATORS_ECDF_IGNORE
+#include <boost/assert.hpp>
+#define BOOST_ACCUMULATORS_ECDF_IGNORE( x )
+#endif // BOOST_ACCUMULATORS_ECDF_IGNORE
+#endif // BOOST_ACCUMULATORS_STATISTICS_AUX_ECDF_CHECK_ER_2011_HPP

Added: sandbox/acc_ecdf/boost/accumulators/statistics/ecdf/aux_/incremental_simulator.hpp
==============================================================================
--- (empty file)
+++ sandbox/acc_ecdf/boost/accumulators/statistics/ecdf/aux_/incremental_simulator.hpp 2011-06-19 17:08:14 EDT (Sun, 19 Jun 2011)
@@ -0,0 +1,76 @@
+//////////////////////////////////////////////////////////////////////////////
+// acc_ecdf //
+// //
+// Copyright (C) 2005 Eric Niebler //
+// Copyright (C) 2011 Erwann Rogard //
+// Use, modification and distribution are subject to the //
+// Boost Software License, Version 1.0. (See accompanying file //
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) //
+//////////////////////////////////////////////////////////////////////////////
+#ifndef BOOST_ACCUMULATORS_STATISTICS_ECDF_AUX_INCREMENTAL_SIMULATOR_ER_2011_HPP
+#define BOOST_ACCUMULATORS_STATISTICS_ECDF_AUX_INCREMENTAL_SIMULATOR_ER_2011_HPP
+#include <cstddef>
+#include <boost/accumulators/statistics/ecdf/aux_/ignore.hpp>
+
+namespace boost{
+//[syntax_ecdf_aux_incremental_simulator
+namespace accumulators{
+namespace ecdf{
+namespace aux_{
+
+ template<typename Gen, typename AccSet, typename Fun>
+ class incremental_simulator
+ {
+//<-
+ typedef typename Gen::distribution_type dist_;
+ typedef typename dist_::result_type sample_type;
+//->
+ public:
+
+ incremental_simulator(Gen gen, AccSet acc, Fun f)/*<-*/
+ : gen_( gen ), acc_( acc ), fun_( f )
+ {}BOOST_ACCUMULATORS_ECDF_IGNORE(/*->*/;/*<-*/)/*->*/
+
+ typedef typename Fun::result_type result_type;
+
+ template<typename N>
+ result_type operator()(N const& n)const/*<-*/
+ {
+ for( N i = 0; i < n; i++ )
+ {
+ sample_type x = this->gen_();
+ this->acc_( x );
+ } // increases sample size by n
+
+ return this->fun_( this->accumulator() );
+ }BOOST_ACCUMULATORS_ECDF_IGNORE(/*->*/;/*<-*/)/*->*/
+
+ Gen const& gen()const/*<-*/
+ {
+ return this->gen_;
+ }BOOST_ACCUMULATORS_ECDF_IGNORE(/*->*/;/*<-*/)/*->*/
+ AccSet const& accumulator()const/*<-*/
+ {
+ return this->acc_;
+ }BOOST_ACCUMULATORS_ECDF_IGNORE(/*->*/;/*<-*/)/*->*/
+ Fun const& fun()const/*<-*/
+ {
+ return this->fun_;
+ }BOOST_ACCUMULATORS_ECDF_IGNORE(/*->*/;/*<-*/)/*->*/
+
+//<-
+ private:
+ mutable Gen gen_;
+ mutable AccSet acc_;
+ Fun fun_;
+//->
+ };
+
+}// aux_
+}// ecdf
+}// accumulators
+//]
+}// boost
+
+#endif // BOOST_ACCUMULATORS_STATISTICS_ECDF_AUX_INCREMENTAL_SIMULATOR_ER_2011_HPP
+

Added: sandbox/acc_ecdf/boost/accumulators/statistics/ecdf/aux_/kolmogorov_smirnov_output.hpp
==============================================================================
--- (empty file)
+++ sandbox/acc_ecdf/boost/accumulators/statistics/ecdf/aux_/kolmogorov_smirnov_output.hpp 2011-06-19 17:08:14 EDT (Sun, 19 Jun 2011)
@@ -0,0 +1,97 @@
+//////////////////////////////////////////////////////////////////////////////
+// acc_ecdf //
+// //
+// Copyright (C) 2005 Eric Niebler //
+// Copyright (C) 2011 Erwann Rogard //
+// Use, modification and distribution are subject to the //
+// Boost Software License, Version 1.0. (See accompanying file //
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) //
+//////////////////////////////////////////////////////////////////////////////
+#ifndef BOOST_ACCUMULATORS_STATISTICS_ECDF_AUX_KOLMOGOROV_SMIRNOV_OUTPUT_ER_2011_HPP
+#define BOOST_ACCUMULATORS_STATISTICS_ECDF_AUX_KOLMOGOROV_SMIRNOV_OUTPUT_ER_2011_HPP
+#include <boost/accumulators/statistics/count.hpp>
+#include <boost/accumulators/statistics/ecdf/aux_/ignore.hpp>
+#include <boost/accumulators/statistics/ecdf/kolmogorov_smirnov_statistic.hpp>
+#include <boost/format.hpp>
+#include <boost/numeric/conversion/bounds.hpp>
+
+namespace boost{
+//[syntax_ecdf_aux_kolmogorov_smirnov_output
+namespace accumulators{
+namespace ecdf{
+namespace aux_{
+
+ // Template parameters:
+ // D distribution
+ // T value-type
+ template<typename D, typename T = typename D::value_type>
+ class kolmogorov_smirnov_output
+ {
+//<-
+ typedef boost::numeric::bounds<T> bounds_;
+//->
+ public:
+
+ typedef boost::format result_type;
+ typedef T value_type;
+
+ kolmogorov_smirnov_output(
+ D dist
+ , result_type custom_format = result_type( "(%1%, %2%)" )
+ , value_type old_stat = bounds_::highest()
+ )/*<-*/
+ : d_( dist ),
+ f_( custom_format ),
+ old_stat_( old_stat )
+ {}BOOST_ACCUMULATORS_ECDF_IGNORE(/*->*/;/*<-*/)/*->*/
+
+ result_type heading()const/*<-*/
+ {
+ return result_type( "(count, statistic, decreased)" );
+ }BOOST_ACCUMULATORS_ECDF_IGNORE(/*->*/;/*<-*/)/*->*/
+
+
+ template<typename AccSet>
+ result_type operator()( const AccSet& acc_set )const/*<-*/
+ {
+ namespace acc = accumulators;
+ value_type new_stat = ecdf::kolmogorov_smirnov_statistic<
+ value_type
+ >( acc_set, this->distribution() );
+
+ this->old_stat_ = new_stat;
+ result_type result = this->f_;
+ result
+ % acc::extract::count( acc_set )
+ % this->statistic();
+ return result;
+
+ }BOOST_ACCUMULATORS_ECDF_IGNORE(/*->*/;/*<-*/)/*->*/
+
+ D const& distribution()const/*<-*/
+ {
+ return this->d_;
+ }BOOST_ACCUMULATORS_ECDF_IGNORE(/*->*/;/*<-*/)/*->*/
+
+ value_type const& statistic()const/*<-*/
+ {
+ return this->old_stat_;
+ }BOOST_ACCUMULATORS_ECDF_IGNORE(/*->*/;/*<-*/)/*->*/
+
+//<-
+ private:
+
+ D d_;
+ result_type f_;
+ mutable value_type old_stat_;
+//->
+ };
+
+}// aux_
+}// ecdf
+}// accumulators
+//]
+}// boost
+
+#endif // BOOST_ACCUMULATORS_STATISTICS_ECDF_AUX_KOLMOGOROV_SMIRNOV_OUTPUT_ER_2011_HPP
+

Added: sandbox/acc_ecdf/boost/accumulators/statistics/ecdf/aux_/kolmogorov_smirnov_simulator.hpp
==============================================================================
--- (empty file)
+++ sandbox/acc_ecdf/boost/accumulators/statistics/ecdf/aux_/kolmogorov_smirnov_simulator.hpp 2011-06-19 17:08:14 EDT (Sun, 19 Jun 2011)
@@ -0,0 +1,69 @@
+//////////////////////////////////////////////////////////////////////////////
+// acc_ecdf //
+// //
+// Copyright (C) 2005 Eric Niebler //
+// Copyright (C) 2011 Erwann Rogard //
+// Use, modification and distribution are subject to the //
+// Boost Software License, Version 1.0. (See accompanying file //
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) //
+//////////////////////////////////////////////////////////////////////////////
+#ifndef BOOST_ACCUMULATORS_STATISTICS_ECDF_AUX_KOLMOGOROV_SMIRNOV_SIMULATOR_ER_2011_HPP
+#define BOOST_ACCUMULATORS_STATISTICS_ECDF_AUX_KOLMOGOROV_SMIRNOV_SIMULATOR_ER_2011_HPP
+#include <boost/accumulators/accumulators.hpp>
+#include <boost/accumulators/statistics/ecdf/aux_/ignore.hpp>
+#include <boost/accumulators/statistics/ecdf/aux_/incremental_simulator.hpp>
+#include <boost/accumulators/statistics/ecdf/aux_/kolmogorov_smirnov_output.hpp>
+#include <boost/accumulators/statistics/ecdf/kolmogorov_smirnov_statistic.hpp>
+#include <boost/accumulators/statistics_fwd.hpp>
+
+namespace boost{
+//[syntax_ecdf_aux_kolmogorov_smirnov_simulator
+namespace accumulators{
+namespace ecdf{
+namespace aux_{
+namespace result_of{
+
+ template<typename Gen, typename D, typename T = typename D::value_type>
+ struct kolmogorov_smirnov_simulator/*<-*/
+ {
+ typedef typename Gen::distribution_type random_;
+ typedef typename random_::result_type sample_type;
+
+ typedef ecdf::tag::kolmogorov_smirnov ks_tag_;
+ typedef boost::accumulators::stats<ks_tag_> features_;
+
+ typedef accumulators::accumulator_set<
+ sample_type,
+ features_
+ > accumulator_set;
+
+ typedef kolmogorov_smirnov_output<D, T> functor;
+
+ typedef incremental_simulator<Gen, accumulator_set, functor> type;
+
+ static type call(Gen gen, D dist)
+ {
+ accumulator_set set;
+ functor f( dist );
+ return type( gen, set, f );
+ }
+
+ }/*->*/;
+
+}// result_of
+
+ template<typename Gen, typename D>
+ typename result_of::kolmogorov_smirnov_simulator<Gen, D>::type
+ kolmogorov_smirnov_simulator(Gen gen, D dist)/*<-*/
+ {
+ typedef result_of::kolmogorov_smirnov_simulator<Gen, D> caller_;
+ return caller_::call( gen, dist );
+ }BOOST_ACCUMULATORS_ECDF_IGNORE(/*->*/;/*<-*/)/*->*/
+
+}// aux_
+}// ecdf
+}// accumulators
+//]
+}// boost
+
+#endif // BOOST_ACCUMULATORS_STATISTICS_ECDF_AUX_KOLMOGOROV_SMIRNOV_SIMULATOR_ER_2011_HPP

Added: sandbox/acc_ecdf/boost/accumulators/statistics/ecdf/cdf.hpp
==============================================================================
--- (empty file)
+++ sandbox/acc_ecdf/boost/accumulators/statistics/ecdf/cdf.hpp 2011-06-19 17:08:14 EDT (Sun, 19 Jun 2011)
@@ -0,0 +1,109 @@
+///////////////////////////////////////////////////////////////////////////////
+// acc_ecdf //
+// //
+// Copyright (C) 2005 Eric Niebler //
+// Copyright (C) 2011 Erwann Rogard //
+// Software License, Version 1.0. (See accompanying file //
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) //
+///////////////////////////////////////////////////////////////////////////////
+#ifndef BOOST_ACCUMULATORS_STATISTICS_ECDF_CDF_HPP_ER_2011
+#define BOOST_ACCUMULATORS_STATISTICS_ECDF_CDF_HPP_ER_2011
+#include <boost/accumulators/framework/accumulator_base.hpp>
+#include <boost/accumulators/framework/extractor.hpp>
+#include <boost/accumulators/framework/depends_on.hpp>
+#include <boost/accumulators/framework/parameters/sample.hpp>
+#include <boost/accumulators/framework/parameters/accumulator.hpp>
+#include <boost/accumulators/statistics/count.hpp>
+#include <boost/accumulators/statistics/ecdf/aux_/ignore.hpp>
+#include <boost/accumulators/statistics/ecdf/cumulative_count.hpp>
+#include <boost/numeric/conversion/converter.hpp>
+
+namespace boost{
+//[syntax_ecdf_cdf
+namespace accumulators{
+namespace ecdf{
+//<-
+namespace impl{
+
+ // T can be an integer or a float
+ template<typename T,typename T1,typename Comp = std::less<T> >
+ class cdf
+ : public accumulator_base
+ {
+ typedef Comp comp_;
+ typedef dont_care dont_care_;
+
+ public:
+
+ typedef T1 result_type;
+ typedef T sample_type;
+
+ cdf(dont_care_){}
+
+ void operator()(dont_care_){}
+
+ template<typename Args>
+ result_type result(const Args& args)const{
+ namespace acc = boost::accumulators;
+ typedef std::size_t size_;
+ size_ i = extract::cumulative_count(
+ args[ accumulator ], args[ sample ]
+ );
+ size_ n = acc::extract::count( args[ accumulator ] );
+ typedef numeric::converter<T1,size_> converter_;
+ return converter_::convert( i )/converter_::convert( n );
+ }
+
+ };
+
+}// impl
+//->
+namespace tag
+{
+ template<typename T1>
+ struct cdf
+ : depends_on<
+ ecdf::tag::cumulative_count,
+ accumulators::tag::count
+ >
+ {/*<-*/
+ struct impl{
+ template<typename T,typename W>
+ struct apply{
+ typedef ecdf::impl::cdf<T,T1> type;
+ };
+ };
+ /*->*/};
+
+}// tag
+namespace result_of{
+
+ template<typename T1,typename AccSet>
+ struct cdf/*<-*/
+ {
+ typedef ecdf::tag::cdf<T1> tag_;
+ typedef typename
+ detail::template
+ extractor_result<AccSet,tag_>::type type;
+ }/*->*/;
+
+}// result_of
+namespace extract
+{
+
+ template<typename T1,typename AccSet,typename T>
+ typename ecdf::result_of::template cdf<T1,AccSet>::type
+ cdf(AccSet const& set,const T& x)/*<-*/
+ {
+ namespace acc = boost::accumulators;
+ typedef ecdf::tag::cdf<T1> tag_;
+ return extract_result<tag_>( set, ( acc::sample = x ) );
+ }BOOST_ACCUMULATORS_ECDF_IGNORE(/*->*/;/*<-*/)/*->*/
+
+}// extract
+}// ecdf
+}// accumulators
+//]
+}// boost
+
+#endif // BOOST_ACCUMULATORS_STATISTICS_ECDF_CDF_HPP_ER_2011

Added: sandbox/acc_ecdf/boost/accumulators/statistics/ecdf/count.hpp
==============================================================================
--- (empty file)
+++ sandbox/acc_ecdf/boost/accumulators/statistics/ecdf/count.hpp 2011-06-19 17:08:14 EDT (Sun, 19 Jun 2011)
@@ -0,0 +1,112 @@
+///////////////////////////////////////////////////////////////////////////////
+// acc_ecdf //
+// //
+// Copyright (C) 2005 Eric Niebler //
+// Copyright (C) 2011 Erwann Rogard //
+// Software License, Version 1.0. (See accompanying file //
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) //
+///////////////////////////////////////////////////////////////////////////////
+#ifndef BOOST_ACCUMULATORS_STATISTICS_ECDF_COUNT_HPP_ER_2011
+#define BOOST_ACCUMULATORS_STATISTICS_ECDF_COUNT_HPP_ER_2011
+#include <map>
+#include <functional> // less
+#include <boost/accumulators/framework/accumulator_base.hpp>
+#include <boost/accumulators/framework/extractor.hpp>
+#include <boost/accumulators/framework/depends_on.hpp>
+#include <boost/accumulators/framework/parameters/sample.hpp>
+#include <boost/accumulators/framework/parameters/accumulator.hpp>
+#include <boost/accumulators/statistics_fwd.hpp>
+#include <boost/accumulators/statistics/ecdf/aux_/ignore.hpp>
+#include <boost/accumulators/statistics/ecdf/ordered_sample.hpp>
+#include <boost/mpl/placeholders.hpp>
+#include <boost/mpl/apply.hpp>
+#include <boost/mpl/bool.hpp>
+#include <boost/type_traits.hpp>
+#include <boost/numeric/conversion/converter.hpp>
+
+
+namespace boost{
+//[syntax_ecdf_count
+namespace accumulators{
+namespace ecdf{
+//<-
+namespace impl{
+
+ // T can be an integer or a float
+ template<typename T>
+ class count
+ : public accumulator_base
+ {
+ typedef std::size_t size_;
+ typedef dont_care dont_care_;
+
+ public:
+
+ typedef size_ result_type;
+ typedef T sample_type;
+
+ count(dont_care_){}
+
+ void operator()(dont_care_){}
+
+ template<typename Args>
+ result_type result(const Args& args)const
+ {
+ typedef ecdf::tag::ordered_sample tag_;
+ return extract_result<tag_>(
+ args[ accumulator ]
+ )[
+ args[ sample ]
+ ];
+ }
+
+ };
+
+}// impl
+//->
+namespace tag
+{
+
+ struct count
+ : depends_on<
+ ecdf::tag::ordered_sample
+ >
+ /*<-*/{
+ struct impl{
+ template<typename T,typename W>
+ struct apply{
+ typedef ecdf::impl::count<T> type;
+ };
+ };
+ /*->*/};
+
+}// tag
+namespace result_of{
+
+ template<typename AccSet,typename T>
+ struct count/*<-*/
+ {
+ typedef ecdf::tag::count tag_;
+ typedef typename detail::template
+ extractor_result<AccSet,tag_>::type type;
+ }/*->*/;
+
+}// result_of
+namespace extract
+{
+
+ template<typename AccSet,typename T>
+ typename ecdf::result_of::template count<AccSet,T>::type
+ count(AccSet const& acc,const T& x)/*<-*/
+ {
+ typedef ecdf::tag::count tag_;
+ return extract_result<tag_>( acc, (sample = x) );
+ }BOOST_ACCUMULATORS_ECDF_IGNORE(/*->*/;/*<-*/)/*->*/
+
+}// extract
+}// ecdf
+}// accumulators
+//]
+}// boost
+
+#endif // BOOST_ACCUMULATORS_STATISTICS_ECDF_COUNT_HPP_ER_2011

Added: sandbox/acc_ecdf/boost/accumulators/statistics/ecdf/cumulative_count.hpp
==============================================================================
--- (empty file)
+++ sandbox/acc_ecdf/boost/accumulators/statistics/ecdf/cumulative_count.hpp 2011-06-19 17:08:14 EDT (Sun, 19 Jun 2011)
@@ -0,0 +1,145 @@
+///////////////////////////////////////////////////////////////////////////////
+// acc_ecdf //
+// //
+// Copyright (C) 2005 Eric Niebler //
+// Copyright (C) 2011 Erwann Rogard //
+// Software License, Version 1.0. (See accompanying file //
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) //
+///////////////////////////////////////////////////////////////////////////////
+#ifndef BOOST_ACCUMULATORS_STATISTICS_ECDF_CUMULATIVE_COUNT_HPP_ER_2011
+#define BOOST_ACCUMULATORS_STATISTICS_ECDF_CUMULATIVE_COUNT_HPP_ER_2011
+#include <boost/accumulators/framework/extractor.hpp>
+#include <boost/accumulators/framework/accumulator_base.hpp>
+#include <boost/accumulators/framework/parameters/sample.hpp>
+#include <boost/accumulators/framework/parameters/accumulator.hpp>
+#include <boost/accumulators/framework/depends_on.hpp>
+#include <boost/accumulators/statistics/count.hpp>
+#include <boost/accumulators/statistics/ecdf/aux_/ignore.hpp>
+#include <boost/accumulators/statistics/ecdf/ordered_sample.hpp>
+#include <boost/range.hpp>
+#include <boost/numeric/conversion/converter.hpp>
+
+namespace boost{
+//[syntax_ecdf_cumulative_count
+namespace accumulators{
+namespace ecdf{
+//<-
+namespace impl{
+
+ // T can be an integer or a float
+ template<typename T,typename Comp = std::less<T> >
+ class cumulative_count
+ : public accumulator_base
+ {
+ typedef Comp comp_;
+ typedef std::size_t size_;
+ typedef dont_care dont_care_;
+
+ public:
+
+ typedef size_ result_type;
+ typedef T sample_type;
+
+ cumulative_count(dont_care_){}
+
+ void operator()(dont_care_){}
+
+ template<typename Args>
+ result_type result(const Args& args)const{
+ typedef ecdf::tag::ordered_sample tag_;
+ return this->result_impl(
+ extract_result<tag_>(
+ args[ accumulators::accumulator ]
+ ),
+ args[ sample ]
+ );
+ }
+
+ private:
+
+ template<typename Map>
+ result_type result_impl(
+ Map& map,
+ const sample_type& x
+ )const{
+ return std::for_each(
+ boost::const_begin( map ),
+ this->bound( map, x ),
+ accumulator()
+ ).value;
+ }
+
+ template<typename Map>
+ typename boost::range_iterator<const Map>::type
+ bound(
+ const Map& map,
+ const sample_type& x
+ )const{
+ return map.upper_bound(x);
+ }
+
+ struct accumulator{
+ mutable size_ value;
+
+ accumulator():value(0){}
+ accumulator(const accumulator& that)
+ :value(that.value){}
+
+ template<typename Data>
+ void operator()(const Data& data)const{
+ value += data.second;
+ }
+
+ };
+ };
+
+}// impl
+//->
+namespace tag
+{
+ struct cumulative_count: depends_on<
+ ecdf::tag::ordered_sample
+ >
+ {/*<-*/
+ struct impl{
+ template<typename T,typename W>
+ struct apply{
+ typedef ecdf::impl::cumulative_count<T> type;
+ };
+ };
+ /*->*/};
+
+}// tag
+namespace result_of{
+
+ template<typename AccSet>
+ struct cumulative_count/*<-*/
+ {
+ typedef ecdf::tag::cumulative_count tag_;
+ typedef typename
+ detail::template
+ extractor_result<AccSet,tag_>::type type;
+ }/*->*/;
+
+}// result_of
+namespace extract
+{
+
+ template<typename AccSet,typename T>
+ typename ecdf::result_of::template cumulative_count<AccSet>::type
+ cumulative_count(AccSet const& acc,const T& x)/*<-*/
+ {
+ typedef ecdf::tag::cumulative_count tag_;
+ return extract_result<tag_>(
+ acc,
+ (sample = x)
+ );
+ }BOOST_ACCUMULATORS_ECDF_IGNORE(/*->*/;/*<-*/)/*->*/
+
+}// extract
+}// ecdf
+}// accumulators
+//]
+}// boost
+
+#endif // BOOST_ACCUMULATORS_STATISTICS_ECDF_CUMULATIVE_COUNT_HPP_ER_2011

Added: sandbox/acc_ecdf/boost/accumulators/statistics/ecdf/kolmogorov_smirnov_statistic.hpp
==============================================================================
--- (empty file)
+++ sandbox/acc_ecdf/boost/accumulators/statistics/ecdf/kolmogorov_smirnov_statistic.hpp 2011-06-19 17:08:14 EDT (Sun, 19 Jun 2011)
@@ -0,0 +1,133 @@
+///////////////////////////////////////////////////////////////////////////////
+// acc_ecdf //
+// //
+// Copyright (C) 2005 Eric Niebler //
+// Copyright (C) 2011 Erwann Rogard //
+// Software License, Version 1.0. (See accompanying file //
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) //
+///////////////////////////////////////////////////////////////////////////////
+#ifndef BOOST_ACCUMULATORS_STATISTICS_KOLMOGOROV_SMIRNOV_STATISTIC_HPP_ER_2011
+#define BOOST_ACCUMULATORS_STATISTICS_KOLMOGOROV_SMIRNOV_STATISTIC_HPP_ER_2011
+#include <boost/accumulators/framework/extractor.hpp>
+#include <boost/accumulators/framework/accumulator_base.hpp>
+#include <boost/accumulators/framework/parameters/sample.hpp>
+#include <boost/accumulators/framework/parameters/accumulator.hpp>
+#include <boost/accumulators/framework/depends_on.hpp>
+#include <boost/accumulators/statistics/count.hpp>
+#include <boost/accumulators/statistics/ecdf/aux_/ignore.hpp>
+#include <boost/accumulators/statistics/ecdf/count.hpp>
+#include <boost/accumulators/statistics/stats.hpp>
+#include <boost/mpl/placeholders.hpp>
+#include <boost/mpl/apply.hpp>
+#include <boost/mpl/if.hpp>
+#include <boost/foreach.hpp>
+#include <boost/range.hpp>
+#include <boost/parameter/binding.hpp>
+#include <boost/type_traits.hpp>
+
+namespace boost{
+//[syntax_ecdf_kolmogorov_smirnov_statistic
+namespace accumulators{
+namespace ecdf{
+//<-
+namespace impl{
+
+ template<typename T>
+ class kolmogorov_smirnov
+ : public accumulator_base
+ {
+
+ typedef std::size_t size_;
+ typedef dont_care dont_care_;
+
+ public:
+
+ kolmogorov_smirnov(dont_care_){};
+
+ typedef size_ size_type;
+ typedef T sample_type;
+ typedef void result_type;
+
+ void operator()(dont_care_)const{}
+
+ template<typename Args>
+ result_type result(dont_care_) const
+ {
+ }
+ };
+
+}// impl
+//->
+namespace tag
+{
+ struct kolmogorov_smirnov
+ : depends_on<
+ ecdf::tag::ordered_sample,
+ accumulators::tag::count
+ >
+ {/*<-*/
+ struct impl{
+ template<typename T, typename W>
+ struct apply{
+ typedef ecdf::impl::kolmogorov_smirnov<T> type;
+ };
+ };
+ /*->*/};
+
+}// tag
+namespace result_of{
+
+ template<typename T1,typename AccSet,typename D>
+ struct kolmogorov_smirnov_statistic/*<-*/
+ {
+ typedef T1 type;
+ }/*->*/;
+
+}// result_of
+
+ // Usage : statistic<T1>(acc,dist)
+ template<typename T1,typename AccSet,typename D>
+ typename result_of::template
+ kolmogorov_smirnov_statistic<T1, AccSet, D>::type
+ kolmogorov_smirnov_statistic(AccSet const& set,const D& dist)/*<-*/
+ {
+ namespace acc = boost::accumulators;
+
+ typedef T1 val_;
+ typedef std::size_t size_;
+ typedef tag::count tag_n_;
+ typedef ecdf::tag::ordered_sample tag_os_;
+
+ typedef typename ecdf::result_of::ordered_sample<
+ AccSet>::type ref_os_;
+ typedef typename boost::remove_const< //in case ref changed to cref
+ typename boost::remove_reference<
+ ref_os_
+ >::type
+ >::type os_;
+ typedef typename boost::range_reference<os_>::type ref_elem_;
+
+ ref_os_ ref_os = extract_result<tag_os_>( set );
+
+ val_ m1 = static_cast<val_>(0);
+ size_ i = 0;
+ size_ n = acc::extract::count( set );
+
+ BOOST_FOREACH(ref_elem_ e,ref_os){
+ i += e.second;
+ val_ ecdf_val = static_cast<val_>(i) / static_cast<val_>(n);
+ val_ true_cdf = cdf( dist, e.first );
+ val_ m2 = (true_cdf > ecdf_val )
+ ?(true_cdf - ecdf_val) : (ecdf_val - true_cdf);
+ if( m2 > m1 ){ m1 = m2; }
+ }
+
+ return m1;
+ }BOOST_ACCUMULATORS_ECDF_IGNORE(/*->*/;/*<-*/)/*->*/
+
+}// ecdf
+}// accumulators
+//]
+}// boost
+
+#endif // BOOST_ACCUMULATORS_STATISTICS_KOLMOGOROV_SMIRNOV_STATISTIC_HPP_ER_2011

Added: sandbox/acc_ecdf/boost/accumulators/statistics/ecdf/ordered_sample.hpp
==============================================================================
--- (empty file)
+++ sandbox/acc_ecdf/boost/accumulators/statistics/ecdf/ordered_sample.hpp 2011-06-19 17:08:14 EDT (Sun, 19 Jun 2011)
@@ -0,0 +1,114 @@
+///////////////////////////////////////////////////////////////////////////////
+// acc_ecdf //
+// //
+// Copyright (C) 2005 Eric Niebler //
+// Copyright (C) 2011 Erwann Rogard //
+// Software License, Version 1.0. (See accompanying file //
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) //
+///////////////////////////////////////////////////////////////////////////////
+#ifndef BOOST_ACCUMULATORS_STATISTICS_ECDF_ORDERED_SAMPLE_HPP_ER_2011
+#define BOOST_ACCUMULATORS_STATISTICS_ECDF_ORDERED_SAMPLE_HPP_ER_2011
+#include <map>
+#include <functional>
+#include <boost/mpl/placeholders.hpp>
+#include <boost/mpl/apply.hpp>
+#include <boost/accumulators/framework/extractor.hpp>
+#include <boost/accumulators/framework/accumulator_base.hpp>
+#include <boost/accumulators/framework/parameters/sample.hpp>
+#include <boost/accumulators/framework/parameters/accumulator.hpp>
+#include <boost/accumulators/framework/depends_on.hpp>
+#include <boost/accumulators/statistics/ecdf/aux_/ignore.hpp>
+#include <boost/accumulators/statistics_fwd.hpp>
+
+namespace boost{
+//[syntax_ecdf_ordered_sample
+namespace accumulators{
+namespace ecdf{
+//<-
+namespace impl{
+
+ template<typename T>
+ class ordered_sample
+ : public accumulator_base
+ {
+ typedef std::less<T> comp_;
+ typedef std::size_t size_;
+ typedef dont_care dont_care_;
+ typedef std::map<T,size_,comp_> map_;
+
+ public:
+
+ // See accumulator_set for convention naming sample_type
+ typedef T sample_type;
+ typedef size_ size_type;
+
+ // non-const because map::operator[](key) returns a non-const
+ typedef map_& result_type;
+
+ ordered_sample(dont_care_){}
+
+ template<typename Args>
+ void operator()(const Args& args){
+ ++(
+ this->freq[
+ static_cast<T>(
+ args[sample]
+ )
+ ]
+ );
+ }
+
+ // Returns the entire distribution, represented by a map
+ result_type result(dont_care_)const
+ {
+ return (this->freq);
+ }
+
+ private:
+ mutable map_ freq;
+ };
+
+}// impl
+//->
+namespace tag
+{
+
+ struct ordered_sample
+ : depends_on<>
+ {/*<-*/
+ typedef ecdf::impl::ordered_sample<boost::mpl::_1> impl;
+ /*->*/};
+
+}// tag
+namespace result_of{
+
+ template<typename AccSet>
+ struct ordered_sample/*<-*/
+ : detail::extractor_result<
+ AccSet,
+ ecdf::tag::ordered_sample
+ >
+ {}/*->*/;
+
+}// result_of
+namespace extract
+{
+
+ template<typename AccSet>
+ typename ecdf::result_of::template ordered_sample<AccSet>::type
+ ordered_sample(AccSet const& acc)/*<-*/
+ {
+ typedef ecdf::tag::ordered_sample the_tag;
+ return extract_result<the_tag>(acc);
+ }BOOST_ACCUMULATORS_ECDF_IGNORE(/*->*/;/*<-*/)/*->*/
+
+}// extract
+
+using extract::ordered_sample;
+
+}// ecdf
+}// accumulators
+//]
+}// boost
+
+#endif // BOOST_ACCUMULATORS_STATISTICS_ECDF_ORDERED_SAMPLE_HPP_ER_2011

Added: sandbox/acc_ecdf/boost/accumulators/statistics/ecdf/pdf.hpp
==============================================================================
--- (empty file)
+++ sandbox/acc_ecdf/boost/accumulators/statistics/ecdf/pdf.hpp 2011-06-19 17:08:14 EDT (Sun, 19 Jun 2011)
@@ -0,0 +1,110 @@
+///////////////////////////////////////////////////////////////////////////////
+// acc_ecdf //
+// //
+// Copyright (C) 2005 Eric Niebler //
+// Copyright (C) 2011 Erwann Rogard //
+// Software License, Version 1.0. (See accompanying file //
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) //
+///////////////////////////////////////////////////////////////////////////////
+#ifndef BOOST_ACCUMULATORS_STATISTICS_ECDF_PDF_HPP_ER_2011
+#define BOOST_ACCUMULATORS_STATISTICS_ECDF_PDF_HPP_ER_2011
+#include <boost/range.hpp>
+#include <boost/numeric/conversion/converter.hpp>
+#include <boost/accumulators/framework/extractor.hpp>
+#include <boost/accumulators/framework/accumulator_base.hpp>
+#include <boost/accumulators/framework/parameters/sample.hpp>
+#include <boost/accumulators/framework/parameters/accumulator.hpp>
+#include <boost/accumulators/framework/depends_on.hpp>
+#include <boost/accumulators/statistics/count.hpp>
+#include <boost/accumulators/statistics/ecdf/aux_/ignore.hpp>
+#include <boost/accumulators/statistics/ecdf/count.hpp>
+
+namespace boost{
+//[syntax_ecdf_pdf
+namespace accumulators{
+namespace ecdf{
+//<-
+namespace impl{
+
+ // T can be an integer or a float
+ template<typename T,typename T1>
+ class pdf
+ : public accumulator_base
+ {
+ typedef dont_care dont_care_;
+
+ public:
+
+ typedef T1 result_type;
+ typedef T sample_type;
+
+ pdf(dont_care_){}
+
+ void operator()(dont_care_){}
+
+ template<typename Args>
+ result_type result(const Args& args)const{
+ typedef std::size_t size_;
+ namespace acc = boost::accumulators;
+ size_ i = ecdf::extract::count(
+ args[ acc::accumulator ],
+ args[ sample ]
+ );
+ size_ n = acc::extract::count( args[ acc::accumulator ] );
+ typedef numeric::converter<T1,size_> converter_;
+ return converter_::convert( i ) / converter_::convert( n );
+ }
+
+ };
+
+}// impl
+//->
+namespace tag
+{
+
+ template<typename T1>
+ struct pdf: depends_on<
+ ecdf::tag::count,
+ accumulators::tag::count
+ >
+ {/*<-*/
+ struct impl{
+ template<typename T,typename W>
+ struct apply{
+ typedef ecdf::impl::pdf<T,T1> type;
+ };
+ };
+ /*->*/};
+
+}// tag
+namespace result_of{
+
+ template<typename T1,typename AccSet>
+ struct pdf/*<-*/
+ {
+ typedef ecdf::tag::pdf<T1> tag_;
+ typedef typename
+ detail::template
+ extractor_result<AccSet,tag_>::type type;
+ }/*->*/;
+
+}// result_of
+namespace extract
+{
+
+ template<typename T1, typename AccSet, typename T>
+ typename ecdf::result_of::template pdf<T1, AccSet>::type
+ pdf(AccSet const& set, const T& x)/*<-*/
+ {
+ namespace acc = boost::accumulators;
+ typedef ecdf::tag::pdf<T1> tag_;
+ return extract_result<tag_>( set, ( acc::sample = x ) );
+ }BOOST_ACCUMULATORS_ECDF_IGNORE(/*->*/;/*<-*/)/*->*/
+
+}// extract
+}// ecdf
+}// accumulators
+//]
+}// boost
+
+#endif // BOOST_ACCUMULATORS_STATISTICS_ECDF_PDF_HPP_ER_2011

Added: sandbox/acc_ecdf/libs/accumulators/ecdf/doc/Jamfile.v2
==============================================================================
--- (empty file)
+++ sandbox/acc_ecdf/libs/accumulators/ecdf/doc/Jamfile.v2 2011-06-19 17:08:14 EDT (Sun, 19 Jun 2011)
@@ -0,0 +1,14 @@
+
+import boostbook : boostbook ;
+using quickbook ;
+
+boostbook ecdf
+ :
+ ecdf.qbk
+ :
+ <xsl:param>boost.max.id.length=1024
+ <xsl:param>toc.max.depth=4
+ <xsl:param>toc.section.depth=4
+ <xsl:param>chunk.section.depth=2
+ <xsl:param>html.stylesheet="../boostbook.css"
+ ;

Added: sandbox/acc_ecdf/libs/accumulators/ecdf/doc/boostbook.css
==============================================================================
--- (empty file)
+++ sandbox/acc_ecdf/libs/accumulators/ecdf/doc/boostbook.css 2011-06-19 17:08:14 EDT (Sun, 19 Jun 2011)
@@ -0,0 +1,538 @@
+/*=============================================================================
+ Copyright (c) 2004 Joel de Guzman
+ http://spirit.sourceforge.net/
+
+ Use, modification and distribution is subject to the Boost Software
+ License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
+ http://www.boost.org/LICENSE_1_0.txt)
+=============================================================================*/
+
+/*=============================================================================
+ Body defaults
+=============================================================================*/
+
+ body
+ {
+ margin: 1em;
+ font-family: sans-serif;
+ }
+
+/*=============================================================================
+ Paragraphs
+=============================================================================*/
+
+ p
+ {
+ text-align: left;
+ font-size: 10pt;
+ line-height: 1.15;
+ }
+
+/*=============================================================================
+ Program listings
+=============================================================================*/
+
+ /* Code on paragraphs */
+ p tt.computeroutput
+ {
+ font-size: 10pt;
+ }
+
+ pre.synopsis
+ {
+ font-size: 10pt;
+ margin: 1pc 4% 0pc 4%;
+ padding: 0.5pc 0.5pc 0.5pc 0.5pc;
+ }
+
+ .programlisting,
+ .screen
+ {
+ font-size: 10pt;
+ display: block;
+ margin: 1pc 4% 0pc 4%;
+ padding: 0.5pc 0.5pc 0.5pc 0.5pc;
+ }
+
+/*=============================================================================
+ Headings
+=============================================================================*/
+
+ h1, h2, h3, h4, h5, h6
+ {
+ text-align: left;
+ margin: 1em 0em 0.5em 0em;
+ font-weight: bold;
+ }
+
+ h1 { font: 140% }
+ h2 { font: bold 140% }
+ h3 { font: bold 130% }
+ h4 { font: bold 120% }
+ h5 { font: italic 110% }
+ h6 { font: italic 100% }
+
+ /* Top page titles */
+ title,
+ h1.title,
+ h2.title
+ h3.title,
+ h4.title,
+ h5.title,
+ h6.title,
+ .refentrytitle
+ {
+ font-weight: bold;
+ margin-bottom: 1pc;
+ }
+
+ h1.title { font-size: 140% }
+ h2.title { font-size: 140% }
+ h3.title { font-size: 130% }
+ h4.title { font-size: 120% }
+ h5.title { font-size: 110% }
+ h6.title { font-size: 100% }
+
+ .section h1
+ {
+ margin: 0em 0em 0.5em 0em;
+ font-size: 140%;
+ }
+
+ .section h2 { font-size: 140% }
+ .section h3 { font-size: 130% }
+ .section h4 { font-size: 120% }
+ .section h5 { font-size: 110% }
+ .section h6 { font-size: 100% }
+
+ /* Code on titles */
+ h1 tt.computeroutput { font-size: 140% }
+ h2 tt.computeroutput { font-size: 140% }
+ h3 tt.computeroutput { font-size: 130% }
+ h4 tt.computeroutput { font-size: 120% }
+ h5 tt.computeroutput { font-size: 110% }
+ h6 tt.computeroutput { font-size: 100% }
+
+/*=============================================================================
+ Author
+=============================================================================*/
+
+ h3.author
+ {
+ font-size: 100%
+ }
+
+/*=============================================================================
+ Lists
+=============================================================================*/
+
+ li
+ {
+ font-size: 10pt;
+ line-height: 1.3;
+ }
+
+ /* Unordered lists */
+ ul
+ {
+ text-align: left;
+ }
+
+ /* Ordered lists */
+ ol
+ {
+ text-align: left;
+ }
+
+/*=============================================================================
+ Links
+=============================================================================*/
+
+ a
+ {
+ text-decoration: none; /* no underline */
+ }
+
+ a:hover
+ {
+ text-decoration: underline;
+ }
+
+/*=============================================================================
+ Spirit style navigation
+=============================================================================*/
+
+ .spirit-nav
+ {
+ text-align: right;
+ }
+
+ .spirit-nav a
+ {
+ color: white;
+ padding-left: 0.5em;
+ }
+
+ .spirit-nav img
+ {
+ border-width: 0px;
+ }
+
+/*=============================================================================
+ Table of contents
+=============================================================================*/
+
+ .toc
+ {
+ margin: 1pc 4% 0pc 4%;
+ padding: 0.1pc 1pc 0.1pc 1pc;
+ font-size: 10pt;
+ line-height: 1.15;
+ }
+
+ .toc-main
+ {
+ width: 600;
+ text-align: center;
+ margin: 1pc 1pc 1pc 10%;
+ padding: 2pc 1pc 3pc 1pc;
+ line-height: 0.1;
+ }
+
+ .boost-toc
+ {
+ float: right;
+ padding: 0.5pc;
+ }
+
+/*=============================================================================
+ Tables
+=============================================================================*/
+
+ .table-title,
+ div.table p.title
+ {
+ margin-left: 4%;
+ padding-right: 0.5em;
+ padding-left: 0.5em;
+ }
+
+ .informaltable table,
+ .table table
+ {
+ width: 92%;
+ margin-left: 4%;
+ margin-right: 4%;
+ }
+
+ div.informaltable table,
+ div.table table
+ {
+ padding: 4px;
+ }
+
+ /* Table Cells */
+ div.informaltable table tr td,
+ div.table table tr td
+ {
+ padding: 0.5em;
+ text-align: left;
+ }
+
+ div.informaltable table tr th,
+ div.table table tr th
+ {
+ padding: 0.5em 0.5em 0.5em 0.5em;
+ border: 1pt solid white;
+ font-size: 120%;
+ }
+
+/*=============================================================================
+ Blurbs
+=============================================================================*/
+
+ div.note,
+ div.tip,
+ div.important,
+ div.caution,
+ div.warning,
+ p.blurb
+ {
+ font-size: 10pt;
+ line-height: 1.2;
+ display: block;
+ margin: 1pc 4% 0pc 4%;
+ padding: 0.5pc 0.5pc 0.5pc 0.5pc;
+ }
+
+ p.blurb img
+ {
+ padding: 1pt;
+ }
+
+/*=============================================================================
+ Variable Lists
+=============================================================================*/
+
+ span.term
+ {
+ font-weight: bold;
+ font-size: 10pt;
+ }
+
+ div.variablelist table tbody tr td
+ {
+ text-align: left;
+ vertical-align: top;
+ padding: 0em 2em 0em 0em;
+ font-size: 10pt;
+ }
+
+ div.variablelist table tbody tr td p
+ {
+ margin: 0em 0em 0.5em 0em;
+ }
+
+ /* Make the terms in definition lists bold */
+ div.variablelist dl dt
+ {
+ font-weight: bold;
+ font-size: 10pt;
+ }
+
+ div.variablelist dl dd
+ {
+ margin: 1em 0em 1em 2em;
+ font-size: 10pt;
+ }
+
+/*=============================================================================
+ Misc
+=============================================================================*/
+
+ /* Title of books and articles in bibliographies */
+ span.title
+ {
+ font-style: italic;
+ }
+
+ span.underline
+ {
+ text-decoration: underline;
+ }
+
+ span.strikethrough
+ {
+ text-decoration: line-through;
+ }
+
+ /* Copyright, Legal Notice */
+ div div.legalnotice p
+ {
+ font-size: 8pt;
+ text-align: left
+ }
+
+/*=============================================================================
+ Colors
+=============================================================================*/
+
+ @media screen
+ {
+ /* Links */
+ a
+ {
+ color: #0C7445;
+ }
+
+ a:visited
+ {
+ color: #663974;
+ }
+
+ h1 a, h2 a, h3 a, h4 a, h5 a, h6 a,
+ h1 a:hover, h2 a:hover, h3 a:hover, h4 a:hover, h5 a:hover, h6 a:hover,
+ h1 a:visited, h2 a:visited, h3 a:visited, h4 a:visited, h5 a:visited, h6 a:visited
+ {
+ text-decoration: none; /* no underline */
+ color: #000000;
+ }
+
+ /* Syntax Highlighting */
+ .keyword { color: #0000AA; }
+ .identifier { color: #000000; }
+ .special { color: #707070; }
+ .preprocessor { color: #402080; }
+ .char { color: teal; }
+ .comment { color: #800000; }
+ .string { color: teal; }
+ .number { color: teal; }
+ .white_bkd { background-color: #E8FBE9; }
+ .dk_grey_bkd { background-color: #A0DAAC; }
+
+ /* Copyright, Legal Notice */
+ .copyright
+ {
+ color: #666666;
+ font-size: small;
+ }
+
+ div div.legalnotice p
+ {
+ color: #666666;
+ }
+
+ /* Program listing */
+ pre.synopsis
+ {
+ border: 1px solid #DCDCDC;
+ border-bottom: 3px solid #9D9D9D;
+ border-right: 3px solid #9D9D9D;
+ background-color: #FAFFFB;
+ }
+
+ .programlisting,
+ .screen
+ {
+ border: 1px solid #DCDCDC;
+ border-bottom: 3px solid #9D9D9D;
+ border-right: 3px solid #9D9D9D;
+ background-color: #FAFFFB;
+ }
+
+ /* Blurbs */
+ div.note,
+ div.tip,
+ div.important,
+ div.caution,
+ div.warning,
+ p.blurb
+ {
+ border: 1px solid #DCDCDC;
+ border-bottom: 3px solid #9D9D9D;
+ border-right: 3px solid #9D9D9D;
+ background-color: #FAFFFB;
+ }
+
+ /* Table of contents */
+ .toc
+ {
+ border: 1px solid #DCDCDC;
+ border-bottom: 3px solid #9D9D9D;
+ border-right: 3px solid #9D9D9D;
+ background-color: #FAFFFB;
+ }
+
+ /* Table of contents */
+ .toc-main
+ {
+ border: 1px solid #DCDCDC;
+ border-bottom: 3px solid #9D9D9D;
+ border-right: 3px solid #9D9D9D;
+ background-color: #FAFFFB;
+ }
+
+
+ /* Tables */
+ div.informaltable table tr td,
+ div.table table tr td
+ {
+ border: 1px solid #DCDCDC;
+ background-color: #FAFFFB;
+ }
+
+ div.informaltable table tr th,
+ div.table table tr th
+ {
+ background-color: #E3F9E4;
+ border: 1px solid #DCDCDC;
+ }
+
+ /* Misc */
+ span.highlight
+ {
+ color: #00A000;
+ }
+ }
+
+ @media print
+ {
+ /* Links */
+ a
+ {
+ color: black;
+ }
+
+ a:visited
+ {
+ color: black;
+ }
+
+ .spirit-nav
+ {
+ display: none;
+ }
+
+ /* Program listing */
+ pre.synopsis
+ {
+ border: 1px solid gray;
+ background-color: #FAFFFB;
+ }
+
+ .programlisting,
+ .screen
+ {
+ border: 1px solid gray;
+ background-color: #FAFFFB;
+ }
+
+ /* Table of contents */
+ .toc
+ {
+ border: 1px solid #DCDCDC;
+ border-bottom: 3px solid #9D9D9D;
+ border-right: 3px solid #9D9D9D;
+ background-color: #FAFFFB;
+ }
+
+ /* Table of contents */
+ .toc-main
+ {
+ border: 1px solid #DCDCDC;
+ border-bottom: 3px solid #9D9D9D;
+ border-right: 3px solid #9D9D9D;
+ background-color: #FAFFFB;
+ }
+
+ .informaltable table,
+ .table table
+ {
+ border: 1px solid #DCDCDC;
+ border-bottom: 3px solid #9D9D9D;
+ border-right: 3px solid #9D9D9D;
+ border-collapse: collapse;
+ background-color: #FAFFFB;
+ }
+
+ /* Tables */
+ div.informaltable table tr td,
+ div.table table tr td
+ {
+ border: 1px solid #DCDCDC;
+ background-color: #FAFFFB;
+ }
+
+ div.informaltable table tr th,
+ div.table table tr th
+ {
+ border: 1px solid #DCDCDC;
+ background-color: #FAFFFB;
+ }
+
+ /* Misc */
+ span.highlight
+ {
+ font-weight: bold;
+ }
+ }

Added: sandbox/acc_ecdf/libs/accumulators/ecdf/doc/ecdf.qbk
==============================================================================
--- (empty file)
+++ sandbox/acc_ecdf/libs/accumulators/ecdf/doc/ecdf.qbk 2011-06-19 17:08:14 EDT (Sun, 19 Jun 2011)
@@ -0,0 +1,177 @@
+[library ecdf, a tentative extension for Boost.Accumulators
+ [authors [Erwann Rogard],[Eric Niebler]]
+ [copyright 2005 Eric Niebler, 2011 Erwann Rogard]
+ [license
+ Distributed under the Boost Software License, Version 1.0.
+ (See accompanying file LICENSE_1_0.txt or copy at
+ [@http://www.boost.org/LICENSE_1_0.txt])
+ ]
+ [id boost_acc_ecdf]
+]
+
+[/Support]
+
+[def __ER__ [@mailto:erDOTciDOT2020ATgmailDOTcom ER]]
+
+[/Defs]
+
+[/ Links ]
+
+[def _sample_type_ '''<replaceable>sample-type</replaceable>''']
+[def _weight_type_ '''<replaceable>weight-type</replaceable>''']
+[def _variate_type_ '''<replaceable>variate-type</replaceable>''']
+[def _variate_tag_ '''<replaceable>variate-tag</replaceable>''']
+[def _left_or_right_ '''<replaceable>left-or-right</replaceable>''']
+[def _implementation_defined_ '''<replaceable>implementation-defined</replaceable>''']
+[def _boost_ [@http://www.boost.org Boost]]
+[def _mpl_ [@../../libs/mpl/index.html MPL]]
+[def _mpl_lambda_expression_ [@../../libs/mpl/doc/refmanual/lambda-expression.html MPL Lambda Expression]]
+[def _parameter_ [@../../libs/parameter/index.html Boost.Parameter]]
+[def _accumulator_set_ [classref boost::accumulators::accumulator_set `accumulator_set<>`]]
+[def _accumulator_base_ [classref boost::accumulators::accumulator_base `accumulator_base`]]
+[def _depends_on_ [classref boost::accumulators::depends_on `depends_on<>`]]
+[def _feature_of_ [classref boost::accumulators::feature_of `feature_of<>`]]
+[def _as_feature_ [classref boost::accumulators::as_feature `as_feature<>`]]
+[def _features_ [classref boost::accumulators::features `features<>`]]
+[def _external_ [classref boost::accumulators::external `external<>`]]
+[def _droppable_ [classref boost::accumulators::droppable `droppable<>`]]
+[def _droppable_accumulator_ [classref boost::accumulators::droppable_accumulator `droppable_accumulator<>`]]
+[def _extractor_ [classref boost::accumulators::tag::extractor `extractor<>`]]
+[def _tail_ [classref boost::accumulators::tag::tail `tail`]]
+[def _tail_variate_ [classref boost::accumulators::tag::tail_variate `tail_variate<>`]]
+[def _extract_result_ [funcref boost::accumulators::extract_result `extract_result()`]]
+[def _ZKB_ [@http://www.zkb.com Z'''&uuml;'''rcher Kantonalbank]]
+
+[heading Description]
+
+Empirical distribution assuming independent samples. Includes the Kolmogorov-Smirnov statistic and tools to assess convergence of
+a random generator (Boost.Random) to a given distribution (Boost.Math).
+
+[section:ref Reference]
+[section:aux_ aux_]
+
+[section:geometric_series_range `geometric_series_range`]
+[heading Header]
+[@../../../../../boost/accumulators/statistics/ecdf/aux_/geometric_series_range.hpp [^boost/accumulators/statistics/ecdf/aux_/geometric_series_range.hpp]]
+
+[heading Description]
+TODO
+
+[heading Synopsis]
+[import ../../../../boost/accumulators/statistics/ecdf/aux_/geometric_series_range.hpp]
+[syntax_ecdf_aux_geometric_series_range]
+
+[endsect][/geometric_series_range]
+
+[section:incremental_simulator `incremental_simulator`]
+[heading Header]
+[@../../../../../boost/accumulators/statistics/ecdf/aux_/incremental_simulator.hpp [^boost/accumulators/statistics/ecdf/aux_/incremental_simulator.hpp]]
+
+[heading Description]
+TODO
+
+[heading Synopsis]
+[import ../../../../boost/accumulators/statistics/ecdf/aux_/incremental_simulator.hpp]
+[syntax_ecdf_aux_incremental_simulator]
+
+[endsect][/incremental_simulator]
+
+[section:kolmogorov_smirnov_output `kolmogorov_smirnov_output`]
+[heading Header]
+[@../../../../../boost/accumulators/statistics/ecdf/aux_/kolmogorov_smirnov_output.hpp [^boost/accumulators/statistics/ecdf/aux_/kolmogorov_smirnov_output.hpp]]
+
+[heading Description]
+TODO
+
+[heading Synopsis]
+[import ../../../../boost/accumulators/statistics/ecdf/aux_/kolmogorov_smirnov_output.hpp]
+[syntax_ecdf_aux_kolmogorov_smirnov_output]
+
+[endsect][/kolmogorov_smirnov_output]
+
+[section:kolmogorov_smirnov_simulator `kolmogorov_smirnov_simulator`]
+[heading Header]
+[@../../../../../boost/accumulators/statistics/ecdf/aux_/kolmogorov_smirnov_simulator.hpp [^boost/accumulators/statistics/ecdf/aux_/kolmogorov_smirnov_simulator.hpp]]
+
+[heading Description]
+TODO
+
+[heading Synopsis]
+[import ../../../../boost/accumulators/statistics/ecdf/aux_/kolmogorov_smirnov_simulator.hpp]
+[syntax_ecdf_aux_kolmogorov_smirnov_simulator]
+
+[endsect][/kolmogorov_smirnov_simulator]
+
+[endsect][/aux_]
+[section:cdf `cdf`]
+[heading Header]
+[@../../../../../boost/accumulators/statistics/ecdf/cdf.hpp [^boost/accumulators/statistics/ecdf/cdf.hpp]]
+
+[heading Description]
+TODO
+
+[heading Synopsis]
+[import ../../../../boost/accumulators/statistics/ecdf/cdf.hpp]
+[syntax_ecdf_cdf]
+[endsect][/cdf]
+
+[section:count `count`]
+[heading Header]
+[@../../../../../boost/accumulators/statistics/ecdf/count.hpp [^boost/accumulators/statistics/ecdf/count.hpp]]
+
+[heading Description]
+TODO
+
+[heading Synopsis]
+[import ../../../../boost/accumulators/statistics/ecdf/count.hpp]
+[syntax_ecdf_count]
+[endsect][/count]
+
+[section:cumulative_count `cumulative_count`]
+[heading Header]
+[@../../../../../boost/accumulators/statistics/ecdf/cumulative_count.hpp [^boost/accumulators/statistics/ecdf/cumulative_count.hpp]]
+
+[heading Description]
+TODO
+
+[heading Synopsis]
+[import ../../../../boost/accumulators/statistics/ecdf/cumulative_count.hpp]
+[syntax_ecdf_cumulative_count]
+[endsect][/cumulative_count]
+
+[section:kolmogorov_smirnov_statistic `kolmogorov_smirnov_statistic`]
+[heading Header]
+[@../../../../../boost/accumulators/statistics/ecdf/kolmogorov_smirnov_statistic.hpp [^boost/accumulators/statistics/ecdf/kolmogorov_smirnov_statistic.hpp]]
+
+[heading Description]
+TODO
+
+[heading Synopsis]
+[import ../../../../boost/accumulators/statistics/ecdf/kolmogorov_smirnov_statistic.hpp]
+[syntax_ecdf_kolmogorov_smirnov_statistic]
+[endsect][/kolmogorov_smirnov_statistic]
+
+[section:pdf `pdf`]
+[heading Header]
+[@../../../../../boost/accumulators/statistics/ecdf/pdf.hpp [^boost/accumulators/statistics/ecdf/pdf.hpp]]
+
+[heading Description]
+TODO
+
+[heading Synopsis]
+[import ../../../../boost/accumulators/statistics/ecdf/pdf.hpp]
+[syntax_ecdf_pdf]
+[endsect][/pdf]
+
+[endsect][/ref]
+[section:ex Examples]
+[*Example 1]
+[import ../test/ecdf.cpp]
+[test_ecdf]
+[*Example 2]
+[import ../test/ks_sim.cpp]
+[test_ks_sim]
+[endsect][/ex]
+
+[section:port Portability]
+[endsect][/port]

Added: sandbox/acc_ecdf/libs/accumulators/ecdf/doc/html/boost_acc_ecdf/ex.html
==============================================================================
--- (empty file)
+++ sandbox/acc_ecdf/libs/accumulators/ecdf/doc/html/boost_acc_ecdf/ex.html 2011-06-19 17:08:14 EDT (Sun, 19 Jun 2011)
@@ -0,0 +1,214 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Examples</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="Chapter&#160;1.&#160;ecdf, a tentative extension for Boost.Accumulators">
+<link rel="up" href="../index.html" title="Chapter&#160;1.&#160;ecdf, a tentative extension for Boost.Accumulators">
+<link rel="prev" href="../index.html" title="Chapter&#160;1.&#160;ecdf, a tentative extension for Boost.Accumulators">
+<link rel="next" href="port.html" title="Portability">
+</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">Home</td>
+<td align="center">Libraries</td>
+<td align="center">People</td>
+<td align="center">FAQ</td>
+<td align="center">More</td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../index.html"><img src="../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="port.html"><img src="../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="boost_acc_ecdf.ex"></a>Examples</h2></div></div></div>
+<p>
+ <span class="bold"><strong>Example 1</strong></span>
+ </p>
+<p>
+
+</p>
+<pre class="programlisting"><span class="keyword">typedef</span> <span class="keyword">int</span> <span class="identifier">sample_</span><span class="special">;</span> <span class="comment">// sample_ x = 1;
+</span><span class="keyword">typedef</span> <span class="keyword">double</span> <span class="identifier">val_</span><span class="special">;</span> <span class="comment">// val_ p = pdf( dist, x );
+</span><span class="keyword">typedef</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">vector</span><span class="special">&lt;</span><span class="identifier">sample_</span><span class="special">&gt;</span> <span class="identifier">samples_</span><span class="special">;</span>
+
+<span class="keyword">namespace</span> <span class="identifier">acc</span> <span class="special">=</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">accumulators</span><span class="special">;</span>
+<span class="keyword">namespace</span> <span class="identifier">num</span> <span class="special">=</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">numeric</span><span class="special">;</span>
+
+<span class="identifier">samples_</span> <span class="identifier">samples</span><span class="special">;</span>
+<span class="keyword">const</span> <span class="keyword">int</span> <span class="identifier">n</span> <span class="special">=</span> <span class="number">3</span><span class="special">;</span>
+<span class="keyword">for</span><span class="special">(</span><span class="keyword">int</span> <span class="identifier">i</span> <span class="special">=</span> <span class="number">0</span><span class="special">;</span> <span class="identifier">i</span> <span class="special">&lt;</span> <span class="identifier">n</span><span class="special">;</span> <span class="identifier">i</span><span class="special">++)</span>
+<span class="special">{</span>
+ <span class="keyword">for</span><span class="special">(</span><span class="keyword">int</span> <span class="identifier">j</span> <span class="special">=</span> <span class="identifier">i</span><span class="special">;</span> <span class="identifier">j</span> <span class="special">&lt;</span> <span class="identifier">n</span><span class="special">;</span> <span class="identifier">j</span><span class="special">++)</span>
+ <span class="special">{</span>
+ <span class="identifier">samples</span><span class="special">.</span><span class="identifier">push_back</span><span class="special">(</span> <span class="identifier">n</span><span class="special">-</span><span class="identifier">i</span> <span class="special">);</span>
+ <span class="special">}</span>
+<span class="special">}//</span> <span class="number">3</span><span class="special">,</span> <span class="number">3</span><span class="special">,</span> <span class="number">3</span><span class="special">,</span> <span class="number">2</span><span class="special">,</span> <span class="number">2</span><span class="special">,</span> <span class="number">1</span>
+
+<span class="keyword">namespace</span> <span class="identifier">ecdf</span> <span class="special">=</span> <span class="identifier">acc</span><span class="special">::</span><span class="identifier">ecdf</span><span class="special">;</span>
+<span class="keyword">typedef</span> <span class="identifier">ecdf</span><span class="special">::</span><span class="identifier">tag</span><span class="special">::</span><span class="identifier">cdf</span><span class="special">&lt;</span><span class="identifier">val_</span><span class="special">&gt;</span> <span class="identifier">tag_cdf_</span><span class="special">;</span>
+<span class="keyword">typedef</span> <span class="identifier">ecdf</span><span class="special">::</span><span class="identifier">tag</span><span class="special">::</span><span class="identifier">count</span> <span class="identifier">tag_pdf_</span><span class="special">;</span>
+<span class="keyword">typedef</span> <span class="identifier">acc</span><span class="special">::</span><span class="identifier">accumulator_set</span><span class="special">&lt;</span>
+ <span class="identifier">sample_</span><span class="special">,</span>
+ <span class="identifier">acc</span><span class="special">::</span><span class="identifier">stats</span><span class="special">&lt;</span><span class="identifier">tag_pdf_</span><span class="special">,</span> <span class="identifier">tag_cdf_</span><span class="special">&gt;</span>
+<span class="special">&gt;</span> <span class="identifier">set_</span><span class="special">;</span>
+
+<span class="identifier">set_</span> <span class="identifier">set</span> <span class="special">=</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">for_each</span><span class="special">(</span>
+ <span class="identifier">samples</span><span class="special">,</span>
+ <span class="identifier">set_</span><span class="special">()</span>
+<span class="special">);</span>
+
+<span class="keyword">long</span> <span class="identifier">sum</span> <span class="special">=</span> <span class="number">0</span><span class="special">;</span>
+<span class="identifier">val_</span> <span class="identifier">cum_freq</span><span class="special">;</span>
+<span class="keyword">for</span><span class="special">(</span><span class="keyword">int</span> <span class="identifier">i</span> <span class="special">=</span> <span class="number">0</span><span class="special">;</span> <span class="identifier">i</span> <span class="special">&lt;</span> <span class="identifier">n</span><span class="special">;</span> <span class="identifier">i</span><span class="special">++)</span>
+<span class="special">{</span>
+
+ <span class="keyword">typedef</span> <span class="identifier">num</span><span class="special">::</span><span class="identifier">converter</span><span class="special">&lt;</span><span class="keyword">int</span><span class="special">,</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span><span class="special">&gt;</span> <span class="identifier">converter_</span><span class="special">;</span>
+ <span class="identifier">BOOST_ACCUMULATORS_ECDF_CHECK</span><span class="special">(</span>
+ <span class="special">(</span>
+ <span class="identifier">converter_</span><span class="special">::</span><span class="identifier">convert</span><span class="special">(</span>
+ <span class="identifier">ecdf</span><span class="special">::</span><span class="identifier">extract</span><span class="special">::</span><span class="identifier">count</span><span class="special">(</span> <span class="identifier">set</span> <span class="special">,</span> <span class="identifier">i</span><span class="special">+</span><span class="number">1</span> <span class="special">)</span>
+ <span class="special">)</span> <span class="special">==</span> <span class="identifier">i</span><span class="special">+</span><span class="number">1</span>
+ <span class="special">)</span>
+ <span class="special">);</span>
+
+ <span class="identifier">sum</span> <span class="special">+=</span> <span class="identifier">i</span><span class="special">+</span><span class="number">1</span><span class="special">;</span>
+ <span class="identifier">BOOST_ACCUMULATORS_ECDF_CHECK</span><span class="special">(</span>
+ <span class="special">(</span>
+ <span class="identifier">converter_</span><span class="special">::</span><span class="identifier">convert</span><span class="special">(</span>
+ <span class="identifier">ecdf</span><span class="special">::</span><span class="identifier">extract</span><span class="special">::</span><span class="identifier">cumulative_count</span><span class="special">(</span> <span class="identifier">set</span><span class="special">,</span> <span class="identifier">i</span><span class="special">+</span><span class="number">1</span> <span class="special">)</span>
+ <span class="special">)</span> <span class="special">==</span> <span class="identifier">sum</span>
+ <span class="special">)</span>
+ <span class="special">);</span>
+
+ <span class="identifier">cum_freq</span> <span class="special">=</span> <span class="identifier">ecdf</span><span class="special">::</span><span class="identifier">extract</span><span class="special">::</span><span class="identifier">cdf</span><span class="special">&lt;</span><span class="identifier">val_</span><span class="special">&gt;(</span> <span class="identifier">set</span><span class="special">,</span> <span class="identifier">i</span><span class="special">+</span><span class="number">1</span> <span class="special">);</span>
+
+<span class="special">}</span>
+
+<span class="identifier">val_</span> <span class="identifier">one</span> <span class="special">=</span> <span class="number">1.0</span><span class="special">;</span>
+<span class="keyword">typedef</span> <span class="identifier">num</span><span class="special">::</span><span class="identifier">bounds</span><span class="special">&lt;</span><span class="identifier">val_</span><span class="special">&gt;</span> <span class="identifier">bounds_</span><span class="special">;</span>
+<span class="identifier">val_</span> <span class="identifier">eps</span> <span class="special">=</span> <span class="identifier">bounds_</span><span class="special">::</span><span class="identifier">smallest</span><span class="special">();</span>
+<span class="identifier">BOOST_ACCUMULATORS_ECDF_CHECK</span><span class="special">(</span> <span class="identifier">fabs</span><span class="special">(</span><span class="identifier">cum_freq</span> <span class="special">-</span> <span class="identifier">one</span><span class="special">)</span> <span class="special">&lt;</span> <span class="identifier">eps</span> <span class="special">);</span>
+</pre>
+<p>
+ </p>
+<p>
+ <span class="bold"><strong>Example 2</strong></span>
+ </p>
+<p>
+
+</p>
+<pre class="programlisting"> <span class="keyword">const</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="identifier">str</span> <span class="special">=</span> <span class="string">"sample size vs kolmogorov smirnov statisic:"</span><span class="special">;</span>
+
+ <span class="comment">// A series of Kolmogorov-Smirnov statistics, computed over an iid
+</span> <span class="comment">// sample of increasing size (n). The reference distribution is that of
+</span> <span class="comment">// the random generator, so the series is expected to converge to zero.
+</span> <span class="comment">// Warning : numeric error may dominate for large n.
+</span>
+ <span class="keyword">namespace</span> <span class="identifier">acc</span> <span class="special">=</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">accumulators</span><span class="special">;</span>
+ <span class="keyword">namespace</span> <span class="identifier">ecdf</span> <span class="special">=</span> <span class="identifier">acc</span><span class="special">::</span><span class="identifier">ecdf</span><span class="special">;</span>
+ <span class="keyword">namespace</span> <span class="identifier">aux_</span> <span class="special">=</span> <span class="identifier">ecdf</span><span class="special">::</span><span class="identifier">aux_</span><span class="special">;</span>
+ <span class="keyword">typedef</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">mt19937</span> <span class="identifier">urng_</span><span class="special">;</span>
+
+ <span class="identifier">urng_</span> <span class="identifier">urng</span><span class="special">;</span>
+
+ <span class="special">{</span>
+ <span class="keyword">typedef</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">poisson_distribution</span><span class="special">&lt;&gt;</span> <span class="identifier">dist_</span><span class="special">;</span>
+ <span class="keyword">typedef</span> <span class="identifier">dist_</span><span class="special">::</span><span class="identifier">value_type</span> <span class="identifier">val_</span><span class="special">;</span>
+ <span class="keyword">typedef</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">poisson_distribution</span><span class="special">&lt;&gt;</span> <span class="identifier">random_</span><span class="special">;</span>
+ <span class="keyword">typedef</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">variate_generator</span><span class="special">&lt;</span><span class="identifier">urng_</span><span class="special">&amp;,</span><span class="identifier">random_</span><span class="special">&gt;</span> <span class="identifier">vg_</span><span class="special">;</span>
+ <span class="identifier">dist_</span> <span class="identifier">dist</span><span class="special">(</span> <span class="identifier">mean</span> <span class="special">);</span>
+ <span class="identifier">vg_</span> <span class="identifier">vg</span><span class="special">(</span> <span class="identifier">urng</span><span class="special">,</span> <span class="identifier">random_</span><span class="special">(</span><span class="identifier">mean</span><span class="special">)</span> <span class="special">);</span>
+
+ <span class="identifier">os</span> <span class="special">&lt;&lt;</span> <span class="string">"poisson("</span> <span class="special">&lt;&lt;</span> <span class="identifier">mean</span> <span class="special">&lt;&lt;</span> <span class="char">')'</span> <span class="special">&lt;&lt;</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">transform</span><span class="special">(</span>
+ <span class="identifier">aux_</span><span class="special">::</span><span class="identifier">geometric_series_range</span><span class="special">(</span><span class="identifier">n</span><span class="special">,</span> <span class="identifier">factor</span><span class="special">,</span> <span class="identifier">size</span><span class="special">),</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">ostream_iterator</span><span class="special">&lt;</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">format</span><span class="special">&gt;(</span> <span class="identifier">os</span><span class="special">,</span> <span class="string">"\n"</span> <span class="special">),</span>
+ <span class="identifier">aux_</span><span class="special">::</span><span class="identifier">kolmogorov_smirnov_simulator</span><span class="special">(</span> <span class="identifier">vg</span><span class="special">,</span> <span class="identifier">dist</span> <span class="special">)</span>
+ <span class="special">);</span>
+ <span class="identifier">os</span> <span class="special">&lt;&lt;</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span>
+<span class="comment">/* ouputs:
+poison(1)
+(1, 0.0803014)
+(3, 0.0803014)
+(7, 0.0821652)
+(15, 0.0987872)
+(31, 0.21963)
+(63, 0.148457)
+(127, 0.0979636)
+(255, 0.0612491)
+(511, 0.0136454)
+(1023, 0.00715412)
+(2047, 0.00534967)
+(4095, 0.00548628)
+(8191, 0.00858265)
+(16383, 0.00287263)
+(32767, 0.00364357)
+(65535, 0.00236578)
+(131071, 0.00147762)
+(262143, 0.000797197)
+(524287, 0.0005051)
+(1048575, 0.000203309)*/</span>
+
+ <span class="special">}</span>
+ <span class="special">{</span>
+ <span class="keyword">typedef</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">math</span><span class="special">::</span><span class="identifier">normal_distribution</span><span class="special">&lt;&gt;</span> <span class="identifier">dist_</span><span class="special">;</span>
+ <span class="keyword">typedef</span> <span class="identifier">dist_</span><span class="special">::</span><span class="identifier">value_type</span> <span class="identifier">val_</span><span class="special">;</span>
+ <span class="keyword">typedef</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">normal_distribution</span><span class="special">&lt;&gt;</span> <span class="identifier">random_</span><span class="special">;</span>
+ <span class="keyword">typedef</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">variate_generator</span><span class="special">&lt;</span><span class="identifier">urng_</span><span class="special">&amp;,</span> <span class="identifier">random_</span><span class="special">&gt;</span> <span class="identifier">vg_</span><span class="special">;</span>
+ <span class="keyword">const</span> <span class="identifier">val_</span> <span class="identifier">sd</span> <span class="special">=</span> <span class="number">1.0</span><span class="special">;</span>
+ <span class="identifier">dist_</span> <span class="identifier">dist</span><span class="special">(</span> <span class="identifier">mean</span><span class="special">,</span> <span class="identifier">sd</span> <span class="special">);</span>
+ <span class="identifier">vg_</span> <span class="identifier">vg</span><span class="special">(</span> <span class="identifier">urng</span><span class="special">,</span> <span class="identifier">random_</span><span class="special">(</span><span class="identifier">mean</span><span class="special">)</span> <span class="special">);</span>
+
+ <span class="identifier">os</span> <span class="special">&lt;&lt;</span> <span class="string">"normal("</span> <span class="special">&lt;&lt;</span> <span class="identifier">mean</span> <span class="special">&lt;&lt;</span> <span class="char">','</span> <span class="special">&lt;&lt;</span> <span class="identifier">sd</span> <span class="special">&lt;&lt;</span> <span class="char">')'</span> <span class="special">&lt;&lt;</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span>
+ <span class="identifier">boost</span><span class="special">::</span><span class="identifier">transform</span><span class="special">(</span>
+ <span class="identifier">aux_</span><span class="special">::</span><span class="identifier">geometric_series_range</span><span class="special">(</span><span class="identifier">n</span><span class="special">,</span> <span class="identifier">factor</span><span class="special">,</span> <span class="identifier">size</span><span class="special">),</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">ostream_iterator</span><span class="special">&lt;</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">format</span><span class="special">&gt;(</span> <span class="identifier">os</span><span class="special">,</span> <span class="string">"\n"</span> <span class="special">),</span>
+ <span class="identifier">aux_</span><span class="special">::</span><span class="identifier">kolmogorov_smirnov_simulator</span><span class="special">(</span> <span class="identifier">vg</span><span class="special">,</span> <span class="identifier">dist</span> <span class="special">)</span>
+ <span class="special">);</span>
+ <span class="identifier">os</span> <span class="special">&lt;&lt;</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span>
+<span class="comment">/*
+normal(1,1)
+(1, 0.514901)
+(3, 0.23449)
+(7, 0.177523)
+(15, 0.106794)
+(31, 0.119698)
+(63, 0.0900238)
+(127, 0.0938422)
+(255, 0.045615)
+(511, 0.0375595)
+(1023, 0.0395167)
+(2047, 0.0223799)
+(4095, 0.0199377)
+(8191, 0.00428302)
+(16383, 0.00567374)
+(32767, 0.00345214)
+(65535, 0.00413189)
+(131071, 0.00339832)
+(262143, 0.00155582)
+(524287, 0.00121594)
+(1048575, 0.000613453)
+*/</span>
+ <span class="special">}</span>
+</pre>
+<p>
+ </p>
+</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 &#169; 2005 Eric Niebler, 2011 Erwann Rogard<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at [@http://www.boost.org/LICENSE_1_0.txt])
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../index.html"><img src="../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="port.html"><img src="../../../doc/src/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: sandbox/acc_ecdf/libs/accumulators/ecdf/doc/html/boost_acc_ecdf/port.html
==============================================================================
--- (empty file)
+++ sandbox/acc_ecdf/libs/accumulators/ecdf/doc/html/boost_acc_ecdf/port.html 2011-06-19 17:08:14 EDT (Sun, 19 Jun 2011)
@@ -0,0 +1,39 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Portability</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="Chapter&#160;1.&#160;ecdf, a tentative extension for Boost.Accumulators">
+<link rel="up" href="../index.html" title="Chapter&#160;1.&#160;ecdf, a tentative extension for Boost.Accumulators">
+<link rel="prev" href="ex.html" title="Examples">
+</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">Home</td>
+<td align="center">Libraries</td>
+<td align="center">People</td>
+<td align="center">FAQ</td>
+<td align="center">More</td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="ex.html"><img src="../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../doc/src/images/home.png" alt="Home"></a>
+</div>
+<div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="boost_acc_ecdf.port"></a>Portability</h2></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 &#169; 2005 Eric Niebler, 2011 Erwann Rogard<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at [@http://www.boost.org/LICENSE_1_0.txt])
+ </p>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="ex.html"><img src="../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../doc/src/images/home.png" alt="Home"></a>
+</div>
+</body>
+</html>

Added: sandbox/acc_ecdf/libs/accumulators/ecdf/doc/html/ecdf_HTML.manifest
==============================================================================
--- (empty file)
+++ sandbox/acc_ecdf/libs/accumulators/ecdf/doc/html/ecdf_HTML.manifest 2011-06-19 17:08:14 EDT (Sun, 19 Jun 2011)
@@ -0,0 +1,3 @@
+index.html
+boost_acc_ecdf/ex.html
+boost_acc_ecdf/port.html

Added: sandbox/acc_ecdf/libs/accumulators/ecdf/doc/html/index.html
==============================================================================
--- (empty file)
+++ sandbox/acc_ecdf/libs/accumulators/ecdf/doc/html/index.html 2011-06-19 17:08:14 EDT (Sun, 19 Jun 2011)
@@ -0,0 +1,622 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Chapter&#160;1.&#160;ecdf, a tentative extension for Boost.Accumulators</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="Chapter&#160;1.&#160;ecdf, a tentative extension for Boost.Accumulators">
+<link rel="next" href="boost_acc_ecdf/ex.html" title="Examples">
+</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">Home</td>
+<td align="center">Libraries</td>
+<td align="center">People</td>
+<td align="center">FAQ</td>
+<td align="center">More</td>
+</tr></table>
+<hr>
+<div class="spirit-nav"><a accesskey="n" href="boost_acc_ecdf/ex.html"><img src="../../doc/src/images/next.png" alt="Next"></a></div>
+<div class="chapter">
+<div class="titlepage"><div>
+<div><h2 class="title">
+<a name="boost_acc_ecdf"></a>Chapter&#160;1.&#160;ecdf, a tentative extension for Boost.Accumulators</h2></div>
+<div><div class="author"><h3 class="author">
+<span class="firstname">[Eric Niebler</span> <span class="surname">Erwann Rogard]</span>
+</h3></div></div>
+<div><p class="copyright">Copyright &#169; 2005 Eric Niebler, 2011 Erwann Rogard</p></div>
+<div><div class="legalnotice">
+<a name="id36330851"></a><p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at [@http://www.boost.org/LICENSE_1_0.txt])
+ </p>
+</div></div>
+</div></div>
+<div class="toc">
+<p><b>Table of Contents</b></p>
+<dl>
+<dt><span class="section">Reference</span></dt>
+<dd><dl>
+<dt><span class="section">aux_</span></dt>
+<dd><dl>
+<dt><span class="section">geometric_series_range</span></dt>
+<dt><span class="section">incremental_simulator</span></dt>
+<dt><span class="section">kolmogorov_smirnov_output</span></dt>
+<dt><span class="section">kolmogorov_smirnov_simulator</span></dt>
+</dl></dd>
+<dt><span class="section">cdf</span></dt>
+<dt><span class="section">count</span></dt>
+<dt><span class="section">cumulative_count</span></dt>
+<dt><span class="section">kolmogorov_smirnov_statistic</span></dt>
+<dt><span class="section">pdf</span></dt>
+</dl></dd>
+<dt><span class="section">Examples</span></dt>
+<dt><span class="section">Portability</span></dt>
+</dl>
+</div>
+<a name="boost_acc_ecdf.description"></a><h3>
+<a name="id36330866"></a>
+ <a class="link" href="index.html#boost_acc_ecdf.description">Description</a>
+ </h3>
+<p>
+ Empirical distribution assuming independent samples. Includes the Kolmogorov-Smirnov
+ statistic and tools to assess convergence of a random generator (Boost.Random)
+ to a given distribution (Boost.Math).
+ </p>
+<div class="section">
+<div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<a name="boost_acc_ecdf.ref"></a>Reference</h2></div></div></div>
+<div class="toc"><dl>
+<dt><span class="section">aux_</span></dt>
+<dd><dl>
+<dt><span class="section">geometric_series_range</span></dt>
+<dt><span class="section">incremental_simulator</span></dt>
+<dt><span class="section">kolmogorov_smirnov_output</span></dt>
+<dt><span class="section">kolmogorov_smirnov_simulator</span></dt>
+</dl></dd>
+<dt><span class="section">cdf</span></dt>
+<dt><span class="section">count</span></dt>
+<dt><span class="section">cumulative_count</span></dt>
+<dt><span class="section">kolmogorov_smirnov_statistic</span></dt>
+<dt><span class="section">pdf</span></dt>
+</dl></div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="boost_acc_ecdf.aux_"></a>aux_</h3></div></div></div>
+<div class="toc"><dl>
+<dt><span class="section">geometric_series_range</span></dt>
+<dt><span class="section">incremental_simulator</span></dt>
+<dt><span class="section">kolmogorov_smirnov_output</span></dt>
+<dt><span class="section">kolmogorov_smirnov_simulator</span></dt>
+</dl></div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_acc_ecdf.geometric_series_range"></a><code class="computeroutput"><span class="identifier">geometric_series_range</span></code>
+</h4></div></div></div>
+<a name="boost_acc_ecdf.ref.aux_.geometric_series_range.header"></a><h6>
+<a name="id36330907"></a>
+ <a class="link" href="index.html#boost_acc_ecdf.ref.aux_.geometric_series_range.header">Header</a>
+ </h6>
+<p>
+ boost/accumulators/statistics/ecdf/aux_/geometric_series_range.hpp
+ </p>
+<a name="boost_acc_ecdf.ref.aux_.geometric_series_range.description"></a><h6>
+<a name="id36330936"></a>
+ <a class="link" href="index.html#boost_acc_ecdf.ref.aux_.geometric_series_range.description">Description</a>
+ </h6>
+<p>
+ TODO
+ </p>
+<a name="boost_acc_ecdf.ref.aux_.geometric_series_range.synopsis"></a><h6>
+<a name="id36330956"></a>
+ <a class="link" href="index.html#boost_acc_ecdf.ref.aux_.geometric_series_range.synopsis">Synopsis</a>
+ </h6>
+<p>
+
+</p>
+<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">accumulators</span><span class="special">{</span>
+<span class="keyword">namespace</span> <span class="identifier">ecdf</span><span class="special">{</span>
+<span class="keyword">namespace</span> <span class="identifier">aux_</span><span class="special">{</span>
+
+ <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">N</span> <span class="special">=</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span><span class="special">&gt;</span>
+ <span class="keyword">struct</span> <span class="identifier">geometric_series</span>
+ <span class="special">{</span>
+
+ <span class="identifier">geometric_series</span><span class="special">();</span>
+
+ <span class="identifier">geometric_series</span><span class="special">(</span><span class="identifier">N</span> <span class="identifier">n</span><span class="special">,</span> <span class="identifier">N</span> <span class="identifier">factor</span><span class="special">);</span>
+
+ <span class="keyword">typedef</span> <span class="identifier">N</span> <span class="identifier">result_type</span><span class="special">;</span>
+
+ <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span>
+ <span class="identifier">N</span> <span class="keyword">operator</span><span class="special">()(</span><span class="identifier">T</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">anything</span><span class="special">)</span><span class="keyword">const</span><span class="special">;</span>
+
+ <span class="identifier">N</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">n</span><span class="special">()</span><span class="keyword">const</span><span class="special">;</span>
+ <span class="identifier">N</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">factor</span><span class="special">()</span><span class="keyword">const</span><span class="special">;</span>
+
+ <span class="special">};</span>
+
+<span class="keyword">namespace</span> <span class="identifier">result_of</span>
+<span class="special">{</span>
+
+ <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">N</span><span class="special">&gt;</span>
+ <span class="keyword">struct</span> <span class="identifier">geometric_series_iterator</span><span class="special">;</span>
+
+ <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">N</span><span class="special">&gt;</span>
+ <span class="keyword">struct</span> <span class="identifier">geometric_series_range</span><span class="special">;</span>
+
+<span class="special">}//</span> <span class="identifier">result_of</span>
+
+ <span class="comment">// n *= factor at each of size iterations
+</span> <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">N</span><span class="special">&gt;</span>
+ <span class="keyword">typename</span> <span class="identifier">result_of</span><span class="special">::</span><span class="identifier">geometric_series_range</span><span class="special">&lt;</span><span class="identifier">N</span><span class="special">&gt;::</span><span class="identifier">type</span>
+ <span class="identifier">geometric_series_range</span><span class="special">(</span><span class="identifier">N</span> <span class="identifier">n</span><span class="special">,</span> <span class="identifier">N</span> <span class="identifier">factor</span><span class="special">,</span> <span class="identifier">N</span> <span class="identifier">size</span><span class="special">);</span>
+
+<span class="special">}//</span> <span class="identifier">aux_</span>
+<span class="special">}//</span> <span class="identifier">ecdf</span>
+<span class="special">}//</span> <span class="identifier">accumulators</span>
+</pre>
+<p>
+ </p>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_acc_ecdf.incremental_simulator"></a><code class="computeroutput"><span class="identifier">incremental_simulator</span></code>
+</h4></div></div></div>
+<a name="boost_acc_ecdf.ref.aux_.incremental_simulator.header"></a><h6>
+<a name="id36331529"></a>
+ <a class="link" href="index.html#boost_acc_ecdf.ref.aux_.incremental_simulator.header">Header</a>
+ </h6>
+<p>
+ boost/accumulators/statistics/ecdf/aux_/incremental_simulator.hpp
+ </p>
+<a name="boost_acc_ecdf.ref.aux_.incremental_simulator.description"></a><h6>
+<a name="id36331558"></a>
+ <a class="link" href="index.html#boost_acc_ecdf.ref.aux_.incremental_simulator.description">Description</a>
+ </h6>
+<p>
+ TODO
+ </p>
+<a name="boost_acc_ecdf.ref.aux_.incremental_simulator.synopsis"></a><h6>
+<a name="id36331578"></a>
+ <a class="link" href="index.html#boost_acc_ecdf.ref.aux_.incremental_simulator.synopsis">Synopsis</a>
+ </h6>
+<p>
+
+</p>
+<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">accumulators</span><span class="special">{</span>
+<span class="keyword">namespace</span> <span class="identifier">ecdf</span><span class="special">{</span>
+<span class="keyword">namespace</span> <span class="identifier">aux_</span><span class="special">{</span>
+
+ <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">Gen</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">AccSet</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">Fun</span><span class="special">&gt;</span>
+ <span class="keyword">class</span> <span class="identifier">incremental_simulator</span>
+ <span class="special">{</span>
+ <span class="keyword">public</span><span class="special">:</span>
+
+ <span class="identifier">incremental_simulator</span><span class="special">(</span><span class="identifier">Gen</span> <span class="identifier">gen</span><span class="special">,</span> <span class="identifier">AccSet</span> <span class="identifier">acc</span><span class="special">,</span> <span class="identifier">Fun</span> <span class="identifier">f</span><span class="special">);</span>
+
+ <span class="keyword">typedef</span> <span class="keyword">typename</span> <span class="identifier">Fun</span><span class="special">::</span><span class="identifier">result_type</span> <span class="identifier">result_type</span><span class="special">;</span>
+
+ <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">N</span><span class="special">&gt;</span>
+ <span class="identifier">result_type</span> <span class="keyword">operator</span><span class="special">()(</span><span class="identifier">N</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">n</span><span class="special">)</span><span class="keyword">const</span><span class="special">;</span>
+
+ <span class="identifier">Gen</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">gen</span><span class="special">()</span><span class="keyword">const</span><span class="special">;</span>
+ <span class="identifier">AccSet</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">accumulator</span><span class="special">()</span><span class="keyword">const</span><span class="special">;</span>
+ <span class="identifier">Fun</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">fun</span><span class="special">()</span><span class="keyword">const</span><span class="special">;</span>
+
+ <span class="special">};</span>
+
+<span class="special">}//</span> <span class="identifier">aux_</span>
+<span class="special">}//</span> <span class="identifier">ecdf</span>
+<span class="special">}//</span> <span class="identifier">accumulators</span>
+</pre>
+<p>
+ </p>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_acc_ecdf.kolmogorov_smirnov_output"></a><code class="computeroutput"><span class="identifier">kolmogorov_smirnov_output</span></code>
+</h4></div></div></div>
+<a name="boost_acc_ecdf.ref.aux_.kolmogorov_smirnov_output.header"></a><h6>
+<a name="id36332011"></a>
+ <a class="link" href="index.html#boost_acc_ecdf.ref.aux_.kolmogorov_smirnov_output.header">Header</a>
+ </h6>
+<p>
+ boost/accumulators/statistics/ecdf/aux_/kolmogorov_smirnov_output.hpp
+ </p>
+<a name="boost_acc_ecdf.ref.aux_.kolmogorov_smirnov_output.description"></a><h6>
+<a name="id36332040"></a>
+ <a class="link" href="index.html#boost_acc_ecdf.ref.aux_.kolmogorov_smirnov_output.description">Description</a>
+ </h6>
+<p>
+ TODO
+ </p>
+<a name="boost_acc_ecdf.ref.aux_.kolmogorov_smirnov_output.synopsis"></a><h6>
+<a name="id36332059"></a>
+ <a class="link" href="index.html#boost_acc_ecdf.ref.aux_.kolmogorov_smirnov_output.synopsis">Synopsis</a>
+ </h6>
+<p>
+
+</p>
+<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">accumulators</span><span class="special">{</span>
+<span class="keyword">namespace</span> <span class="identifier">ecdf</span><span class="special">{</span>
+<span class="keyword">namespace</span> <span class="identifier">aux_</span><span class="special">{</span>
+
+ <span class="comment">// Template parameters:
+</span> <span class="comment">// D distribution
+</span> <span class="comment">// T value-type
+</span> <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">D</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">T</span> <span class="special">=</span> <span class="keyword">typename</span> <span class="identifier">D</span><span class="special">::</span><span class="identifier">value_type</span><span class="special">&gt;</span>
+ <span class="keyword">class</span> <span class="identifier">kolmogorov_smirnov_output</span>
+ <span class="special">{</span>
+ <span class="keyword">public</span><span class="special">:</span>
+
+ <span class="keyword">typedef</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">format</span> <span class="identifier">result_type</span><span class="special">;</span>
+ <span class="keyword">typedef</span> <span class="identifier">T</span> <span class="identifier">value_type</span><span class="special">;</span>
+
+ <span class="identifier">kolmogorov_smirnov_output</span><span class="special">(</span>
+ <span class="identifier">D</span> <span class="identifier">dist</span>
+ <span class="special">,</span> <span class="identifier">result_type</span> <span class="identifier">custom_format</span> <span class="special">=</span> <span class="identifier">result_type</span><span class="special">(</span> <span class="string">"(%1%, %2%)"</span> <span class="special">)</span>
+ <span class="special">,</span> <span class="identifier">value_type</span> <span class="identifier">old_stat</span> <span class="special">=</span> <span class="identifier">bounds_</span><span class="special">::</span><span class="identifier">highest</span><span class="special">()</span>
+ <span class="special">);</span>
+
+ <span class="identifier">result_type</span> <span class="identifier">heading</span><span class="special">()</span><span class="keyword">const</span><span class="special">;</span>
+
+
+ <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">AccSet</span><span class="special">&gt;</span>
+ <span class="identifier">result_type</span> <span class="keyword">operator</span><span class="special">()(</span> <span class="keyword">const</span> <span class="identifier">AccSet</span><span class="special">&amp;</span> <span class="identifier">acc_set</span> <span class="special">)</span><span class="keyword">const</span><span class="special">;</span>
+
+ <span class="identifier">D</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">distribution</span><span class="special">()</span><span class="keyword">const</span><span class="special">;</span>
+
+ <span class="identifier">value_type</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">statistic</span><span class="special">()</span><span class="keyword">const</span><span class="special">;</span>
+
+ <span class="special">};</span>
+
+<span class="special">}//</span> <span class="identifier">aux_</span>
+<span class="special">}//</span> <span class="identifier">ecdf</span>
+<span class="special">}//</span> <span class="identifier">accumulators</span>
+</pre>
+<p>
+ </p>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="boost_acc_ecdf.kolmogorov_smirnov_simulator"></a><code class="computeroutput"><span class="identifier">kolmogorov_smirnov_simulator</span></code>
+</h4></div></div></div>
+<a name="boost_acc_ecdf.ref.aux_.kolmogorov_smirnov_simulator.header"></a><h6>
+<a name="id36332574"></a>
+ <a class="link" href="index.html#boost_acc_ecdf.ref.aux_.kolmogorov_smirnov_simulator.header">Header</a>
+ </h6>
+<p>
+ boost/accumulators/statistics/ecdf/aux_/kolmogorov_smirnov_simulator.hpp
+ </p>
+<a name="boost_acc_ecdf.ref.aux_.kolmogorov_smirnov_simulator.description"></a><h6>
+<a name="id36332604"></a>
+ <a class="link" href="index.html#boost_acc_ecdf.ref.aux_.kolmogorov_smirnov_simulator.description">Description</a>
+ </h6>
+<p>
+ TODO
+ </p>
+<a name="boost_acc_ecdf.ref.aux_.kolmogorov_smirnov_simulator.synopsis"></a><h6>
+<a name="id36332624"></a>
+ <a class="link" href="index.html#boost_acc_ecdf.ref.aux_.kolmogorov_smirnov_simulator.synopsis">Synopsis</a>
+ </h6>
+<p>
+
+</p>
+<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">accumulators</span><span class="special">{</span>
+<span class="keyword">namespace</span> <span class="identifier">ecdf</span><span class="special">{</span>
+<span class="keyword">namespace</span> <span class="identifier">aux_</span><span class="special">{</span>
+<span class="keyword">namespace</span> <span class="identifier">result_of</span><span class="special">{</span>
+
+ <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">Gen</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">D</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">T</span> <span class="special">=</span> <span class="keyword">typename</span> <span class="identifier">D</span><span class="special">::</span><span class="identifier">value_type</span><span class="special">&gt;</span>
+ <span class="keyword">struct</span> <span class="identifier">kolmogorov_smirnov_simulator</span><span class="special">;</span>
+
+<span class="special">}//</span> <span class="identifier">result_of</span>
+
+ <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">Gen</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">D</span><span class="special">&gt;</span>
+ <span class="keyword">typename</span> <span class="identifier">result_of</span><span class="special">::</span><span class="identifier">kolmogorov_smirnov_simulator</span><span class="special">&lt;</span><span class="identifier">Gen</span><span class="special">,</span> <span class="identifier">D</span><span class="special">&gt;::</span><span class="identifier">type</span>
+ <span class="identifier">kolmogorov_smirnov_simulator</span><span class="special">(</span><span class="identifier">Gen</span> <span class="identifier">gen</span><span class="special">,</span> <span class="identifier">D</span> <span class="identifier">dist</span><span class="special">);</span>
+
+<span class="special">}//</span> <span class="identifier">aux_</span>
+<span class="special">}//</span> <span class="identifier">ecdf</span>
+<span class="special">}//</span> <span class="identifier">accumulators</span>
+</pre>
+<p>
+ </p>
+</div>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="boost_acc_ecdf.cdf"></a><code class="computeroutput"><span class="identifier">cdf</span></code>
+</h3></div></div></div>
+<a name="boost_acc_ecdf.ref.cdf.header"></a><h5>
+<a name="id36332961"></a>
+ <a class="link" href="index.html#boost_acc_ecdf.ref.cdf.header">Header</a>
+ </h5>
+<p>
+ boost/accumulators/statistics/ecdf/cdf.hpp
+ </p>
+<a name="boost_acc_ecdf.ref.cdf.description"></a><h5>
+<a name="id36332986"></a>
+ <a class="link" href="index.html#boost_acc_ecdf.ref.cdf.description">Description</a>
+ </h5>
+<p>
+ TODO
+ </p>
+<a name="boost_acc_ecdf.ref.cdf.synopsis"></a><h5>
+<a name="id36333004"></a>
+ <a class="link" href="index.html#boost_acc_ecdf.ref.cdf.synopsis">Synopsis</a>
+ </h5>
+<p>
+
+</p>
+<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">accumulators</span><span class="special">{</span>
+<span class="keyword">namespace</span> <span class="identifier">ecdf</span><span class="special">{</span>
+<span class="keyword">namespace</span> <span class="identifier">tag</span>
+<span class="special">{</span>
+ <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T1</span><span class="special">&gt;</span>
+ <span class="keyword">struct</span> <span class="identifier">cdf</span>
+ <span class="special">:</span> <span class="identifier">depends_on</span><span class="special">&lt;</span>
+ <span class="identifier">ecdf</span><span class="special">::</span><span class="identifier">tag</span><span class="special">::</span><span class="identifier">cumulative_count</span><span class="special">,</span>
+ <span class="identifier">accumulators</span><span class="special">::</span><span class="identifier">tag</span><span class="special">::</span><span class="identifier">count</span>
+ <span class="special">&gt;</span>
+ <span class="special">{};</span>
+
+<span class="special">}//</span> <span class="identifier">tag</span>
+<span class="keyword">namespace</span> <span class="identifier">result_of</span><span class="special">{</span>
+
+ <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T1</span><span class="special">,</span><span class="keyword">typename</span> <span class="identifier">AccSet</span><span class="special">&gt;</span>
+ <span class="keyword">struct</span> <span class="identifier">cdf</span><span class="special">;</span>
+
+<span class="special">}//</span> <span class="identifier">result_of</span>
+<span class="keyword">namespace</span> <span class="identifier">extract</span>
+<span class="special">{</span>
+
+ <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T1</span><span class="special">,</span><span class="keyword">typename</span> <span class="identifier">AccSet</span><span class="special">,</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span>
+ <span class="keyword">typename</span> <span class="identifier">ecdf</span><span class="special">::</span><span class="identifier">result_of</span><span class="special">::</span><span class="keyword">template</span> <span class="identifier">cdf</span><span class="special">&lt;</span><span class="identifier">T1</span><span class="special">,</span><span class="identifier">AccSet</span><span class="special">&gt;::</span><span class="identifier">type</span>
+ <span class="identifier">cdf</span><span class="special">(</span><span class="identifier">AccSet</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">set</span><span class="special">,</span><span class="keyword">const</span> <span class="identifier">T</span><span class="special">&amp;</span> <span class="identifier">x</span><span class="special">);</span>
+
+<span class="special">}//</span> <span class="identifier">extract</span>
+<span class="special">}//</span> <span class="identifier">ecdf</span>
+<span class="special">}//</span> <span class="identifier">accumulators</span>
+</pre>
+<p>
+ </p>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="boost_acc_ecdf.count"></a><code class="computeroutput"><span class="identifier">count</span></code>
+</h3></div></div></div>
+<a name="boost_acc_ecdf.ref.count.header"></a><h5>
+<a name="id36333608"></a>
+ <a class="link" href="index.html#boost_acc_ecdf.ref.count.header">Header</a>
+ </h5>
+<p>
+ boost/accumulators/statistics/ecdf/count.hpp
+ </p>
+<a name="boost_acc_ecdf.ref.count.description"></a><h5>
+<a name="id36333633"></a>
+ <a class="link" href="index.html#boost_acc_ecdf.ref.count.description">Description</a>
+ </h5>
+<p>
+ TODO
+ </p>
+<a name="boost_acc_ecdf.ref.count.synopsis"></a><h5>
+<a name="id36333650"></a>
+ <a class="link" href="index.html#boost_acc_ecdf.ref.count.synopsis">Synopsis</a>
+ </h5>
+<p>
+
+</p>
+<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">accumulators</span><span class="special">{</span>
+<span class="keyword">namespace</span> <span class="identifier">ecdf</span><span class="special">{</span>
+<span class="keyword">namespace</span> <span class="identifier">tag</span>
+<span class="special">{</span>
+
+ <span class="keyword">struct</span> <span class="identifier">count</span>
+ <span class="special">:</span> <span class="identifier">depends_on</span><span class="special">&lt;</span>
+ <span class="identifier">ecdf</span><span class="special">::</span><span class="identifier">tag</span><span class="special">::</span><span class="identifier">ordered_sample</span>
+ <span class="special">&gt;</span>
+ <span class="special">};</span>
+
+<span class="special">}//</span> <span class="identifier">tag</span>
+<span class="keyword">namespace</span> <span class="identifier">result_of</span><span class="special">{</span>
+
+ <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">AccSet</span><span class="special">,</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span>
+ <span class="keyword">struct</span> <span class="identifier">count</span><span class="special">;</span>
+
+<span class="special">}//</span> <span class="identifier">result_of</span>
+<span class="keyword">namespace</span> <span class="identifier">extract</span>
+<span class="special">{</span>
+
+ <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">AccSet</span><span class="special">,</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span>
+ <span class="keyword">typename</span> <span class="identifier">ecdf</span><span class="special">::</span><span class="identifier">result_of</span><span class="special">::</span><span class="keyword">template</span> <span class="identifier">count</span><span class="special">&lt;</span><span class="identifier">AccSet</span><span class="special">,</span><span class="identifier">T</span><span class="special">&gt;::</span><span class="identifier">type</span>
+ <span class="identifier">count</span><span class="special">(</span><span class="identifier">AccSet</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">acc</span><span class="special">,</span><span class="keyword">const</span> <span class="identifier">T</span><span class="special">&amp;</span> <span class="identifier">x</span><span class="special">);</span>
+
+<span class="special">}//</span> <span class="identifier">extract</span>
+<span class="special">}//</span> <span class="identifier">ecdf</span>
+<span class="special">}//</span> <span class="identifier">accumulators</span>
+</pre>
+<p>
+ </p>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="boost_acc_ecdf.cumulative_count"></a><code class="computeroutput"><span class="identifier">cumulative_count</span></code>
+</h3></div></div></div>
+<a name="boost_acc_ecdf.ref.cumulative_count.header"></a><h5>
+<a name="id36334058"></a>
+ <a class="link" href="index.html#boost_acc_ecdf.ref.cumulative_count.header">Header</a>
+ </h5>
+<p>
+ boost/accumulators/statistics/ecdf/cumulative_count.hpp
+ </p>
+<a name="boost_acc_ecdf.ref.cumulative_count.description"></a><h5>
+<a name="id36334084"></a>
+ <a class="link" href="index.html#boost_acc_ecdf.ref.cumulative_count.description">Description</a>
+ </h5>
+<p>
+ TODO
+ </p>
+<a name="boost_acc_ecdf.ref.cumulative_count.synopsis"></a><h5>
+<a name="id36334102"></a>
+ <a class="link" href="index.html#boost_acc_ecdf.ref.cumulative_count.synopsis">Synopsis</a>
+ </h5>
+<p>
+
+</p>
+<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">accumulators</span><span class="special">{</span>
+<span class="keyword">namespace</span> <span class="identifier">ecdf</span><span class="special">{</span>
+<span class="keyword">namespace</span> <span class="identifier">tag</span>
+<span class="special">{</span>
+ <span class="keyword">struct</span> <span class="identifier">cumulative_count</span><span class="special">:</span> <span class="identifier">depends_on</span><span class="special">&lt;</span>
+ <span class="identifier">ecdf</span><span class="special">::</span><span class="identifier">tag</span><span class="special">::</span><span class="identifier">ordered_sample</span>
+ <span class="special">&gt;</span>
+ <span class="special">{};</span>
+
+<span class="special">}//</span> <span class="identifier">tag</span>
+<span class="keyword">namespace</span> <span class="identifier">result_of</span><span class="special">{</span>
+
+ <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">AccSet</span><span class="special">&gt;</span>
+ <span class="keyword">struct</span> <span class="identifier">cumulative_count</span><span class="special">;</span>
+
+<span class="special">}//</span> <span class="identifier">result_of</span>
+<span class="keyword">namespace</span> <span class="identifier">extract</span>
+<span class="special">{</span>
+
+ <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">AccSet</span><span class="special">,</span><span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span>
+ <span class="keyword">typename</span> <span class="identifier">ecdf</span><span class="special">::</span><span class="identifier">result_of</span><span class="special">::</span><span class="keyword">template</span> <span class="identifier">cumulative_count</span><span class="special">&lt;</span><span class="identifier">AccSet</span><span class="special">&gt;::</span><span class="identifier">type</span>
+ <span class="identifier">cumulative_count</span><span class="special">(</span><span class="identifier">AccSet</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">acc</span><span class="special">,</span><span class="keyword">const</span> <span class="identifier">T</span><span class="special">&amp;</span> <span class="identifier">x</span><span class="special">);</span>
+
+<span class="special">}//</span> <span class="identifier">extract</span>
+<span class="special">}//</span> <span class="identifier">ecdf</span>
+<span class="special">}//</span> <span class="identifier">accumulators</span>
+</pre>
+<p>
+ </p>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="boost_acc_ecdf.kolmogorov_smirnov_statistic"></a><code class="computeroutput"><span class="identifier">kolmogorov_smirnov_statistic</span></code>
+</h3></div></div></div>
+<a name="boost_acc_ecdf.ref.kolmogorov_smirnov_statistic.header"></a><h5>
+<a name="id36334488"></a>
+ <a class="link" href="index.html#boost_acc_ecdf.ref.kolmogorov_smirnov_statistic.header">Header</a>
+ </h5>
+<p>
+ boost/accumulators/statistics/ecdf/kolmogorov_smirnov_statistic.hpp
+ </p>
+<a name="boost_acc_ecdf.ref.kolmogorov_smirnov_statistic.description"></a><h5>
+<a name="id36334517"></a>
+ <a class="link" href="index.html#boost_acc_ecdf.ref.kolmogorov_smirnov_statistic.description">Description</a>
+ </h5>
+<p>
+ TODO
+ </p>
+<a name="boost_acc_ecdf.ref.kolmogorov_smirnov_statistic.synopsis"></a><h5>
+<a name="id36334537"></a>
+ <a class="link" href="index.html#boost_acc_ecdf.ref.kolmogorov_smirnov_statistic.synopsis">Synopsis</a>
+ </h5>
+<p>
+
+</p>
+<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">accumulators</span><span class="special">{</span>
+<span class="keyword">namespace</span> <span class="identifier">ecdf</span><span class="special">{</span>
+<span class="keyword">namespace</span> <span class="identifier">tag</span>
+<span class="special">{</span>
+ <span class="keyword">struct</span> <span class="identifier">kolmogorov_smirnov</span>
+ <span class="special">:</span> <span class="identifier">depends_on</span><span class="special">&lt;</span>
+ <span class="identifier">ecdf</span><span class="special">::</span><span class="identifier">tag</span><span class="special">::</span><span class="identifier">ordered_sample</span><span class="special">,</span>
+ <span class="identifier">accumulators</span><span class="special">::</span><span class="identifier">tag</span><span class="special">::</span><span class="identifier">count</span>
+ <span class="special">&gt;</span>
+ <span class="special">{};</span>
+
+<span class="special">}//</span> <span class="identifier">tag</span>
+<span class="keyword">namespace</span> <span class="identifier">result_of</span><span class="special">{</span>
+
+ <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T1</span><span class="special">,</span><span class="keyword">typename</span> <span class="identifier">AccSet</span><span class="special">,</span><span class="keyword">typename</span> <span class="identifier">D</span><span class="special">&gt;</span>
+ <span class="keyword">struct</span> <span class="identifier">kolmogorov_smirnov_statistic</span><span class="special">;</span>
+
+<span class="special">}//</span> <span class="identifier">result_of</span>
+
+ <span class="comment">// Usage : statistic&lt;T1&gt;(acc,dist)
+</span> <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T1</span><span class="special">,</span><span class="keyword">typename</span> <span class="identifier">AccSet</span><span class="special">,</span><span class="keyword">typename</span> <span class="identifier">D</span><span class="special">&gt;</span>
+ <span class="keyword">typename</span> <span class="identifier">result_of</span><span class="special">::</span><span class="keyword">template</span>
+ <span class="identifier">kolmogorov_smirnov_statistic</span><span class="special">&lt;</span><span class="identifier">T1</span><span class="special">,</span> <span class="identifier">AccSet</span><span class="special">,</span> <span class="identifier">D</span><span class="special">&gt;::</span><span class="identifier">type</span>
+ <span class="identifier">kolmogorov_smirnov_statistic</span><span class="special">(</span><span class="identifier">AccSet</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">set</span><span class="special">,</span><span class="keyword">const</span> <span class="identifier">D</span><span class="special">&amp;</span> <span class="identifier">dist</span><span class="special">);</span>
+
+<span class="special">}//</span> <span class="identifier">ecdf</span>
+<span class="special">}//</span> <span class="identifier">accumulators</span>
+</pre>
+<p>
+ </p>
+</div>
+<div class="section">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="boost_acc_ecdf.pdf"></a><code class="computeroutput"><span class="identifier">pdf</span></code>
+</h3></div></div></div>
+<a name="boost_acc_ecdf.ref.pdf.header"></a><h5>
+<a name="id36334978"></a>
+ <a class="link" href="index.html#boost_acc_ecdf.ref.pdf.header">Header</a>
+ </h5>
+<p>
+ boost/accumulators/statistics/ecdf/pdf.hpp
+ </p>
+<a name="boost_acc_ecdf.ref.pdf.description"></a><h5>
+<a name="id36335004"></a>
+ <a class="link" href="index.html#boost_acc_ecdf.ref.pdf.description">Description</a>
+ </h5>
+<p>
+ TODO
+ </p>
+<a name="boost_acc_ecdf.ref.pdf.synopsis"></a><h5>
+<a name="id36335021"></a>
+ <a class="link" href="index.html#boost_acc_ecdf.ref.pdf.synopsis">Synopsis</a>
+ </h5>
+<p>
+
+</p>
+<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">accumulators</span><span class="special">{</span>
+<span class="keyword">namespace</span> <span class="identifier">ecdf</span><span class="special">{</span>
+<span class="keyword">namespace</span> <span class="identifier">tag</span>
+<span class="special">{</span>
+
+ <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T1</span><span class="special">&gt;</span>
+ <span class="keyword">struct</span> <span class="identifier">pdf</span><span class="special">:</span> <span class="identifier">depends_on</span><span class="special">&lt;</span>
+ <span class="identifier">ecdf</span><span class="special">::</span><span class="identifier">tag</span><span class="special">::</span><span class="identifier">count</span><span class="special">,</span>
+ <span class="identifier">accumulators</span><span class="special">::</span><span class="identifier">tag</span><span class="special">::</span><span class="identifier">count</span>
+ <span class="special">&gt;</span>
+ <span class="special">{};</span>
+
+<span class="special">}//</span> <span class="identifier">tag</span>
+<span class="keyword">namespace</span> <span class="identifier">result_of</span><span class="special">{</span>
+
+ <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T1</span><span class="special">,</span><span class="keyword">typename</span> <span class="identifier">AccSet</span><span class="special">&gt;</span>
+ <span class="keyword">struct</span> <span class="identifier">pdf</span><span class="special">;</span>
+
+<span class="special">}//</span> <span class="identifier">result_of</span>
+<span class="keyword">namespace</span> <span class="identifier">extract</span>
+<span class="special">{</span>
+
+ <span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">T1</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">AccSet</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">T</span><span class="special">&gt;</span>
+ <span class="keyword">typename</span> <span class="identifier">ecdf</span><span class="special">::</span><span class="identifier">result_of</span><span class="special">::</span><span class="keyword">template</span> <span class="identifier">pdf</span><span class="special">&lt;</span><span class="identifier">T1</span><span class="special">,</span> <span class="identifier">AccSet</span><span class="special">&gt;::</span><span class="identifier">type</span>
+ <span class="identifier">pdf</span><span class="special">(</span><span class="identifier">AccSet</span> <span class="keyword">const</span><span class="special">&amp;</span> <span class="identifier">set</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">T</span><span class="special">&amp;</span> <span class="identifier">x</span><span class="special">);</span>
+
+<span class="special">}//</span> <span class="identifier">extract</span>
+<span class="special">}//</span> <span class="identifier">ecdf</span>
+<span class="special">}//</span> <span class="identifier">accumulators</span>
+</pre>
+<p>
+ </p>
+</div>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"><p><small>Last revised: June 19, 2011 at 20:58:46 GMT</small></p></td>
+<td align="right"><div class="copyright-footer"></div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav"><a accesskey="n" href="boost_acc_ecdf/ex.html"><img src="../../doc/src/images/next.png" alt="Next"></a></div>
+</body>
+</html>

Added: sandbox/acc_ecdf/libs/accumulators/ecdf/src/main.cpp
==============================================================================
--- (empty file)
+++ sandbox/acc_ecdf/libs/accumulators/ecdf/src/main.cpp 2011-06-19 17:08:14 EDT (Sun, 19 Jun 2011)
@@ -0,0 +1,11 @@
+#include <iostream>
+#include <libs/accumulators/ecdf/test/ecdf.h>
+#include <libs/accumulators/ecdf/test/ks_sim.h>
+
+int main()
+{
+ test_ecdf();
+ test_ks_sim(std::cout);
+
+ return 0;
+}
\ No newline at end of file

Added: sandbox/acc_ecdf/libs/accumulators/ecdf/test/ecdf.cpp
==============================================================================
--- (empty file)
+++ sandbox/acc_ecdf/libs/accumulators/ecdf/test/ecdf.cpp 2011-06-19 17:08:14 EDT (Sun, 19 Jun 2011)
@@ -0,0 +1,92 @@
+///////////////////////////////////////////////////////////////////////////////
+// acc_ecdf //
+// //
+// Copyright (C) 2005 Eric Niebler //
+// Copyright (C) 2011 Erwann Rogard //
+// Software License, Version 1.0. (See accompanying file //
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) //
+///////////////////////////////////////////////////////////////////////////////
+#include <cmath>
+#include <vector>
+#include <boost/mpl/int.hpp>
+#include <boost/accumulators/accumulators.hpp>
+#include <boost/accumulators/statistics/stats.hpp>
+#include <boost/accumulators/statistics/ecdf/aux_/check.hpp>
+#include <boost/accumulators/statistics/ecdf/ordered_sample.hpp>
+#include <boost/accumulators/statistics/ecdf/cumulative_count.hpp>
+#include <boost/accumulators/statistics/ecdf/pdf.hpp>
+#include <boost/accumulators/statistics/ecdf/cdf.hpp>
+#include <boost/format.hpp>
+#include <boost/numeric/conversion/bounds.hpp>
+#include <boost/numeric/conversion/bounds.hpp>
+#include <boost/range/algorithm/for_each.hpp>
+#include <libs/accumulators/ecdf/test/ecdf.h>
+
+void test_ecdf()
+{
+
+//[test_ecdf
+ typedef int sample_; // sample_ x = 1;
+ typedef double val_; // val_ p = pdf( dist, x );
+ typedef std::vector<sample_> samples_;
+
+ namespace acc = boost::accumulators;
+ namespace num = boost::numeric;
+
+ samples_ samples;
+ const int n = 3;
+ for(int i = 0; i < n; i++)
+ {
+ for(int j = i; j < n; j++)
+ {
+ samples.push_back( n-i );
+ }
+ }// 3, 3, 3, 2, 2, 1
+
+ namespace ecdf = acc::ecdf;
+ typedef ecdf::tag::cdf<val_> tag_cdf_;
+ typedef ecdf::tag::count tag_pdf_;
+ typedef acc::accumulator_set<
+ sample_,
+ acc::stats<tag_pdf_, tag_cdf_>
+ > set_;
+
+ set_ set = boost::for_each(
+ samples,
+ set_()
+ );
+
+ long sum = 0;
+ val_ cum_freq;
+ for(int i = 0; i < n; i++)
+ {
+
+ typedef num::converter<int,std::size_t> converter_;
+ BOOST_ACCUMULATORS_ECDF_CHECK(
+ (
+ converter_::convert(
+ ecdf::extract::count( set , i+1 )
+ ) == i+1
+ )
+ );
+
+ sum += i+1;
+ BOOST_ACCUMULATORS_ECDF_CHECK(
+ (
+ converter_::convert(
+ ecdf::extract::cumulative_count( set, i+1 )
+ ) == sum
+ )
+ );
+
+ cum_freq = ecdf::extract::cdf<val_>( set, i+1 );
+
+ }
+
+ val_ one = 1.0;
+ typedef num::bounds<val_> bounds_;
+ val_ eps = bounds_::smallest();
+ BOOST_ACCUMULATORS_ECDF_CHECK( fabs(cum_freq - one) < eps );
+//]
+
+}

Added: sandbox/acc_ecdf/libs/accumulators/ecdf/test/ecdf.h
==============================================================================
--- (empty file)
+++ sandbox/acc_ecdf/libs/accumulators/ecdf/test/ecdf.h 2011-06-19 17:08:14 EDT (Sun, 19 Jun 2011)
@@ -0,0 +1,11 @@
+///////////////////////////////////////////////////////////////////////////////
+// acc_ecdf //
+// //
+// Copyright (C) 2005 Eric Niebler //
+// Copyright (C) 2011 Erwann Rogard //
+// Software License, Version 1.0. (See accompanying file //
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) //
+///////////////////////////////////////////////////////////////////////////////
+
+
+void test_ecdf();

Added: sandbox/acc_ecdf/libs/accumulators/ecdf/test/ks_sim.cpp
==============================================================================
--- (empty file)
+++ sandbox/acc_ecdf/libs/accumulators/ecdf/test/ks_sim.cpp 2011-06-19 17:08:14 EDT (Sun, 19 Jun 2011)
@@ -0,0 +1,136 @@
+///////////////////////////////////////////////////////////////////////////////
+// kolmogorov_smirnov_statistic.cpp //
+// //
+// Copyright (C) 2005 Eric Niebler //
+// Copyright (C) 2011 Erwann Rogard //
+// Software License, Version 1.0. (See accompanying file //
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) //
+///////////////////////////////////////////////////////////////////////////////
+#include <vector>
+#include <iterator>
+#include <string>
+#include <boost/accumulators/accumulators.hpp>
+#include <boost/accumulators/statistics/ecdf/aux_/geometric_series_range.hpp>
+#include <boost/accumulators/statistics/ecdf/aux_/kolmogorov_smirnov_simulator.hpp>
+#include <boost/accumulators/statistics/stats.hpp>
+#include <boost/format.hpp>
+#include <boost/foreach.hpp>
+#include <boost/mpl/int.hpp>
+#include <boost/math/distributions/normal.hpp>
+#include <boost/math/distributions/poisson.hpp>
+#include <boost/range/algorithm/transform.hpp>
+#include <boost/random/normal_distribution.hpp>
+#include <boost/random/mersenne_twister.hpp>
+#include <boost/random/poisson_distribution.hpp>
+#include <boost/random/variate_generator.hpp>
+#include <boost/typeof/typeof.hpp>
+
+#include <boost/range/algorithm/for_each.hpp>
+
+#include <libs/accumulators/ecdf/test/ks_sim.h>
+
+void test_ks_sim(
+ std::ostream& os,
+ double mean,
+ long n,
+ long factor,
+ long size
+)
+{
+
+//[test_ks_sim
+ const std::string str = "sample size vs kolmogorov smirnov statisic:";
+
+ // A series of Kolmogorov-Smirnov statistics, computed over an iid
+ // sample of increasing size (n). The reference distribution is that of
+ // the random generator, so the series is expected to converge to zero.
+ // Warning : numeric error may dominate for large n.
+
+ namespace acc = boost::accumulators;
+ namespace ecdf = acc::ecdf;
+ namespace aux_ = ecdf::aux_;
+ typedef boost::mt19937 urng_;
+
+ urng_ urng;
+
+ {
+ typedef boost::math::poisson_distribution<> dist_;
+ typedef dist_::value_type val_;
+ typedef boost::poisson_distribution<> random_;
+ typedef boost::variate_generator<urng_&,random_> vg_;
+ dist_ dist( mean );
+ vg_ vg( urng, random_(mean) );
+
+ os << "poisson(" << mean << ')' << std::endl;
+ boost::transform(
+ aux_::geometric_series_range(n, factor, size),
+ std::ostream_iterator<boost::format>( os, "\n" ),
+ aux_::kolmogorov_smirnov_simulator( vg, dist )
+ );
+ os << std::endl;
+/* ouputs:
+poison(1)
+(1, 0.0803014)
+(3, 0.0803014)
+(7, 0.0821652)
+(15, 0.0987872)
+(31, 0.21963)
+(63, 0.148457)
+(127, 0.0979636)
+(255, 0.0612491)
+(511, 0.0136454)
+(1023, 0.00715412)
+(2047, 0.00534967)
+(4095, 0.00548628)
+(8191, 0.00858265)
+(16383, 0.00287263)
+(32767, 0.00364357)
+(65535, 0.00236578)
+(131071, 0.00147762)
+(262143, 0.000797197)
+(524287, 0.0005051)
+(1048575, 0.000203309)*/
+
+ }
+ {
+ typedef boost::math::normal_distribution<> dist_;
+ typedef dist_::value_type val_;
+ typedef boost::normal_distribution<> random_;
+ typedef boost::variate_generator<urng_&, random_> vg_;
+ const val_ sd = 1.0;
+ dist_ dist( mean, sd );
+ vg_ vg( urng, random_(mean) );
+
+ os << "normal(" << mean << ',' << sd << ')' << std::endl;
+ boost::transform(
+ aux_::geometric_series_range(n, factor, size),
+ std::ostream_iterator<boost::format>( os, "\n" ),
+ aux_::kolmogorov_smirnov_simulator( vg, dist )
+ );
+ os << std::endl;
+/*
+normal(1,1)
+(1, 0.514901)
+(3, 0.23449)
+(7, 0.177523)
+(15, 0.106794)
+(31, 0.119698)
+(63, 0.0900238)
+(127, 0.0938422)
+(255, 0.045615)
+(511, 0.0375595)
+(1023, 0.0395167)
+(2047, 0.0223799)
+(4095, 0.0199377)
+(8191, 0.00428302)
+(16383, 0.00567374)
+(32767, 0.00345214)
+(65535, 0.00413189)
+(131071, 0.00339832)
+(262143, 0.00155582)
+(524287, 0.00121594)
+(1048575, 0.000613453)
+*/
+ }
+//]
+}

Added: sandbox/acc_ecdf/libs/accumulators/ecdf/test/ks_sim.h
==============================================================================
--- (empty file)
+++ sandbox/acc_ecdf/libs/accumulators/ecdf/test/ks_sim.h 2011-06-19 17:08:14 EDT (Sun, 19 Jun 2011)
@@ -0,0 +1,23 @@
+///////////////////////////////////////////////////////////////////////////////
+// acc_ecdf //
+// //
+// Copyright (C) 2005 Eric Niebler //
+// Copyright (C) 2011 Erwann Rogard //
+// Software License, Version 1.0. (See accompanying file //
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) //
+///////////////////////////////////////////////////////////////////////////////
+#ifndef LIBS_ACCUMULATORS_ECDF_KS_SIM_HPP_ER_2011
+#define LIBS_ACCUMULATORS_ECDF_KS_SIM_HPP_ER_2011
+#include <ostream>
+
+void test_ks_sim(
+ std::ostream& os,
+ double mean = 1.0,
+ long n = 1,
+ long factor = 2,
+ long size = 20
+);
+
+#endif
+
+

Added: sandbox/acc_ecdf/libs/accumulators/ecdf/test/unit_test/Jamfile.v2
==============================================================================
--- (empty file)
+++ sandbox/acc_ecdf/libs/accumulators/ecdf/test/unit_test/Jamfile.v2 2011-06-19 17:08:14 EDT (Sun, 19 Jun 2011)
@@ -0,0 +1,10 @@
+rule ecdf-test ( name )
+{
+ return [
+ run $(name).cpp /boost/test//boost_unit_test_framework/<link>static ]
+ ;
+}
+
+test-suite ecdf :
+ [ ecdf-test ecdf ]
+;

Added: sandbox/acc_ecdf/libs/accumulators/ecdf/test/unit_test/ecdf.cpp
==============================================================================
--- (empty file)
+++ sandbox/acc_ecdf/libs/accumulators/ecdf/test/unit_test/ecdf.cpp 2011-06-19 17:08:14 EDT (Sun, 19 Jun 2011)
@@ -0,0 +1,21 @@
+///////////////////////////////////////////////////////////////////////////////
+// acc_ecdf //
+// //
+// Copyright 2010 Erwann Rogard. Distributed under the Boost //
+// Software License, Version 1.0. (See accompanying file //
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) //
+///////////////////////////////////////////////////////////////////////////////
+#include <boost/test/test_tools.hpp>
+#define BOOST_ACCUMULATORS_ECDF_CHECK( p ) BOOST_CHECK( p )
+#include <libs/accumulators/ecdf/test/ecdf.cpp>
+#include <boost/test/unit_test.hpp>
+using boost::unit_test::test_suite;
+
+test_suite* init_unit_test_suite( int argc, char* argv[] )
+{
+ test_suite* test = BOOST_TEST_SUITE( "ECDF" );
+ test->add( BOOST_TEST_CASE( &test_ecdf ) );
+ return test;
+}
+
+


Boost-Commit list run by bdawes at acm.org, david.abrahams at rcn.com, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk