fix test_random to not use memset()

This commit is contained in:
arvidn 2018-01-28 15:27:10 +01:00 committed by Arvid Norberg
parent a3a38b4d64
commit f4de19fbff
1 changed files with 5 additions and 3 deletions

View File

@ -34,6 +34,8 @@ POSSIBILITY OF SUCH DAMAGE.
#include "setup_transfer.hpp" #include "setup_transfer.hpp"
#include "libtorrent/random.hpp" #include "libtorrent/random.hpp"
#include <array>
using namespace lt; using namespace lt;
TORRENT_TEST(random) TORRENT_TEST(random)
@ -43,8 +45,8 @@ TORRENT_TEST(random)
for (int byte = 0; byte < 4; ++byte) for (int byte = 0; byte < 4; ++byte)
{ {
int buckets[256]; std::array<int, 256> buckets;
std::memset(buckets, 0, sizeof(buckets)); buckets.fill(0);
for (int i = 0; i < repetitions; ++i) for (int i = 0; i < repetitions; ++i)
{ {
@ -58,7 +60,7 @@ TORRENT_TEST(random)
const int expected = repetitions / 256; const int expected = repetitions / 256;
// expect each bucket to be within 15% of the expected value // expect each bucket to be within 15% of the expected value
std::printf("%d: %f\n", i, double(buckets[i] - expected) * 100.0 / expected); std::printf("%d: %f\n", i, double(buckets[i] - expected) * 100.0 / expected);
TEST_CHECK(abs(buckets[i] - expected) < expected / 6); TEST_CHECK(std::abs(buckets[i] - expected) < expected / 6);
} }
} }
} }