File: Random-number-generator-initialization.html

package info (click to toggle)
gsl-ref-html 2.3-1
  • links: PTS
  • area: non-free
  • in suites: bullseye, buster, sid
  • size: 6,876 kB
  • ctags: 4,574
  • sloc: makefile: 35
file content (137 lines) | stat: -rw-r--r-- 7,388 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<!-- Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016 The GSL Team.

Permission is granted to copy, distribute and/or modify this document
under the terms of the GNU Free Documentation License, Version 1.3 or
any later version published by the Free Software Foundation; with the
Invariant Sections being "GNU General Public License" and "Free Software
Needs Free Documentation", the Front-Cover text being "A GNU Manual",
and with the Back-Cover Text being (a) (see below). A copy of the
license is included in the section entitled "GNU Free Documentation
License".

(a) The Back-Cover Text is: "You have the freedom to copy and modify this
GNU Manual." -->
<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ -->
<head>
<title>GNU Scientific Library &ndash; Reference Manual: Random number generator initialization</title>

<meta name="description" content="GNU Scientific Library &ndash; Reference Manual: Random number generator initialization">
<meta name="keywords" content="GNU Scientific Library &ndash; Reference Manual: Random number generator initialization">
<meta name="resource-type" content="document">
<meta name="distribution" content="global">
<meta name="Generator" content="makeinfo">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<link href="index.html#Top" rel="start" title="Top">
<link href="Function-Index.html#Function-Index" rel="index" title="Function Index">
<link href="Random-Number-Generation.html#Random-Number-Generation" rel="up" title="Random Number Generation">
<link href="Sampling-from-a-random-number-generator.html#Sampling-from-a-random-number-generator" rel="next" title="Sampling from a random number generator">
<link href="The-Random-Number-Generator-Interface.html#The-Random-Number-Generator-Interface" rel="previous" title="The Random Number Generator Interface">
<style type="text/css">
<!--
a.summary-letter {text-decoration: none}
blockquote.smallquotation {font-size: smaller}
div.display {margin-left: 3.2em}
div.example {margin-left: 3.2em}
div.indentedblock {margin-left: 3.2em}
div.lisp {margin-left: 3.2em}
div.smalldisplay {margin-left: 3.2em}
div.smallexample {margin-left: 3.2em}
div.smallindentedblock {margin-left: 3.2em; font-size: smaller}
div.smalllisp {margin-left: 3.2em}
kbd {font-style:oblique}
pre.display {font-family: inherit}
pre.format {font-family: inherit}
pre.menu-comment {font-family: serif}
pre.menu-preformatted {font-family: serif}
pre.smalldisplay {font-family: inherit; font-size: smaller}
pre.smallexample {font-size: smaller}
pre.smallformat {font-family: inherit; font-size: smaller}
pre.smalllisp {font-size: smaller}
span.nocodebreak {white-space:nowrap}
span.nolinebreak {white-space:nowrap}
span.roman {font-family:serif; font-weight:normal}
span.sansserif {font-family:sans-serif; font-weight:normal}
ul.no-bullet {list-style: none}
-->
</style>


</head>

<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000">
<a name="Random-number-generator-initialization"></a>
<div class="header">
<p>
Next: <a href="Sampling-from-a-random-number-generator.html#Sampling-from-a-random-number-generator" accesskey="n" rel="next">Sampling from a random number generator</a>, Previous: <a href="The-Random-Number-Generator-Interface.html#The-Random-Number-Generator-Interface" accesskey="p" rel="previous">The Random Number Generator Interface</a>, Up: <a href="Random-Number-Generation.html#Random-Number-Generation" accesskey="u" rel="up">Random Number Generation</a> &nbsp; [<a href="Function-Index.html#Function-Index" title="Index" rel="index">Index</a>]</p>
</div>
<hr>
<a name="Random-number-generator-initialization-1"></a>
<h3 class="section">18.3 Random number generator initialization</h3>

<dl>
<dt><a name="index-gsl_005frng_005falloc"></a>Function: <em>gsl_rng *</em> <strong>gsl_rng_alloc</strong> <em>(const gsl_rng_type * <var>T</var>)</em></dt>
<dd><a name="index-gsl_005frng"></a>
<p>This function returns a pointer to a newly-created
instance of a random number generator of type <var>T</var>.
For example, the following code creates an instance of the Tausworthe
generator,
</p>
<div class="example">
<pre class="example">gsl_rng * r = gsl_rng_alloc (gsl_rng_taus);
</pre></div>

<p>If there is insufficient memory to create the generator then the
function returns a null pointer and the error handler is invoked with an
error code of <code>GSL_ENOMEM</code>.
</p>
<a name="index-gsl_005frng_005fdefault_005fseed"></a>
<a name="index-GSL_005fRNG_005fSEED-1"></a>
<a name="index-GSL_005fRNG_005fSEED"></a>
<p>The generator is automatically initialized with the default seed,
<code>gsl_rng_default_seed</code>.  This is zero by default but can be changed
either directly or by using the environment variable <code>GSL_RNG_SEED</code>
(see <a href="Random-number-environment-variables.html#Random-number-environment-variables">Random number environment variables</a>).
</p>
<p>The details of the available generator types are
described later in this chapter.
</p></dd></dl>

<dl>
<dt><a name="index-gsl_005frng_005fset"></a>Function: <em>void</em> <strong>gsl_rng_set</strong> <em>(const gsl_rng * <var>r</var>, unsigned long int <var>s</var>)</em></dt>
<dd><p>This function initializes (or &lsquo;seeds&rsquo;) the random number generator.  If
the generator is seeded with the same value of <var>s</var> on two different
runs, the same stream of random numbers will be generated by successive
calls to the routines below.  If different values of <em><var>s</var> &gt;= 1</em> are supplied, then the generated streams of random
numbers should be completely different.  If the seed <var>s</var> is zero
then the standard seed from the original implementation is used
instead.  For example, the original Fortran source code for the
<code>ranlux</code> generator used a seed of 314159265, and so choosing
<var>s</var> equal to zero reproduces this when using
<code>gsl_rng_ranlux</code>.  
</p>
<p>When using multiple seeds with the same generator, choose seed values
greater than zero to avoid collisions with the default setting.  
</p>
<p>Note that the most generators only accept 32-bit seeds, with higher
values being reduced modulo <em>2^32</em>.  For generators
with smaller ranges the maximum seed value will typically be lower.
</p></dd></dl>

<dl>
<dt><a name="index-gsl_005frng_005ffree"></a>Function: <em>void</em> <strong>gsl_rng_free</strong> <em>(gsl_rng * <var>r</var>)</em></dt>
<dd><p>This function frees all the memory associated with the generator
<var>r</var>.
</p></dd></dl>

<hr>
<div class="header">
<p>
Next: <a href="Sampling-from-a-random-number-generator.html#Sampling-from-a-random-number-generator" accesskey="n" rel="next">Sampling from a random number generator</a>, Previous: <a href="The-Random-Number-Generator-Interface.html#The-Random-Number-Generator-Interface" accesskey="p" rel="previous">The Random Number Generator Interface</a>, Up: <a href="Random-Number-Generation.html#Random-Number-Generation" accesskey="u" rel="up">Random Number Generation</a> &nbsp; [<a href="Function-Index.html#Function-Index" title="Index" rel="index">Index</a>]</p>
</div>



</body>
</html>