[email protected] | 05f9b68 | 2008-09-29 22:18:01 | [diff] [blame] | 1 | // Copyright (c) 2008 The Chromium Authors. All rights reserved. |
2 | // Use of this source code is governed by a BSD-style license that can be | ||||
3 | // found in the LICENSE file. | ||||
4 | |||||
5 | #include "base/rand_util.h" | ||||
6 | |||||
7 | #include <stdlib.h> | ||||
8 | |||||
9 | #include "base/basictypes.h" | ||||
10 | #include "base/logging.h" | ||||
11 | |||||
12 | namespace { | ||||
[email protected] | 52a261f | 2009-03-03 15:01:12 | [diff] [blame^] | 13 | |
[email protected] | ba99012 | 2008-11-14 23:28:29 | [diff] [blame] | 14 | uint32 RandUint32() { |
[email protected] | 05f9b68 | 2008-09-29 22:18:01 | [diff] [blame] | 15 | uint32 number; |
16 | CHECK(rand_s(&number) == 0); | ||||
17 | return number; | ||||
18 | } | ||||
19 | |||||
20 | } // namespace | ||||
21 | |||||
22 | namespace base { | ||||
23 | |||||
[email protected] | ba99012 | 2008-11-14 23:28:29 | [diff] [blame] | 24 | uint64 RandUint64() { |
25 | uint32 first_half = RandUint32(); | ||||
26 | uint32 second_half = RandUint32(); | ||||
[email protected] | 05f9b68 | 2008-09-29 22:18:01 | [diff] [blame] | 27 | return (static_cast<uint64>(first_half) << 32) + second_half; |
28 | } | ||||
29 | |||||
30 | } // namespace base |