Provided by: libsdl3-doc_3.2.20+ds-2_all bug

NAME

       SDL_rand_r - Generate a pseudo-random number less than n for positive n

SYNOPSIS

       #include <SDL3/SDL_stdinc.h>

       Sint32 SDL_rand_r(Uint64 *state, Sint32 n);

DESCRIPTION

       The  method  used is faster and of better quality than rand() % n.  Odds are roughly 99.9% even for n = 1
       million. Evenness is better for smaller n, and much worse as n gets bigger.

       Example: to simulate a d6 use SDL_rand_r(state, 6) + 1 The +1 converts 0..5 to 1..6

       If you want  to  generate  a  pseudo-random  number  in  the  full  range  of  Sint32,  you  should  use:
       (Sint32)[SDL_rand_bits_r](SDL_rand_bits_r)(state)

       There  are  no  guarantees as to the quality of the random sequence produced, and this should not be used
       for security (cryptography, passwords) or where money is on the line  (loot-boxes,  casinos).  There  are
       many random number libraries available with different characteristics and you should pick one of those to
       meet any serious needs.

FUNCTION PARAMETERS

       state  a pointer to the current random number state, this may not be NULL.

       n      the number of possible outcomes. n must be positive.

RETURN VALUE

       Returns a random value in the range of [0 .. n-1].

THREAD SAFETY

       This function is thread-safe, as long as the state pointer isn't shared between threads.

AVAILABILITY

       This function is available since SDL 3.2.0.

SEE ALSO

       SDL_rand(3), SDL_rand_bits_r(3), SDL_randf_r(3)

Simple Directmedia Layer                           SDL 3.2.20                                      SDL_rand_r(3)