1 #ifndef _theplu_yat_statistics_percentile_confidence_interval_ 2 #define _theplu_yat_statistics_percentile_confidence_interval_ 25 #include "yat/utility/yat_assert.h" 27 #include <boost/concept_check.hpp> 28 #include <boost/iterator/iterator_concepts.hpp> 30 #include <boost/math/distributions/binomial.hpp> 37 namespace statistics {
78 template<
typename RandomAccessIterator>
79 void operator()(RandomAccessIterator first, RandomAccessIterator last,
82 typedef RandomAccessIterator T;
83 typedef typename std::iterator_traits<T>::value_type value_type;
84 BOOST_CONCEPT_ASSERT((boost_concepts::RandomAccessTraversal<T>));
85 BOOST_CONCEPT_ASSERT((boost_concepts::ReadableIterator<T>));
86 BOOST_CONCEPT_ASSERT((boost::Convertible<value_type, double>));
87 prepare(last - first);
88 process(first, last, sorted);
94 double alpha(
void)
const;
99 double lower(
void)
const;
104 double k(
void)
const;
109 double upper(
void)
const;
120 void prepare(
size_t n);
122 template<
typename RandomAccessIterator>
123 void process(RandomAccessIterator first, RandomAccessIterator last,
127 std::vector<double> v(first, last);
128 std::sort(v.begin(), v.end());
129 process(v.begin(), v.end(),
true);
132 lower_ = first[lower_index_];
133 upper_ = first[upper_index_];
The Department of Theoretical Physics namespace as we define it.
PercentileConfidenceInterval(double k, double level)
void operator()(RandomAccessIterator first, RandomAccessIterator last, bool sorted=false)
Definition: PercentileConfidenceInterval.h:79
Definition: PercentileConfidenceInterval.h:55