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 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212
|
<!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: </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 class="current"><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><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>
<div class="contents">
<dl>
<dt>1.09 - Mar 6, 2016 </dt>
<dd><ul>
<li>
add define R123_USE_U01_DOUBLE to u10fixedpt.h </li>
<li>
fix definition of const char *srcstr[] in util_opencl.h </li>
<li>
improve nvccfeatures.h so that 64-bit philox can be used both on the host and on the cuda device. </li>
<li>
add _Pragmas so R123_STATIC_ASSERT doesn't warn with clang-3.6. </li>
<li>
boxmuller.hpp doesn't look for sincos when __APPLE__ is true. </li>
</ul>
</dd>
<dt>1.08 - Aug 20, 2013 </dt>
<dd><ul>
<li>
Fix a bug in threefry2xW whereby rotation constants were chosen incorrectly after the 20th round. There is no reason to suspect that the incorrectly chosen rotation constants were "bad" or "deficient" so there is no reason to suspect the quality of the random numbers produced. Using threefry with R>20 would have been rare in any case. The fix simply makes the implementation correspond correctly to the description in the paper. </li>
<li>
Add examples/uniform.hpp, examples/boxmuller.hpp and examples/ua.hpp, containing example code to generate uniformly and gaussian distributed floats and doubles. Also add unit tests (ut_uniform.cpp, ut_uniform_IEEEkat.cpp) and timing harnesses (time_boxmuller.cpp and time_boxmuller_cuda.cpp). </li>
<li>
Demote u01.h from the include/Random123/ to examples/ufixed01.h, but examples/uniform.hpp is preferred. </li>
<li>
Add kat_vectors for threefry2xW_32 and threefry4xW_72, i.e., the largest number of supported rounds in each case. </li>
<li>
Mention ukey on the first page of docs. </li>
<li>
Fix typos in documentation and comments and in gccfeatures.h. </li>
<li>
Don't include <x86intrin.h> unless (defined(__x86_64__)||defined(__i386__)). </li>
<li>
Use __clang__ rather than __llvm__ in the predicate that decides whether to include clangfeatures.h. </li>
<li>
Add support for Portland Group compilers. </li>
<li>
Add support for gcc and IBM XL compilers on powerpc64, e.g. BlueGene/Q. </li>
<li>
Refuse to build with CUDA before 4.1 to avoid namespace bug. </li>
</ul>
<p class="enddd"></p>
</dd>
<dt>1.07 - Nov 7, 2012 </dt>
<dd><ul>
<li>
Provide const static data members: _Min and _Max in Engine and MicroURNG, which work around a non-standard requirement imposed by the MacOS Xcode 4.5.2 <random> library. </li>
<li>
Fine-grained test macros for specific features of C++11 rather than an all-or-none USE_CXX0X macro. Features tested: constexpr, unrestricted unions, explicit conversions, <random> and <type_traits>. </li>
<li>
Declare max() and min() methods with the R123_CONSTEXPR attribute in Engine and MicroURNG. </li>
<li>
Improved clang support </li>
<li>
Works with Solaris Sun CC now (requires -library=stlport4) </li>
<li>
NVIDIA GTX6x0 should report correct core count </li>
<li>
ut_features prints the list of features that compile on the build platform </li>
<li>
Compiles cleanly with -Wall -Wextra (implying -Wunused-parameter -Wsign-compare) </li>
</ul>
<p class="enddd"></p>
</dd>
<dt>1.06 - Apr 5, 2012 </dt>
<dd><ul>
<li>
Added a known answer test for the u01 functions (kat_u01). </li>
<li>
Defend headers against possible max and min macros in "system" header files. </li>
</ul>
<p class="enddd"></p>
</dd>
<dt>1.05 - Mar 20, 2012 </dt>
<dd><ul>
<li>
MicroURNG and GSL_MICROURNG no longer give the programmer control over the number bits in the internal counter via a template or macro argument. Such flexibility is too easy to misuse, with the possible consequence of repeating random values. Now, all MicroURNGs have a period in excess of 2^32, and MicroURNG<CBRNG>(c1, k1) and MicroURNG<CBRNG>(c2, k2) "collide" if and only if c1==c2 and k1==k2. </li>
<li>
Added <Random123/u01.h> header file with static functions for conversion of integers to uniformly distributed floating point values. </li>
<li>
Make operator<<(ostream&, const r123array&) and operator>>(ostream&, r123array&) inline. This should work around ODR violations when the header files are included in more than one file in a project. </li>
<li>
Recognize that icpc has an _mm_set_epi64x intrinsic as of version 12.1. </li>
<li>
The gsl adapters always return 32-bits of random data, regardless of the width of counter type. </li>
<li>
Works around lack of anonymous enums in Intel OpenCL 1.5 </li>
<li>
gencl.sh works on MacOS and systems with "classic" BSD indent. </li>
<li>
Tests run on AMD Radeon 7970 (Tahiti). </li>
</ul>
<p></p>
<p class="enddd"></p>
</dd>
<dt>1.04 - Dec 5, 2011</dt>
<dd><ul>
<li>
new kat_vectors - there are now three tests for each tested generator: gen(ctr=0, key=0), gen(ctr=fff, key=0xfff), and gen(ctr=digits-of-pi, key=more-digits-of-pi). There are fewer tests overall, but they provide better coverage, especially of non-zero keys. </li>
</ul>
<p class="enddd"></p>
</dd>
<dt>1.03 - Nov 30, 2011</dt>
<dd><ul>
<li>
overhaul known answer tests (kat) <ul>
<li>
common source for serial C, C++, cuda and opencl replaces katc and katpp </li>
<li>
add missing kat_vectors for threefry2x32 </li>
</ul>
</li>
<li>
make keyinit functions device/kernel functions in CUDA/OpenCL </li>
<li>
replace r123array::assemble methods with r123array::seed(SeedSeq) template </li>
<li>
cleanup of signatures of Engine and MicroURNG methods: <ul>
<li>
Engine(ukey_type&) and MicroURNG(ctr_type, ukey_type) constructors. </li>
<li>
Engine(SeedSeq&) takes a reference argument, and, when C++0x <type_traits> are available the SeedSeq templates don't participate in "surprising" overloads. </li>
</ul>
</li>
</ul>
<p class="enddd"></p>
</dd>
<dt>1.02 - Nov 21, 2011</dt>
<dd><ul>
<li>
<b> BUG FIXED </b> in threefry2xW_R(R<20, ...). Earlier implementations of threefry2x32_R and threfry2x64_R produced incorrect results when called with the number of rounds less than 20. The bug caused extra work to be done in every call, possibly resulting in <em>more</em> mixing than the correct implementation delivers. Both old (buggy, more mixing) and new (bug-fixed, less mixing) implementations have been rechecked and are fully "Crush-Resistant". </li>
<li>
worked around problems with argument marshalling in version 2.4 of the AMDAPPSDK OpenCL implementation </li>
</ul>
<p class="enddd"></p>
</dd>
<dt>1.01 - Nov 11, 2011</dt>
<dd><ul>
<li>
allow the user to define __STDC_CONSTANT_MACROS </li>
<li>
allow r123arrayNxW::incr(larger_than_largest_value_type) </li>
</ul>
<p class="enddd"></p>
</dd>
<dt>1.00 - Sep 26, 2011</dt>
<dd>Initial release </dd>
</dl>
</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>
|