From: couturie Date: Mon, 5 Sep 2011 20:11:49 +0000 (+0200) Subject: ajout X-Git-Url: https://bilbo.iut-bm.univ-fcomte.fr/and/gitweb/prng_gpu.git/commitdiff_plain/77973c61177ccd9f68459a2095c29d48d11af26f?ds=sidebyside ajout --- diff --git a/prng_gpu.tex b/prng_gpu.tex index c505685..e177e24 100644 --- a/prng_gpu.tex +++ b/prng_gpu.tex @@ -35,7 +35,8 @@ In order to implement efficiently a PRNG based on chaotic iterations it is possible to improve previous works [ref]. One solution consists in considering that the strategy used $S^i$ contains all the bits for which the negation is achieved out. Then instead of applying the negation on these bits we can simply -apply the xor operator between the current number and the strategy $S^i$. +apply the xor operator between the current number and the strategy $S^i$. In +order to obtain the strategy we also use a classical PRNG. \begin{figure}[htbp] \begin{center} @@ -46,11 +47,11 @@ unsigned int CIprng() \{\\ unsigned long t1 = xorshift();\\ unsigned long t2 = xor128();\\ unsigned long t3 = xorwow();\\ - x = x\^\ (unsigned int)t;\\ + x = x\^\ (unsigned int)t1;\\ x = x\^\ (unsigned int)(t2$>>$32);\\ x = x\^\ (unsigned int)(t3$>>$32);\\ x = x\^\ (unsigned int)t2;\\ - x = x\^\ (unsigned int)(t$>>$32);\\ + x = x\^\ (unsigned int)(t1$>>$32);\\ x = x\^\ (unsigned int)t3;\\ return x;\\ \} @@ -61,9 +62,13 @@ unsigned int CIprng() \{\\ \label{algo:seqCIprng} \end{figure} -In Figure~\ref{algo:seqCIprng} a sequential version of our chaotic iterations based PRNG is -presented. This version uses three classical 64-bits PRNG: the xorshift, the -xor128 and the xorwow. These three PRNGs are presented in~\cite{Marsaglia2003}. +In Figure~\ref{algo:seqCIprng} a sequential version of our chaotic iterations +based PRNG is presented. This version uses three classical 64-bits PRNG: the +\texttt{xorshift}, the \texttt{xor128} and the \texttt{xorwow}. These three +PRNGs are presented in~\cite{Marsaglia2003}. As each PRNG used works with +64-bits and as our PRNG works with 32-bits, the use of \texttt{(unsigned int)} +selects the 32 least significant bits whereas \texttt{(unsigned int)(t3$>>$32)} +selects the 32 bits most significants bits of the variable \texttt{t}. \section{Efficient prng based on chaotic iterations on GPU}