PostGIS  3.0.6dev-r@@SVN_REVISION@@

◆ lwrandom_uniform()

double lwrandom_uniform ( void  )

Definition at line 94 of file lwrandom.c.

95 {
96  double value;
97  int32_t k;
98  int32_t z;
99  int32_t *s1 = &_lwrandom_seed[1];
100  int32_t *s2 = &_lwrandom_seed[2];
101 
102  k = *s1 / 53668;
103  *s1 = 40014 * (*s1 - k * 53668) - k * 12211;
104  if (*s1 < 0)
105  *s1 += 2147483563;
106 
107  k = *s2 / 52774;
108  *s2 = 40692 * (*s2 - k * 52774) - k * 3791;
109  if (*s2 < 0)
110  *s2 += 2147483399;
111 
112  z = *s1 - *s2;
113  if (z < 1)
114  z += 2147483562;
115 
116  value = (double)(z) / 2147483563.0;
117 
118  return value;
119 }
static int32_t _lwrandom_seed[3]
Definition: lwrandom.c:40
int value
Definition: genraster.py:62

References _lwrandom_seed, and genraster::value.

Referenced by lwgeom_solid_contains_lwgeom(), and lwpoly_to_points().

Here is the caller graph for this function: