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 XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>Random123-1.09: Random123/gsl_microrng.h File Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javaScript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css"/>
</head>
<body onload='searchBox.OnSelectItem(0);'>
<div class="tabs"><ul class="tablist"><li style="padding-left: 1.5em; font-weight: bold">Random123-1.09 Documentation</li></ul></div>
<!-- Generated by Doxygen 1.7.1 -->
<script type="text/javascript"><!--
var searchBox = new SearchBox("searchBox", "search",false,'Search');
--></script>
<div class="navigation" id="top">
<div class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main Page</span></a></li>
<li><a href="pages.html"><span>Related Pages</span></a></li>
<li><a href="modules.html"><span>Modules</span></a></li>
<li><a href="namespaces.html"><span>Namespaces</span></a></li>
<li><a href="annotated.html"><span>Classes</span></a></li>
<li class="current"><a href="files.html"><span>Files</span></a></li>
<li id="searchli">
<div id="MSearchBox" class="MSearchBoxInactive">
<span class="left">
<img id="MSearchSelect" src="search/mag_sel.png"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
alt=""/>
<input type="text" id="MSearchField" value="Search" accesskey="S"
onfocus="searchBox.OnSearchFieldFocus(true)"
onblur="searchBox.OnSearchFieldFocus(false)"
onkeyup="searchBox.OnSearchFieldChange(event)"/>
</span><span class="right">
<a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
</span>
</div>
</li>
</ul>
</div>
<div class="tabs2">
<ul class="tablist">
<li><a href="files.html"><span>File List</span></a></li>
<li><a href="globals.html"><span>File Members</span></a></li>
</ul>
</div>
</div>
<div class="header">
<div class="summary">
<a href="#define-members">Defines</a> </div>
<div class="headertitle">
<h1>Random123/gsl_microrng.h File Reference</h1> </div>
</div>
<div class="contents">
<code>#include <gsl/gsl_rng.h></code><br/>
<code>#include <string.h></code><br/>
<p><a href="gsl__microrng_8h_source.html">Go to the source code of this file.</a></p>
<table class="memberdecls">
<tr><td colspan="2"><h2><a name="define-members"></a>
Defines</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="gsl__microrng_8h.html#a21c7bb64a536a1704c6dc96856b78297">GSL_MICRORNG</a>(NAME, CBRNGNAME)</td></tr>
</table>
<hr/><h2>Define Documentation</h2>
<a class="anchor" id="a21c7bb64a536a1704c6dc96856b78297"></a><!-- doxytag: member="gsl_microrng.h::GSL_MICRORNG" ref="a21c7bb64a536a1704c6dc96856b78297" args="(NAME, CBRNGNAME)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define GSL_MICRORNG</td>
<td>(</td>
<td class="paramtype"> </td>
<td class="paramname">NAME, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"> </td>
<td class="paramname">CBRNGNAME</td><td> </td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td><td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>The macro: <a class="el" href="gsl__microrng_8h.html#a21c7bb64a536a1704c6dc96856b78297">GSL_MICRORNG(NAME, CBRNGNAME)</a> is the GSL analog analog of the C++ <a class="el" href="classr123_1_1MicroURNG.html">r123::MicroURNG</a> template. It declares a gsl_rng type named gsl_rng_NAME which uses the underlying CBRNGNAME and can be invoked a limited number of times between calls to NAME_reset.</p>
<p>When the underlying CBRNG's <code>ctr_t</code> is an <a class="el" href="group__arrayNxW.html">r123arrayNxW</a>, and the gsl_rng_NAME may called up to <code>N*2^32</code> times between calls to <code>NAME_reset</code>.</p>
<p><code>NAME_reset</code> takes a gsl_rng_NAME type, a counter and a key as arguments. It restarts the micro-rng with a new base counter and key.</p>
<p>Note that you must call NAME_reset before the first use of a gsl_rng. NAME_reset is not called automatically by gsl_rng_alloc().</p>
<div class="fragment"><pre class="fragment"><span class="preprocessor"> #include <<a class="code" href="threefry_8h.html">Random123/threefry.h</a>></span>
<span class="preprocessor"> #include <<a class="code" href="gsl__microrng_8h.html">Random123/gsl_microrng.h</a>></span> <span class="comment">// this file</span>
<a class="code" href="gsl__microrng_8h.html#a21c7bb64a536a1704c6dc96856b78297">GSL_MICRORNG</a>(microcbrng, <a class="code" href="threefry_8h.html#a992029974a22f14e0ef29a862ede2b8d">threefry4x64</a>, 20) <span class="comment">// creates gsl_rng_microcbrng</span>
int main(<span class="keywordtype">int</span> argc, <span class="keywordtype">char</span>** argv) {
gsl_rng *r = gsl_rng_alloc(gsl_rng_microcbrng);
<a class="code" href="structr123array4x64.html">threefry4x64_ctr_t</a> c = {{}};
<a class="code" href="structr123array4x64.html">threefry4x64_key_t</a> k = {{}};
<span class="keywordflow">for</span> (...) {
c.<a class="code" href="structr123array4x64.html#aae3a18410877c49f1058bc4d78a62f48">v</a>[0] = ??; <span class="comment">// some application variable</span>
microcbrng_reset(r, c, k);
<span class="keywordflow">for</span> (...) {
<span class="comment">// gaussian calls r several times. It is safe for</span>
<span class="comment">// r to be used upto 2^20 times in this loop</span>
something[i] = gsl_ran_gaussian(r, 1.5);
}
}
}
</pre></div>
</div>
</div>
</div>
<!--- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark"> </span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark"> </span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark"> </span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark"> </span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark"> </span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark"> </span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark"> </span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark"> </span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark"> </span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark"> </span>Friends</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(10)"><span class="SelectionMark"> </span>Defines</a></div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<hr class="footer"/><address class="footer"><small>Generated on Mon Mar 7 2016 18:34:00 for Random123-1.09 by
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.1 </small></address>
</body>
</html>
|