diff options
author | Elliott Hughes <enh@google.com> | 2014-06-12 11:48:04 -0700 |
---|---|---|
committer | Elliott Hughes <enh@google.com> | 2014-06-12 14:37:31 -0700 |
commit | a0beeeabbc8735bc830544cbbb1d920122b8d958 (patch) | |
tree | 472a5720b949ff3f5a1e3b37cd273f981d286f28 /tests/stdlib_test.cpp | |
parent | d242aff47dc4eaa5081dc7af821308d353cd1090 (diff) |
Get the full set of PRNG functions in <stdlib.h>
Bug: https://code.google.com/p/android/issues/detail?id=58888
Change-Id: I435250bdae302e8bd7e29977d0fde7b9afbfca5e
Diffstat (limited to 'tests/stdlib_test.cpp')
-rw-r--r-- | tests/stdlib_test.cpp | 31 |
1 files changed, 19 insertions, 12 deletions
diff --git a/tests/stdlib_test.cpp b/tests/stdlib_test.cpp index 978a60fa8..7c86d76ba 100644 --- a/tests/stdlib_test.cpp +++ b/tests/stdlib_test.cpp @@ -35,27 +35,34 @@ TEST(stdlib, drand48) { EXPECT_DOUBLE_EQ(0.061637783047395089, drand48()); } -TEST(stdlib, lrand48_random_rand) { +TEST(stdlib, lrand48) { srand48(0x01020304); EXPECT_EQ(1409163720, lrand48()); EXPECT_EQ(397769746, lrand48()); EXPECT_EQ(902267124, lrand48()); EXPECT_EQ(132366131, lrand48()); +} -#if defined(__BIONIC__) - // On bionic, random(3) is equivalent to lrand48... +TEST(stdlib, random) { srandom(0x01020304); - EXPECT_EQ(1409163720, random()); - EXPECT_EQ(397769746, random()); - EXPECT_EQ(902267124, random()); - EXPECT_EQ(132366131, random()); + EXPECT_EQ(55436735, random()); + EXPECT_EQ(1399865117, random()); + EXPECT_EQ(2032643283, random()); + EXPECT_EQ(571329216, random()); +} - // ...and rand(3) is the bottom 32 bits. +TEST(stdlib, rand) { srand(0x01020304); - EXPECT_EQ(static_cast<int>(1409163720), rand()); - EXPECT_EQ(static_cast<int>(397769746), rand()); - EXPECT_EQ(static_cast<int>(902267124), rand()); - EXPECT_EQ(static_cast<int>(132366131), rand()); +#if defined(__BIONIC__) + EXPECT_EQ(1675538669, rand()); + EXPECT_EQ(1678228258, rand()); + EXPECT_EQ(1352350131, rand()); + EXPECT_EQ(824068976, rand()); +#else + EXPECT_EQ(55436735, rand()); + EXPECT_EQ(1399865117, rand()); + EXPECT_EQ(2032643283, rand()); + EXPECT_EQ(571329216, rand()); #endif } |