From a5c25c70ad5ae90ea3a3081dd0a3f19e8b9d2254 Mon Sep 17 00:00:00 2001 From: KunoiSayami Date: Tue, 5 Jul 2022 17:23:48 +0800 Subject: feat(script): Add exp_0702 Signed-off-by: KunoiSayami --- exp_0702.cpp | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) create mode 100644 exp_0702.cpp (limited to 'exp_0702.cpp') diff --git a/exp_0702.cpp b/exp_0702.cpp new file mode 100644 index 0000000..1c74d0a --- /dev/null +++ b/exp_0702.cpp @@ -0,0 +1,34 @@ +#include +#include +#include +#include +#include + +constexpr size_t length = 1048576; +std::vector original_vector; + +long double finite_population_cdf(long double x) { + auto it = upper_bound(original_vector.begin(), original_vector.end(), x); + return (long double)(it - original_vector.begin()) / original_vector.size(); +} + +int main() { + + assert((length & 1) == 0); + assert(length > 1024); + + FILE *file = fopen("normal_distribution.txt", "r"); + assert(file); + for (long long i; fscanf(file, "%lld ", &i) != EOF; + original_vector.push_back(i)) + ; + fclose(file); + + assert(original_vector.size() == length); + + std::sort(original_vector.begin(), original_vector.end()); + + for (int i = length / 1024 - 1; i < length; i += (length / 1024)) { + printf("%Lf\n", finite_population_cdf(original_vector[i])); + } +} \ No newline at end of file -- cgit v1.3.1