VLC  2.1.0-git
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Functions | Variables
rand.c File Reference
Include dependency graph for rand.c:

Functions

static void init_rand48 (void)
double vlc_drand48 (void)
 PRNG uniformly distributed between 0.0 and 1.0 with 48-bits precision.
long vlc_lrand48 (void)
 PRNG uniformly distributed between 0 and 2^32 - 1.
long vlc_mrand48 (void)
 PRNG uniformly distributed between -2^32 and 2^32 - 1.

Variables

struct {
   bool   init
   unsigned short   subi [3]
   vlc_mutex_t   lock
rand48

Function Documentation

static void init_rand48 ( void  )
static

References rand48, subi, and vlc_rand_bytes().

Referenced by vlc_drand48(), vlc_lrand48(), and vlc_mrand48().

double vlc_drand48 ( void  )

PRNG uniformly distributed between 0.0 and 1.0 with 48-bits precision.

Note
Contrary to POSIX drand48(), this function is thread-safe.
Warning
Series generated by this function are not reproducible. Use erand48() if you need reproducible series.
Returns
a double value within [0.0, 1.0] inclusive

References erand48(), init_rand48(), rand48, vlc_mutex_lock(), and vlc_mutex_unlock().

long vlc_lrand48 ( void  )

PRNG uniformly distributed between 0 and 2^32 - 1.

Note
Contrary to POSIX lrand48(), this function is thread-safe.
Warning
Series generated by this function are not reproducible. Use nrand48() if you need reproducible series.
Returns
an integral value within [0.0, 2^32-1] inclusive

References init_rand48(), nrand48(), rand48, vlc_mutex_lock(), and vlc_mutex_unlock().

Referenced by ResetCurrentlyPlaying().

long vlc_mrand48 ( void  )

PRNG uniformly distributed between -2^32 and 2^32 - 1.

Note
Contrary to POSIX mrand48(), this function is thread-safe.
Warning
Series generated by this function are not reproducible. Use jrand48() if you need reproducible series.
Returns
an integral value within [-2^32, 2^32-1] inclusive

References init_rand48(), jrand48(), rand48, vlc_mutex_lock(), and vlc_mutex_unlock().

Referenced by httpd_StreamCallBack(), input_item_add_subitem_tree(), and playlist_ItemArraySort().

Variable Documentation

bool init

Referenced by module_load().

struct { ... } rand48
unsigned short subi[3]

Referenced by init_rand48().