summaryrefslogtreecommitdiff
path: root/tests/stdlib_test.cpp
diff options
context:
space:
mode:
authorElliott Hughes <enh@google.com>2014-06-12 11:48:04 -0700
committerElliott Hughes <enh@google.com>2014-06-12 14:37:31 -0700
commita0beeeabbc8735bc830544cbbb1d920122b8d958 (patch)
tree472a5720b949ff3f5a1e3b37cd273f981d286f28 /tests/stdlib_test.cpp
parentd242aff47dc4eaa5081dc7af821308d353cd1090 (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.cpp31
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
}