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 12namespace { 13 14uint32 RandUint32() { 15 uint32 number; 16 CHECK_EQ(rand_s(&number), 0); 17 return number; 18} 19 20} // namespace 21 22namespace base { 23 24uint64 RandUint64() { 25 uint32 first_half = RandUint32(); 26 uint32 second_half = RandUint32(); 27 return (static_cast<uint64>(first_half) << 32) + second_half; 28} 29 30} // namespace base 31