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 { 13 14 uint32 RandUint32() { 15 uint32 number; 16 CHECK_EQ(rand_s(&number), 0); 17 return number; 18 } 19 20 } // namespace 21 22 namespace base { 23 24 uint64 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