bionic (3) memshuffle.3pub.gz

Provided by: publib-dev_0.40-3build1_amd64 bug

NAME

       memshuffle - make an array be in random order

SYNOPSIS

       #include <publib.h>
       void *memshuffle(void *block, size_t elsize, size_t elnum);

DESCRIPTION

       memshuffle  will  move around the elements of an array in a random fashion.  It uses the standard library
       function rand(3) to get the pseudo-random numbers it needs.  The caller must set  a  suitable  seed  with
       srand(3).

RETURN VALUE

       memshuffle returns its first argument.

EXAMPLE

       To shuffle an integer array one might do the following.

            int array[4] = { 1, 2, 3, 4 };

            memshuffle(array, sizeof(array[0]), 4);

BUGS

       On  many  systems  rand(3)  is not of very good quality.  However, it is the only random number generator
       that can be assumed to exist.  Making it possible for the caller to provide an alternate source of random
       numbers (e.g., via a function pointer) is perhaps too more trouble than its worth.  A better way would be
       for everyone to fix their rand's.

SEE ALSO

       publib(3), memrev(3), rand(3), srand(3)

AUTHOR

       Lars Wirzenius (lars.wirzenius@helsinki.fi)