<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic WordSize of SFMT19937  in Intel® oneAPI Math Kernel Library</title>
    <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/WordSize-of-SFMT19937/m-p/1050310#M21128</link>
    <description>&lt;P&gt;While generating integer sequences of &lt;EM&gt;n&lt;/EM&gt; elements using the the SFMT19937 BRNG, I noticed that the output consisted of exactly &lt;EM&gt;n&lt;/EM&gt; elements, while I should have received 4&lt;EM&gt;n&lt;/EM&gt; elements, according to the Intel VSL Notes documentation.&lt;/P&gt;

&lt;P&gt;I also found that the SFMT19937 WordSize obtained from the VSLBrngProperties struct returns 4, when I expected this to be 16.&lt;/P&gt;

&lt;P&gt;Is this the correct behavior for the SFMT19937 BRNG?&amp;nbsp; If so, how would I go about obtaining all 128 bits of output?&lt;/P&gt;

&lt;P&gt;&amp;nbsp;&lt;/P&gt;

&lt;P&gt;&amp;nbsp;&lt;/P&gt;

&lt;P&gt;&lt;BR /&gt;
	&amp;nbsp;&lt;/P&gt;</description>
    <pubDate>Thu, 05 Nov 2015 22:51:29 GMT</pubDate>
    <dc:creator>Joe_Z_1</dc:creator>
    <dc:date>2015-11-05T22:51:29Z</dc:date>
    <item>
      <title>WordSize of SFMT19937</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/WordSize-of-SFMT19937/m-p/1050310#M21128</link>
      <description>&lt;P&gt;While generating integer sequences of &lt;EM&gt;n&lt;/EM&gt; elements using the the SFMT19937 BRNG, I noticed that the output consisted of exactly &lt;EM&gt;n&lt;/EM&gt; elements, while I should have received 4&lt;EM&gt;n&lt;/EM&gt; elements, according to the Intel VSL Notes documentation.&lt;/P&gt;

&lt;P&gt;I also found that the SFMT19937 WordSize obtained from the VSLBrngProperties struct returns 4, when I expected this to be 16.&lt;/P&gt;

&lt;P&gt;Is this the correct behavior for the SFMT19937 BRNG?&amp;nbsp; If so, how would I go about obtaining all 128 bits of output?&lt;/P&gt;

&lt;P&gt;&amp;nbsp;&lt;/P&gt;

&lt;P&gt;&amp;nbsp;&lt;/P&gt;

&lt;P&gt;&lt;BR /&gt;
	&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Thu, 05 Nov 2015 22:51:29 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/WordSize-of-SFMT19937/m-p/1050310#M21128</guid>
      <dc:creator>Joe_Z_1</dc:creator>
      <dc:date>2015-11-05T22:51:29Z</dc:date>
    </item>
    <item>
      <title>Hi Joe,</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/WordSize-of-SFMT19937/m-p/1050311#M21129</link>
      <description>&lt;P&gt;Hi Joe,&lt;/P&gt;

&lt;P&gt;yes, this is the correct behavior of the SFMT19937 BRNG.&amp;nbsp;We should fix the&amp;nbsp;documentation, thanks for letting us know about the issue.&amp;nbsp;In order to get n 128 bit&amp;nbsp;outputs&amp;nbsp;from the UniformBits() routine, pass 4 n as vector size into this function. Please, let me know, if it addresses your question.&lt;/P&gt;

&lt;P&gt;Andrey&lt;/P&gt;</description>
      <pubDate>Fri, 06 Nov 2015 06:09:46 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/WordSize-of-SFMT19937/m-p/1050311#M21129</guid>
      <dc:creator>Andrey_N_Intel</dc:creator>
      <dc:date>2015-11-06T06:09:46Z</dc:date>
    </item>
    <item>
      <title>Thanks Andrey.  That clears</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/WordSize-of-SFMT19937/m-p/1050312#M21130</link>
      <description>&lt;P&gt;Thanks Andrey.&amp;nbsp; That clears up part of the puzzle, but I have another related question:&lt;/P&gt;

&lt;P&gt;Lets say I start with 2 identical SFMT19937 steams, both seeded with the decimal value 177.&amp;nbsp; Using the first stream, if I request a single uniformly-distributed integer value from the uniformbits() routine and then convert the integer value to a real by dividing by 2^32, the resulting real value is 0.306946337223052978515625&lt;/P&gt;

&lt;P&gt;Using the second stream, if I request a single uniformly-distributed real value from the Uniform() routine, the value returned is 0.806946337223052978515625&lt;/P&gt;

&lt;P&gt;Why has 0.5 been added to the real value in the Uniform() routine?&lt;/P&gt;</description>
      <pubDate>Mon, 09 Nov 2015 15:30:23 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/WordSize-of-SFMT19937/m-p/1050312#M21130</guid>
      <dc:creator>Joe_Z_1</dc:creator>
      <dc:date>2015-11-09T15:30:23Z</dc:date>
    </item>
    <item>
      <title>Hi Joe,</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/WordSize-of-SFMT19937/m-p/1050313#M21131</link>
      <description>&lt;P&gt;Hi Joe,&lt;/P&gt;

&lt;P&gt;Transformation of the 32 bit unsigned integer u into uniformly distributed on the interval [a,b) real number r inside of SFMT19937 relies on the&amp;nbsp;rule:&amp;nbsp; r = (int)u&amp;nbsp;* (b-a) / 2^32&amp;nbsp;+ (b-a)/2.&amp;nbsp;The choice&amp;nbsp;of the&amp;nbsp;transformation is dictated by the performance considerations. We should fix the description of the generator in the documentation.&amp;nbsp;Thank you.&lt;/P&gt;

&lt;P&gt;Please, let me know, if it helps.&lt;/P&gt;

&lt;P&gt;Andrey&lt;/P&gt;

&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Tue, 10 Nov 2015 07:30:57 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/WordSize-of-SFMT19937/m-p/1050313#M21131</guid>
      <dc:creator>Andrey_N_Intel</dc:creator>
      <dc:date>2015-11-10T07:30:57Z</dc:date>
    </item>
  </channel>
</rss>

