Scroll to navigation

SDL_rand(3) SDL3 FUNCTIONS SDL_rand(3)

NAME

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

HEADER FILE

Defined in SDL3/SDL_stdinc.h

SYNOPSIS

#include "SDL3/SDL.h"
Sint32 SDL_rand(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(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 ()

If you want reproducible output, be sure to initialize with

SDL_srand () first.

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

the number of possible outcomes. n must be positive.

RETURN VALUE

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

THREAD SAFETY

All calls should be made from a single thread

AVAILABILITY

This function is available since SDL 3.1.3.

SEE ALSO

(3), SDL_srand(3), (3), SDL_randf(3)

SDL 3.1.6 Simple Directmedia Layer