DOC HOME SITE MAP MAN PAGES GNU INFO SEARCH

# (guile.info.gz) Random

Info Catalog (guile.info.gz) Bitwise Operations (guile.info.gz) Numbers
```
21.2.15 Random Number Generation
--------------------------------

-- Scheme Procedure: copy-random-state [state]
-- C Function: scm_copy_random_state (state)
Return a copy of the random state STATE.

-- Scheme Procedure: random n [state]
-- C Function: scm_random (n, state)
Return a number in [0, N).

Accepts a positive integer or real n and returns a number of the
same type between zero (inclusive) and N (exclusive). The values
returned have a uniform distribution.

The optional argument STATE must be of the type produced by
`seed->random-state'. It defaults to the value of the variable
`*random-state*'. This object is used to maintain the state of the
pseudo-random-number generator and is altered as a side effect of
the random operation.

-- Scheme Procedure: random:exp [state]
-- C Function: scm_random_exp (state)
Return an inexact real in an exponential distribution with mean 1.
For an exponential distribution with mean u use (* u
(random:exp)).

-- Scheme Procedure: random:hollow-sphere! v [state]
-- C Function: scm_random_hollow_sphere_x (v, state)
Fills vect with inexact real random numbers the sum of whose
squares is equal to 1.0.  Thinking of vect as coordinates in space
of dimension n = (vector-length vect), the coordinates are
uniformly distributed over the surface of the unit n-sphere.

-- Scheme Procedure: random:normal [state]
-- C Function: scm_random_normal (state)
Return an inexact real in a normal distribution.  The distribution
used has mean 0 and standard deviation 1.  For a normal
distribution with mean m and standard deviation d use `(+ m (* d
(random:normal)))'.

-- Scheme Procedure: random:normal-vector! v [state]
-- C Function: scm_random_normal_vector_x (v, state)
Fills vect with inexact real random numbers that are independent
and standard normally distributed (i.e., with mean 0 and variance
1).

-- Scheme Procedure: random:solid-sphere! v [state]
-- C Function: scm_random_solid_sphere_x (v, state)
Fills vect with inexact real random numbers the sum of whose
squares is less than 1.0.  Thinking of vect as coordinates in
space of dimension n = (vector-length vect), the coordinates are
uniformly distributed within the unit n-sphere.  The sum of the
squares of the numbers is returned.

-- Scheme Procedure: random:uniform [state]
-- C Function: scm_random_uniform (state)
Return a uniformly distributed inexact real random number in [0,1).

-- Scheme Procedure: seed->random-state seed
-- C Function: scm_seed_to_random_state (seed)
Return a new random state using SEED.

```
Info Catalog (guile.info.gz) Bitwise Operations (guile.info.gz) Numbers
automatically generated byinfo2html