Annotation of parser3/src/include/pa_random.h, revision 1.2
1.1 misha 1: /** @file
2: Parser: random related functions.
3:
1.2 ! misha 4: Copyright (c) 2001-2009 ArtLebedev Group (http://www.artlebedev.com)
1.1 misha 5: Author: Alexandr Petrosian <paf@design.ru> (http://paf.design.ru)
6: */
7:
8: #ifndef PA_RANDOM_H
9: #define PA_RANDOM_H
10:
1.2 ! misha 11: static const char * const IDENT_RANDOM_H="$Date: 2009-01-25 01:57:09 $";
1.1 misha 12:
13: #include "pa_types.h"
14:
15: #define MAX_UINT 0xFFFFFFFFu
16:
17: void random(void *buffer, size_t size);
18:
19: static inline int _random(uint top) {
20: uint raw;
21: random(&raw, sizeof(raw));
22: return int(double(raw) / MAX_UINT * top );
23: }
24:
25: /// to hell with extra bytes on 64bit platforms
26: struct uuid {
27: unsigned int time_low;
28: unsigned short time_mid;
29: unsigned short time_hi_and_version;
30: unsigned short clock_seq;
31: unsigned char node[6];
32: };
33:
34: uuid get_uuid();
35:
36: #endif
E-mail: