#include <random>
#include "gtest/gtest.h"
#include "misc_language.h"
#include "rolling_median.h"
#include "crypto/crypto.h"
Go to the source code of this file.
|
| | TEST (rolling_median, one) |
| |
| | TEST (rolling_median, two) |
| |
| | TEST (rolling_median, series) |
| |
| | TEST (rolling_median, clear_whole) |
| |
| | TEST (rolling_median, clear_partway) |
| |
| | TEST (rolling_median, order) |
| |
| | TEST (rolling_median, history_blind) |
| |
| | TEST (rolling_median, size) |
| |
◆ TEST() [1/8]
| TEST |
( |
rolling_median |
, |
|
|
one |
|
|
) |
| |
◆ TEST() [2/8]
| TEST |
( |
rolling_median |
, |
|
|
two |
|
|
) |
| |
◆ TEST() [3/8]
| TEST |
( |
rolling_median |
, |
|
|
series |
|
|
) |
| |
Definition at line 65 of file rolling_median.cpp.
68 std::vector<uint64_t> v;
70 for (
int i = 0; i < 10000; ++i)
77 std::vector<uint64_t> vcopy = v;
#define ASSERT_EQ(val1, val2)
void rand(size_t N, uint8_t *bytes)
unsigned __int64 uint64_t
type_vec_type median(std::vector< type_vec_type > &v)
◆ TEST() [4/8]
| TEST |
( |
rolling_median |
, |
|
|
clear_whole |
|
|
) |
| |
Definition at line 82 of file rolling_median.cpp.
88 for (
int i = 0; i < 10000; ++i)
92 median.push_back(m.median());
95 for (
int i = 0; i < 10000; ++i)
#define ASSERT_EQ(val1, val2)
void rand(size_t N, uint8_t *bytes)
type_vec_type median(std::vector< type_vec_type > &v)
uint64_t random(const uint64_t max_value)
◆ TEST() [5/8]
| TEST |
( |
rolling_median |
, |
|
|
clear_partway |
|
|
) |
| |
Definition at line 102 of file rolling_median.cpp.
108 for (
int i = 0; i < 10000; ++i)
112 median.push_back(m.median());
115 for (
int i = 10000 - 100; i < 10000; ++i)
#define ASSERT_EQ(val1, val2)
void rand(size_t N, uint8_t *bytes)
type_vec_type median(std::vector< type_vec_type > &v)
uint64_t random(const uint64_t max_value)
◆ TEST() [6/8]
| TEST |
( |
rolling_median |
, |
|
|
order |
|
|
) |
| |
Definition at line 122 of file rolling_median.cpp.
125 std::vector<uint64_t>
random;
127 for (
int i = 0; i < 1000; ++i)
136 for (
int i = 0; i < 1000; ++i)
142 for (
int i = 0; i < 1000; ++i)
146 std::shuffle(
random.begin(),
random.end(), std::default_random_engine(crypto::rand<unsigned>()));
148 for (
int i = 0; i < 1000; ++i)
#define ASSERT_EQ(val1, val2)
void rand(size_t N, uint8_t *bytes)
unsigned __int64 uint64_t
const GenericPointer< typename T::ValueType > T2 T::AllocatorType & a
uint64_t random(const uint64_t max_value)
◆ TEST() [7/8]
| TEST |
( |
rolling_median |
, |
|
|
history_blind |
|
|
) |
| |
Definition at line 153 of file rolling_median.cpp.
158 for (
int i = 0; i < 1000; ++i)
161 int history_length = 743723 % (i+1);
162 while (history_length--)
163 m.insert(743284 % (i+1));
164 for (
int j = 0; j < 10; ++j)
165 m.insert(8924829384 % (j+1));
#define ASSERT_EQ(val1, val2)
unsigned __int64 uint64_t
type_vec_type median(std::vector< type_vec_type > &v)
◆ TEST() [8/8]
| TEST |
( |
rolling_median |
, |
|
|
size |
|
|
) |
| |
Definition at line 173 of file rolling_median.cpp.
184 for (
int i = 0; i < 10; ++i)
186 m.insert(80 % (i + 1));
197 for (
int i = 0; i < 1000; ++i)
199 m.insert(80 % (i + 1));
200 ASSERT_EQ(m.size(), std::min<int>(10, i + 2));
#define ASSERT_EQ(val1, val2)