GRASS GIS 8 Programmer's Manual 8.2.1(2023)-exported
rand1.c
Go to the documentation of this file.
1#include <stdlib.h>
2#include <grass/gis.h>
3#include <grass/gmath.h>
4
5
6/*!
7 * \fn float G_math_rand (int seed)
8 *
9 * \brief Random Number Generator (Uniform)
10 *
11 * Random number generator (Uniform Derivatives 0.0 -> 1.0)
12 *
13 * \param[in] seed
14 * \return float
15 */
16
17float G_math_rand(void)
18{
19 return G_drand48();
20}
21
22/*!
23 * \brief Seed the pseudo-random number generator
24 *
25 * \param seedval 32-bit integer used to seed the PRNG
26 */
27
28void G_math_srand(int seed)
29{
30 G_srand48(seed);
31}
32
33/*!
34 * \brief Seed the pseudo-random number generator from the time and PID
35 *
36 * \return generated seed value passed to G_srand48()
37 */
38
40{
41 return (int) G_srand48_auto();
42}
long G_srand48_auto(void)
Seed the pseudo-random number generator from the time and PID.
Definition: lrand48.c:71
void G_srand48(long seedval)
Seed the pseudo-random number generator.
Definition: lrand48.c:53
double G_drand48(void)
Generate a floating-point value in the range [0,1)
Definition: lrand48.c:158
int G_math_srand_auto(void)
Seed the pseudo-random number generator from the time and PID.
Definition: rand1.c:39
void G_math_srand(int seed)
Seed the pseudo-random number generator.
Definition: rand1.c:28
float G_math_rand(void)
Definition: rand1.c:17