<?xml version='1.0' encoding='UTF-8' standalone='no'?>
<doxygen xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="compound.xsd" version="1.16.1" xml:lang="en-US">
  <compounddef id="xoroshiro128p_8h" kind="file" language="C++">
    <compoundname>xoroshiro128p.h</compoundname>
    <includes local="no">stdint.h</includes>
    <includedby refid="random_8h" local="no">random.h</includedby>
    <incdepgraph>
      <node id="1">
        <label>xoroshiro128p.h</label>
        <link refid="xoroshiro128p_8h"/>
        <childnode refid="2" relation="include">
        </childnode>
      </node>
      <node id="2">
        <label>stdint.h</label>
      </node>
    </incdepgraph>
    <invincdepgraph>
      <node id="2">
        <label>random.h</label>
        <link refid="random_8h"/>
        <childnode refid="3" relation="include">
        </childnode>
      </node>
      <node id="1">
        <label>xoroshiro128p.h</label>
        <link refid="xoroshiro128p_8h"/>
        <childnode refid="2" relation="include">
        </childnode>
      </node>
      <node id="3">
        <label>benchmark_common.h</label>
        <link refid="benchmark__common_8h"/>
      </node>
    </invincdepgraph>
    <sectiondef kind="func">
      <memberdef kind="function" id="xoroshiro128p_8h_1a616a08c6441f9c1651d475401e245f3d" prot="public" static="yes" const="no" explicit="no" inline="yes" virt="non-virtual">
        <type>uint64_t</type>
        <definition>static uint64_t rotl</definition>
        <argsstring>(const uint64_t x, const int k)</argsstring>
        <name>rotl</name>
        <param>
          <type>const uint64_t</type>
          <declname>x</declname>
        </param>
        <param>
          <type>const int</type>
          <declname>k</declname>
        </param>
        <briefdescription>
<para>rotating left shift helper According to the original authors, this will on most platforms reduce to a single instruction </para>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="gnuradio-runtime/include/gnuradio/xoroshiro128p.h" line="30" column="24" bodyfile="gnuradio-runtime/include/gnuradio/xoroshiro128p.h" bodystart="30" bodyend="33"/>
        <referencedby refid="xoroshiro128p_8h_1afd45471c525f2fc6a1d279f018d2bf25" compoundref="xoroshiro128p_8h" startline="39" endline="50">xoroshiro128p_next</referencedby>
      </memberdef>
      <memberdef kind="function" id="xoroshiro128p_8h_1afd45471c525f2fc6a1d279f018d2bf25" prot="public" static="yes" const="no" explicit="no" inline="yes" virt="non-virtual">
        <type>uint64_t</type>
        <definition>static uint64_t xoroshiro128p_next</definition>
        <argsstring>(uint64_t *state)</argsstring>
        <name>xoroshiro128p_next</name>
        <param>
          <type>uint64_t *</type>
          <declname>state</declname>
        </param>
        <briefdescription>
<para>generate the next random number and update the state. This is the workhorse, here! </para>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="gnuradio-runtime/include/gnuradio/xoroshiro128p.h" line="39" column="24" bodyfile="gnuradio-runtime/include/gnuradio/xoroshiro128p.h" bodystart="39" bodyend="50"/>
        <references refid="xoroshiro128p_8h_1a616a08c6441f9c1651d475401e245f3d" compoundref="xoroshiro128p_8h" startline="30" endline="33">rotl</references>
        <referencedby refid="classgr_1_1xoroshiro128p__prng_1a5cdf1a6e6ed5973e64ec5cd00bf76e14" compoundref="random_8h" startline="55" endline="55">gr::xoroshiro128p_prng::operator()</referencedby>
        <referencedby refid="xoroshiro128p_8h_1a5de6ec358caeb23d9ed84bcae9c1b68e" compoundref="xoroshiro128p_8h" startline="57" endline="75">xoroshiro128p_jump</referencedby>
      </memberdef>
      <memberdef kind="function" id="xoroshiro128p_8h_1a5de6ec358caeb23d9ed84bcae9c1b68e" prot="public" static="yes" const="no" explicit="no" inline="yes" virt="non-virtual">
        <type>void</type>
        <definition>static void xoroshiro128p_jump</definition>
        <argsstring>(uint64_t *state)</argsstring>
        <name>xoroshiro128p_jump</name>
        <param>
          <type>uint64_t *</type>
          <declname>state</declname>
        </param>
        <briefdescription>
<para>Advance the internal state by 2^64 steps; useful when coordinating multiple independent RNGs This is the jump function for the generator. It is equivalent to 2^64 calls to next(); it can be used to generate 2^64 non-overlapping subsequences for parallel computations. </para>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="gnuradio-runtime/include/gnuradio/xoroshiro128p.h" line="57" column="20" bodyfile="gnuradio-runtime/include/gnuradio/xoroshiro128p.h" bodystart="57" bodyend="75"/>
        <references refid="xoroshiro128p_8h_1afd45471c525f2fc6a1d279f018d2bf25" compoundref="xoroshiro128p_8h" startline="39" endline="50">xoroshiro128p_next</references>
        <referencedby refid="xoroshiro128p_8h_1a060de795826a0b35f8d9dceea724d8c1" compoundref="xoroshiro128p_8h" startline="91" endline="96">xoroshiro128p_seed</referencedby>
      </memberdef>
      <memberdef kind="function" id="xoroshiro128p_8h_1a1f29705017628be113d344160ed33063" prot="public" static="yes" const="no" explicit="no" inline="yes" virt="non-virtual">
        <type>uint64_t</type>
        <definition>static uint64_t splitmix64_next</definition>
        <argsstring>(uint64_t *state)</argsstring>
        <name>splitmix64_next</name>
        <param>
          <type>uint64_t *</type>
          <declname>state</declname>
        </param>
        <briefdescription>
<para>step of the SPLITMIX64 RNG; only used internally for seeding This RNG isn&apos;t as good as XOROSHIRO128+, so it&apos;s only used to initialize a 128 bit state from a seed. </para>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="gnuradio-runtime/include/gnuradio/xoroshiro128p.h" line="81" column="24" bodyfile="gnuradio-runtime/include/gnuradio/xoroshiro128p.h" bodystart="81" bodyend="87"/>
        <referencedby refid="xoroshiro128p_8h_1a060de795826a0b35f8d9dceea724d8c1" compoundref="xoroshiro128p_8h" startline="91" endline="96">xoroshiro128p_seed</referencedby>
      </memberdef>
      <memberdef kind="function" id="xoroshiro128p_8h_1a060de795826a0b35f8d9dceea724d8c1" prot="public" static="yes" const="no" explicit="no" inline="yes" virt="non-virtual">
        <type>void</type>
        <definition>static void xoroshiro128p_seed</definition>
        <argsstring>(uint64_t *state, const uint64_t seed)</argsstring>
        <name>xoroshiro128p_seed</name>
        <param>
          <type>uint64_t *</type>
          <declname>state</declname>
        </param>
        <param>
          <type>const uint64_t</type>
          <declname>seed</declname>
        </param>
        <briefdescription>
<para>Seed the 128 bit state from a 64 bit seed. </para>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="gnuradio-runtime/include/gnuradio/xoroshiro128p.h" line="91" column="20" bodyfile="gnuradio-runtime/include/gnuradio/xoroshiro128p.h" bodystart="91" bodyend="96"/>
        <references refid="xoroshiro128p_8h_1a1f29705017628be113d344160ed33063" compoundref="xoroshiro128p_8h" startline="81" endline="87">splitmix64_next</references>
        <references refid="xoroshiro128p_8h_1a5de6ec358caeb23d9ed84bcae9c1b68e" compoundref="xoroshiro128p_8h" startline="57" endline="75">xoroshiro128p_jump</references>
        <referencedby refid="classgr_1_1xoroshiro128p__prng_1a0165e8728717dbc87b63003d6a297aab" compoundref="random_8h" startline="60" endline="60">gr::xoroshiro128p_prng::seed</referencedby>
      </memberdef>
    </sectiondef>
    <briefdescription>
    </briefdescription>
    <detaileddescription>
    </detaileddescription>
    <location file="gnuradio-runtime/include/gnuradio/xoroshiro128p.h"/>
  </compounddef>
</doxygen>
