summaryrefslogtreecommitdiff
path: root/libstdc++-v3/testsuite/util/statistic
diff options
context:
space:
mode:
authorbkoz <bkoz@138bc75d-0d04-0410-961f-82ee72b054a4>2006-10-03 14:26:14 +0000
committerbkoz <bkoz@138bc75d-0d04-0410-961f-82ee72b054a4>2006-10-03 14:26:14 +0000
commit8b88dda3fb9c57a00e4b93569db5a3a2d9713070 (patch)
treea68073ec26c09be20eb5bb3e4fe2c4d7f5e263fa /libstdc++-v3/testsuite/util/statistic
parenta379e3a91e351e8f1e153c634b090f0e3089f829 (diff)
downloadgcc-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.hpp14
-rw-r--r--libstdc++-v3/testsuite/util/statistic/sample_mean_confidence_checker.hpp24
-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