diff options
author | bkoz <bkoz@138bc75d-0d04-0410-961f-82ee72b054a4> | 2006-10-03 14:26:14 +0000 |
---|---|---|
committer | bkoz <bkoz@138bc75d-0d04-0410-961f-82ee72b054a4> | 2006-10-03 14:26:14 +0000 |
commit | 8b88dda3fb9c57a00e4b93569db5a3a2d9713070 (patch) | |
tree | a68073ec26c09be20eb5bb3e4fe2c4d7f5e263fa /libstdc++-v3/testsuite/util/statistic | |
parent | a379e3a91e351e8f1e153c634b090f0e3089f829 (diff) | |
download | gcc-8b88dda3fb9c57a00e4b93569db5a3a2d9713070.tar.gz |
2006-10-03 Benjamin Kosnik <bkoz@redhat.com>
* testsuite/util/native_type/priority_queue/native_pq_tag.hpp: Remove.
* testsuite/util/statistic/sample_var.hpp: Rename to...
* testsuite/util/statistic/sample_variance.hpp: ... this.
* testsuite/util/statistic/res_recorder.hpp: Rename to...
* testsuite/util/statistic/result_recorder.hpp: ... this.
* testsuite/util/statistic/sample_mean.hpp: Format.
* testsuite/util/statistic/sample_mean_confidence_checker.hpp: Same.
* testsuite/util/regression/trait/priority_queue/trait.hpp: Same.
* testsuite/util/regression/trait/erase_if_fn.hpp: Same.
* testsuite/util/regression/trait/assoc/trait.hpp: Same.
* testsuite/util/native_type/priority_queue/
native_priority_queue.hpp: Same.
* testsuite/util/native_type/assoc/native_tree_tag.hpp: Same.
* testsuite/util/native_type/assoc/native_hash_tag.hpp: Same.
* testsuite/util/native_type/assoc/native_hash_map.hpp: Same.
* testsuite/util/performance/priority_queue/timing/join_test.hpp: Same.
* testsuite/util/performance/priority_queue/timing/
modify_test.hpp: Same.
* testsuite/util/performance/assoc/timing/
subscript_insert_test.hpp: Same.
* testsuite/util/performance/time/timing_test_base.hpp: Same.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@117397 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'libstdc++-v3/testsuite/util/statistic')
-rw-r--r-- | libstdc++-v3/testsuite/util/statistic/result_recorder.hpp (renamed from libstdc++-v3/testsuite/util/statistic/res_recorder.hpp) | 79 | ||||
-rw-r--r-- | libstdc++-v3/testsuite/util/statistic/sample_mean.hpp | 14 | ||||
-rw-r--r-- | libstdc++-v3/testsuite/util/statistic/sample_mean_confidence_checker.hpp | 24 | ||||
-rw-r--r-- | libstdc++-v3/testsuite/util/statistic/sample_variance.hpp (renamed from libstdc++-v3/testsuite/util/statistic/sample_var.hpp) | 23 |
4 files changed, 41 insertions, 99 deletions
diff --git a/libstdc++-v3/testsuite/util/statistic/res_recorder.hpp b/libstdc++-v3/testsuite/util/statistic/result_recorder.hpp index 98d169df8d4..2f8eaa5ccd2 100644 --- a/libstdc++-v3/testsuite/util/statistic/res_recorder.hpp +++ b/libstdc++-v3/testsuite/util/statistic/result_recorder.hpp @@ -40,7 +40,7 @@ // warranty. /** - * @file res_recorder.hpp + * @file result_recorder.hpp * Contains a class for recording results */ @@ -48,96 +48,61 @@ #define PB_DS_RES_RECORDER_HPP #include <statistic/sample_mean.hpp> -#include <statistic/sample_var.hpp> +#include <statistic/sample_variance.hpp> #include <statistic/sample_mean_confidence_checker.hpp> namespace pb_ds { - namespace test { - namespace detail { - -#define PB_DS_CLASS_T_DEC \ - template<typename Value_Type> - -#define PB_DS_CLASS_C_DEC \ - res_recorder< \ - Value_Type> - /* * Records results until the probability that the sample mean is 10% away - * from the true mean is ~ 0.05. + * from the true mean is ~ 0.05. */ - template<typename Value_Type = double> - class res_recorder + template<typename Value_Type> + class result_recorder { public: typedef Value_Type value_type; - public: - res_recorder(); + result_recorder() + : m_sample_mean(value_type()), m_sample_var(value_type()) + { } bool - add_res(value_type res); + add_result(value_type res); inline value_type - sample_mean() const; + get_sample_mean() const + { return m_sample_mean; } private: - typedef std::list< value_type> list_t; - - private: - list_t m_l; + typedef std::list<value_type> list_type; + list_type m_l; value_type m_sample_mean; - value_type m_sample_var; }; - PB_DS_CLASS_T_DEC - PB_DS_CLASS_C_DEC:: - res_recorder() : - m_sample_mean(0) - { } - PB_DS_CLASS_T_DEC - inline typename PB_DS_CLASS_C_DEC::value_type - PB_DS_CLASS_C_DEC:: - sample_mean() const - { - return (m_sample_mean); - } - - PB_DS_CLASS_T_DEC + template<typename Value_Type> bool - PB_DS_CLASS_C_DEC:: - add_res(value_type res) + result_recorder<Value_Type>:: + add_result(value_type res) { m_l.push_back(res); + m_sample_mean = sample_mean(m_l.begin(), m_l.end()); + m_sample_var = sample_variance(m_l.begin(), m_l.end(), m_sample_mean); - m_sample_mean = pb_ds::test::detail::sample_mean(m_l.begin(), m_l.end()); - - const value_type sample_var = - pb_ds::test::detail::sample_var(m_l.begin(), m_l.end(), m_sample_mean); - - return (pb_ds::test::detail::sample_mean_confidence_checker(m_sample_mean, - sample_var, - std::distance(m_l.begin(), m_l.end()), - 0.1)); + size_t dist = std::distance(m_l.begin(), m_l.end()); + return sample_mean_confidence_checker(m_sample_mean, m_sample_var, + dist, 0.1); } - -#undef PB_DS_CLASS_T_DEC - -#undef PB_DS_CLASS_C_DEC - } // namespace detail - } // namespace test - } // namespace pb_ds -#endif // #ifndef PB_DS_RES_RECORDER_HPP +#endif diff --git a/libstdc++-v3/testsuite/util/statistic/sample_mean.hpp b/libstdc++-v3/testsuite/util/statistic/sample_mean.hpp index 26aa1f7b7a8..4c6c5613540 100644 --- a/libstdc++-v3/testsuite/util/statistic/sample_mean.hpp +++ b/libstdc++-v3/testsuite/util/statistic/sample_mean.hpp @@ -54,16 +54,11 @@ namespace pb_ds { - namespace test { - namespace detail { - -#define PB_DS_VTYPE \ - typename std::iterator_traits< \ - It>::value_type +#define PB_DS_VTYPE typename std::iterator_traits<It>::value_type template<typename It> PB_DS_VTYPE @@ -71,17 +66,14 @@ namespace pb_ds { const PB_DS_VTYPE total = std::accumulate(b, e, PB_DS_VTYPE(0)); const size_t num = std::distance(b, e); - - return (total / num); + return total / num; } #undef PB_DS_VTYPE } // namespace detail - } // namespace test - } // namespace pb_ds -#endif // #ifndef PB_DS_SAMPLE_MEAN_HPP +#endif diff --git a/libstdc++-v3/testsuite/util/statistic/sample_mean_confidence_checker.hpp b/libstdc++-v3/testsuite/util/statistic/sample_mean_confidence_checker.hpp index 5fa4607f2d2..074adc961e5 100644 --- a/libstdc++-v3/testsuite/util/statistic/sample_mean_confidence_checker.hpp +++ b/libstdc++-v3/testsuite/util/statistic/sample_mean_confidence_checker.hpp @@ -53,25 +53,24 @@ namespace pb_ds { - namespace test { - namespace detail { - /* * Checks that a sample mean sm is in the relative interval - * relative_interval of a true mean (assuming i.i.d. samples), - * given a sample variance sv taken over num_samples samples, - * with confidence ~ 0.95. + * relative_interval of a true mean (assuming i.i.d. samples), + * given a sample variance sv taken over num_samples samples, + * with confidence ~ 0.95. * - * See "Probability, Random Variables, and Stochastic Processes" (Third edition) - * Athanasios Papoulis, Chapter 9. + * See "Probability, Random Variables, and Stochastic Processes" + * (Third edition) Athanasios Papoulis, Chapter 9. */ template<typename Value_Type> bool - sample_mean_confidence_checker(Value_Type sm, Value_Type sv, std::size_t num_samples, double relative_interval) + sample_mean_confidence_checker(Value_Type sm, Value_Type sv, + std::size_t num_samples, + double relative_interval) { enum { @@ -85,14 +84,11 @@ namespace pb_ds // This is z_u (normal-dist percentile) for u = 0.975. const Value_Type z = 1.976; - return (sv / ::sqrt(double(num_samples)) <= relative_interval* sm / z); + return (sv / ::sqrt(double(num_samples)) <= relative_interval * sm / z); } - } // namespace detail - } // namespace test - } // namespace pb_ds -#endif // #ifndef PB_DS_SAMPLE_MEAN_CONFIDENCE_CHECKER_HPP +#endif diff --git a/libstdc++-v3/testsuite/util/statistic/sample_var.hpp b/libstdc++-v3/testsuite/util/statistic/sample_variance.hpp index f5a77817022..c2f87407c38 100644 --- a/libstdc++-v3/testsuite/util/statistic/sample_var.hpp +++ b/libstdc++-v3/testsuite/util/statistic/sample_variance.hpp @@ -40,7 +40,7 @@ // warranty. /** - * @file sample_var.hpp + * @file sample_variance.hpp * Contains a function for calculating a sample variance */ @@ -54,49 +54,38 @@ namespace pb_ds { - namespace test { - namespace detail { - -#define PB_DS_VTYPE \ - typename std::iterator_traits< \ - It>::value_type +#define PB_DS_VTYPE typename std::iterator_traits<It>::value_type template<typename It> PB_DS_VTYPE - sample_var(It b, It e, PB_DS_VTYPE sm) + sample_variance(It b, It e, PB_DS_VTYPE sm) { PB_DS_VTYPE ss = 0; - size_t num_res = 0; while (b != e) { const PB_DS_VTYPE d =* b - sm; - ss += d* d; - ++num_res; - ++b; } if (num_res == 1) - return (0); + return 0; - return (::sqrt(ss / (num_res - 1))); + return ::sqrt(ss / (num_res - 1)); } #undef PB_DS_VTYPE } // namespace detail - } // namespace test - } // namespace pb_ds -#endif // #ifndef PB_DS_SAMPLE_VAR_HPP +#endif |