| The Android Open Source Project | 1dc9e47 | 2009-03-03 19:28:35 -0800 | [diff] [blame] | 1 | /* | 
|  | 2 | * Copyright (c) 1993 Martin Birgmeier | 
|  | 3 | * All rights reserved. | 
|  | 4 | * | 
|  | 5 | * You may redistribute unmodified or modified versions of this source | 
|  | 6 | * code provided that the above copyright notice and this and the | 
|  | 7 | * following conditions are retained. | 
|  | 8 | * | 
|  | 9 | * This software is provided ``as is'', and comes with no warranties | 
|  | 10 | * of any kind. I shall in no event be liable for anything that happens | 
|  | 11 | * to anyone/anything when using this software. | 
|  | 12 | */ | 
|  | 13 |  | 
|  | 14 | #include <sys/cdefs.h> | 
|  | 15 |  | 
|  | 16 | #include "rand48.h" | 
|  | 17 |  | 
|  | 18 | double | 
|  | 19 | erand48(unsigned short xseed[3]) | 
|  | 20 | { | 
| Jim Huang | 7047810 | 2010-09-27 22:42:28 +0800 | [diff] [blame] | 21 | __dorand48(xseed); | 
| The Android Open Source Project | 1dc9e47 | 2009-03-03 19:28:35 -0800 | [diff] [blame] | 22 | return ldexp((double) xseed[0], -48) + | 
|  | 23 | ldexp((double) xseed[1], -32) + | 
|  | 24 | ldexp((double) xseed[2], -16); | 
|  | 25 | } |