random.h File Reference

A PRNG library. More...

`#include <stdint.h>`
`#include <stdlib.h>`

Go to the source code of this file.

## Macros

#define | random_int()
| Get a random int.
#define | random_uint()
| Get a random unsigned int.
#define | random_int32()
| Get a random int32_t.

## Functions

void | random_init (void)
| Initialize the random number generator.
int64_t | random_int64 (void)
| Get a random int64_t.
double | random_double (void)
| Get a random double from (0, 1).
void | random_array (void *m, size_t l)
| Insert random data into an array.
void | random_hex (char *s, size_t l)
| Insert a random string in hexadecimal.

## Detailed Description

A PRNG library.

## Macro Definition Documentation

## random_int

#define random_int | ( |  | ) |

Value:
((int) random_int64())
random_int64
int64_t random_int64(void)
Get a random int64_t.

Get a random int.

Returns
  a random int.

## random_uint

#define random_uint | ( |  | ) |

Value:
((unsigned) random_int64())

Get a random unsigned int.

Returns
  a random unsigned int.

## random_int32

#define random_int32 | ( |  | ) |

Value:
((int32_t) random_int64())

Get a random int32_t.

Returns
  a random int32_t.

## Function Documentation

## random_init()

void random_init | ( | void |  | ) |

Initialize the random number generator.

Uses system PRNG devices to seed the library PRNG.

## random_int64()

int64_t random_int64 | ( | void |  | ) |

Get a random int64_t.

Returns
  a random int64_t.

## random_double()

double random_double | ( | void |  | ) |

Get a random double from (0, 1).

Returns
  a random double from (0, 1)

## random_array()

void random_array | ( | void * | m,
|  | size_t | l )

Insert random data into an array.

Parameters

  m | the memory to fill.
  l | the length of the m.

## random_hex()

void random_hex | ( | char * | s,
|  | size_t | l )

Insert a random string in hexadecimal.

Parameters

  s | the location in the string.
  l | the number of characters to insert. Includes NUL byte!