--- parser3/src/include/pa_random.h 2016/07/21 17:05:37 1.5 +++ parser3/src/include/pa_random.h 2017/02/07 22:00:35 1.7 @@ -1,25 +1,23 @@ /** @file Parser: random related functions. - Copyright (c) 2001-2015 Art. Lebedev Studio (http://www.artlebedev.com) + Copyright (c) 2001-2017 Art. Lebedev Studio (http://www.artlebedev.com) Author: Alexandr Petrosian (http://paf.design.ru) */ #ifndef PA_RANDOM_H #define PA_RANDOM_H -#define IDENT_PA_RANDOM_H "$Id: pa_random.h,v 1.5 2016/07/21 17:05:37 moko Exp $" +#define IDENT_PA_RANDOM_H "$Id: pa_random.h,v 1.7 2017/02/07 22:00:35 moko Exp $" #include "pa_types.h" -#define MAX_UINT 0xFFFFFFFFu - void random(void *buffer, size_t size); -static inline int _random(uint top) { - uint raw; +static inline int _random(int top) { + uint32_t raw; random(&raw, sizeof(raw)); - return int(double(raw) / MAX_UINT * top ); + return int( double(raw) / ((double)UINT32_MAX+1) * top ); } char *get_uuid_cstr();