blob: 13e8fb278ae0ade814fbe3936c6bdbd66f31c0cd [file] [log] [blame]
[email protected]05f9b682008-09-29 22:18:011// 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
12namespace {
[email protected]52a261f2009-03-03 15:01:1213
[email protected]ba990122008-11-14 23:28:2914uint32 RandUint32() {
[email protected]05f9b682008-09-29 22:18:0115 uint32 number;
16 CHECK(rand_s(&number) == 0);
17 return number;
18}
19
20} // namespace
21
22namespace base {
23
[email protected]ba990122008-11-14 23:28:2924uint64 RandUint64() {
25 uint32 first_half = RandUint32();
26 uint32 second_half = RandUint32();
[email protected]05f9b682008-09-29 22:18:0127 return (static_cast<uint64>(first_half) << 32) + second_half;
28}
29
30} // namespace base