Changeset View
Changeset View
Standalone View
Standalone View
lib/libc/gen/jrand48.c
| /* | /* | ||||
| * Copyright (c) 1993 Martin Birgmeier | * Copyright (c) 1993 Martin Birgmeier | ||||
| * All rights reserved. | * All rights reserved. | ||||
| * | * | ||||
| * You may redistribute unmodified or modified versions of this source | * You may redistribute unmodified or modified versions of this source | ||||
| * code provided that the above copyright notice and this and the | * code provided that the above copyright notice and this and the | ||||
| * following conditions are retained. | * following conditions are retained. | ||||
| * | * | ||||
| * This software is provided ``as is'', and comes with no warranties | * This software is provided ``as is'', and comes with no warranties | ||||
| * of any kind. I shall in no event be liable for anything that happens | * of any kind. I shall in no event be liable for anything that happens | ||||
| * to anyone/anything when using this software. | * to anyone/anything when using this software. | ||||
| */ | */ | ||||
| #include <stdint.h> | |||||
| #include "rand48.h" | #include "rand48.h" | ||||
| long | long | ||||
| jrand48(unsigned short xseed[3]) | jrand48(unsigned short xseed[3]) | ||||
| { | { | ||||
| uint48 tmp; | |||||
| _dorand48(xseed); | DORAND48(tmp, xseed); | ||||
| return ((int32_t)(((uint32_t)xseed[2] << 16) | (uint32_t)xseed[1])); | return ((int)((tmp >> 16) & 0xffffffff)); | ||||
| } | } | ||||