<?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="classgr_1_1fec_1_1code_1_1polar__decoder__common" kind="class" language="C++" prot="public">
    <compoundname>gr::fec::code::polar_decoder_common</compoundname>
    <basecompoundref refid="classgr_1_1fec_1_1generic__decoder" prot="public" virt="non-virtual">gr::fec::generic_decoder</basecompoundref>
    <basecompoundref refid="classgr_1_1fec_1_1code_1_1polar__common" prot="public" virt="non-virtual">gr::fec::code::polar_common</basecompoundref>
    <derivedcompoundref refid="classgr_1_1fec_1_1code_1_1polar__decoder__sc" prot="public" virt="non-virtual">gr::fec::code::polar_decoder_sc</derivedcompoundref>
    <derivedcompoundref refid="classgr_1_1fec_1_1code_1_1polar__decoder__sc__list" prot="public" virt="non-virtual">gr::fec::code::polar_decoder_sc_list</derivedcompoundref>
    <derivedcompoundref refid="classgr_1_1fec_1_1code_1_1polar__decoder__sc__systematic" prot="public" virt="non-virtual">gr::fec::code::polar_decoder_sc_systematic</derivedcompoundref>
    <includes refid="polar__decoder__common_8h" local="no">gnuradio/fec/polar_decoder_common.h</includes>
    <sectiondef kind="private-static-attrib">
      <memberdef kind="variable" id="classgr_1_1fec_1_1code_1_1polar__decoder__common_1a7fbd467f692740bc42447709350572f7" prot="private" static="yes" mutable="no">
        <type>const float</type>
        <definition>const float gr::fec::code::polar_decoder_common::D_LLR_FACTOR</definition>
        <argsstring></argsstring>
        <name>D_LLR_FACTOR</name>
        <qualifiedname>gr::fec::code::polar_decoder_common::D_LLR_FACTOR</qualifiedname>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="gr-fec/include/gnuradio/fec/polar_decoder_common.h" line="56" column="24" bodyfile="gr-fec/include/gnuradio/fec/polar_decoder_common.h" bodystart="56" bodyend="-1"/>
      </memberdef>
    </sectiondef>
    <sectiondef kind="private-attrib">
      <memberdef kind="variable" id="classgr_1_1fec_1_1code_1_1polar__decoder__common_1a9870aa5072abefadd59b04f336435271" prot="private" static="no" mutable="no">
        <type>unsigned int</type>
        <definition>unsigned int gr::fec::code::polar_decoder_common::d_frozen_bit_counter</definition>
        <argsstring></argsstring>
        <name>d_frozen_bit_counter</name>
        <qualifiedname>gr::fec::code::polar_decoder_common::d_frozen_bit_counter</qualifiedname>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="gr-fec/include/gnuradio/fec/polar_decoder_common.h" line="57" column="18" bodyfile="gr-fec/include/gnuradio/fec/polar_decoder_common.h" bodystart="57" bodyend="-1"/>
      </memberdef>
    </sectiondef>
    <sectiondef kind="public-func">
      <memberdef kind="function" id="classgr_1_1fec_1_1code_1_1polar__decoder__common_1a57fe1912f430b7f95c9a55e08804ed77" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type></type>
        <definition>gr::fec::code::polar_decoder_common::polar_decoder_common</definition>
        <argsstring>(int block_size, int num_info_bits, std::vector&lt; int &gt; frozen_bit_positions, std::vector&lt; uint8_t &gt; frozen_bit_values)</argsstring>
        <name>polar_decoder_common</name>
        <qualifiedname>gr::fec::code::polar_decoder_common::polar_decoder_common</qualifiedname>
        <param>
          <type>int</type>
          <declname>block_size</declname>
        </param>
        <param>
          <type>int</type>
          <declname>num_info_bits</declname>
        </param>
        <param>
          <type>std::vector&lt; int &gt;</type>
          <declname>frozen_bit_positions</declname>
        </param>
        <param>
          <type>std::vector&lt; uint8_t &gt;</type>
          <declname>frozen_bit_values</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para><parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername><ref refid="classgr_1_1fec_1_1code_1_1polar__common_1a3debe17dc1b124e3918101aaf6edab47" kindref="member">block_size</ref></parametername>
</parameternamelist>
<parameterdescription>
<para>codeword size. MUST be a power of 2. </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername><ref refid="classgr_1_1fec_1_1code_1_1polar__common_1a987fd76c8add23d0c67eb2bf617adea4" kindref="member">num_info_bits</ref></parametername>
</parameternamelist>
<parameterdescription>
<para>represents the number of information bits in a block. Also called frame_size. &lt;= block_size </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>frozen_bit_positions</parametername>
</parameternamelist>
<parameterdescription>
<para>is an integer vector which defines the position of all frozen bits in a block. Its size MUST be equal to block_size - num_info_bits. Also it must be sorted and every position must only occur once. </para>
</parameterdescription>
</parameteritem>
<parameteritem>
<parameternamelist>
<parametername>frozen_bit_values</parametername>
</parameternamelist>
<parameterdescription>
<para>holds an unpacked byte for every frozen bit position. It defines if a frozen bit is fixed to &apos;0&apos; or &apos;1&apos;. Defaults to all ZERO. </para>
</parameterdescription>
</parameteritem>
</parameterlist>
</para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="gr-fec/include/gnuradio/fec/polar_decoder_common.h" line="43" column="5"/>
        <references refid="classgr_1_1fec_1_1code_1_1polar__common_1a3debe17dc1b124e3918101aaf6edab47" compoundref="polar__common_8h" startline="72" endline="72">gr::fec::code::polar_common::block_size</references>
        <references refid="classgr_1_1fec_1_1code_1_1polar__common_1a987fd76c8add23d0c67eb2bf617adea4" compoundref="polar__common_8h" startline="74" endline="74">gr::fec::code::polar_common::num_info_bits</references>
      </memberdef>
      <memberdef kind="function" id="classgr_1_1fec_1_1code_1_1polar__decoder__common_1ae80dc050d29b78ec4118c8a9ae614ade" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type></type>
        <definition>gr::fec::code::polar_decoder_common::~polar_decoder_common</definition>
        <argsstring>() override</argsstring>
        <name>~polar_decoder_common</name>
        <qualifiedname>gr::fec::code::polar_decoder_common::~polar_decoder_common</qualifiedname>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="gr-fec/include/gnuradio/fec/polar_decoder_common.h" line="47" column="5"/>
      </memberdef>
      <memberdef kind="function" id="classgr_1_1fec_1_1code_1_1polar__decoder__common_1a6744b7e5516575041dc61be5a8ddf37d" prot="public" static="no" const="no" explicit="no" inline="yes" virt="virtual">
        <type>double</type>
        <definition>double gr::fec::code::polar_decoder_common::rate</definition>
        <argsstring>() override</argsstring>
        <name>rate</name>
        <qualifiedname>gr::fec::code::polar_decoder_common::rate</qualifiedname>
        <reimplements refid="classgr_1_1fec_1_1generic__decoder_1a32869de99deaec078e6b3bdc01444795">rate</reimplements>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para>Returns the rate of the code. For every r input bits, there is 1 output bit, so the rate is 1/r. Used for setting things like the encoder block&apos;s relative rate.</para>
<para>This function MUST be reimplemented by the child class. </para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="gr-fec/include/gnuradio/fec/polar_decoder_common.h" line="50" column="12" bodyfile="gr-fec/include/gnuradio/fec/polar_decoder_common.h" bodystart="50" bodyend="50"/>
        <references refid="classgr_1_1fec_1_1code_1_1polar__decoder__common_1a09360a2d9142ae873fdc1213982eb430" compoundref="polar__decoder__common_8h" startline="51" endline="51">get_input_size</references>
        <references refid="classgr_1_1fec_1_1code_1_1polar__decoder__common_1a6fda29bbc8181ef3ed25b7ef83d68b71" compoundref="polar__decoder__common_8h" startline="52" endline="52">get_output_size</references>
      </memberdef>
      <memberdef kind="function" id="classgr_1_1fec_1_1code_1_1polar__decoder__common_1a09360a2d9142ae873fdc1213982eb430" prot="public" static="no" const="no" explicit="no" inline="yes" virt="virtual">
        <type>int</type>
        <definition>int gr::fec::code::polar_decoder_common::get_input_size</definition>
        <argsstring>() override</argsstring>
        <name>get_input_size</name>
        <qualifiedname>gr::fec::code::polar_decoder_common::get_input_size</qualifiedname>
        <reimplements refid="classgr_1_1fec_1_1generic__decoder_1a68f0c06cc9b57e421d4d755fc7eb60d5">get_input_size</reimplements>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para>Returns the input size in items that the decoder object uses to decode a full frame. Often, this number is the number of bits per frame if the input format is unpacked. If the block expects packed bytes, then this value should be the number of bytes (number of bits / 8) per input frame.</para>
<para>The child class MUST implement this function. </para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="gr-fec/include/gnuradio/fec/polar_decoder_common.h" line="51" column="9" bodyfile="gr-fec/include/gnuradio/fec/polar_decoder_common.h" bodystart="51" bodyend="51"/>
        <references refid="classgr_1_1fec_1_1code_1_1polar__common_1a3debe17dc1b124e3918101aaf6edab47" compoundref="polar__common_8h" startline="72" endline="72">gr::fec::code::polar_common::block_size</references>
        <referencedby refid="classgr_1_1fec_1_1code_1_1polar__decoder__common_1a6744b7e5516575041dc61be5a8ddf37d" compoundref="polar__decoder__common_8h" startline="50" endline="50">rate</referencedby>
      </memberdef>
      <memberdef kind="function" id="classgr_1_1fec_1_1code_1_1polar__decoder__common_1a6fda29bbc8181ef3ed25b7ef83d68b71" prot="public" static="no" const="no" explicit="no" inline="yes" virt="virtual">
        <type>int</type>
        <definition>int gr::fec::code::polar_decoder_common::get_output_size</definition>
        <argsstring>() override</argsstring>
        <name>get_output_size</name>
        <qualifiedname>gr::fec::code::polar_decoder_common::get_output_size</qualifiedname>
        <reimplements refid="classgr_1_1fec_1_1generic__decoder_1a0cad8d8b1977ebb9184b6c36ed73db9a">get_output_size</reimplements>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para>Returns the output size in items that the decoder object produces after decoding a full frame. Often, this number is the number of bits in the outputted frame if the input format is unpacked. If the block produces packed bytes, then this value should be the number of bytes (number of bits / 8) per frame produced. This value is generally something like <ref refid="classgr_1_1fec_1_1code_1_1polar__decoder__common_1a09360a2d9142ae873fdc1213982eb430" kindref="member">get_input_size()</ref>/R for a 1/R rate code.</para>
<para>The child class MUST implement this function. </para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="gr-fec/include/gnuradio/fec/polar_decoder_common.h" line="52" column="9" bodyfile="gr-fec/include/gnuradio/fec/polar_decoder_common.h" bodystart="52" bodyend="52"/>
        <references refid="classgr_1_1fec_1_1code_1_1polar__common_1a987fd76c8add23d0c67eb2bf617adea4" compoundref="polar__common_8h" startline="74" endline="74">gr::fec::code::polar_common::num_info_bits</references>
        <referencedby refid="classgr_1_1fec_1_1code_1_1polar__decoder__common_1a6744b7e5516575041dc61be5a8ddf37d" compoundref="polar__decoder__common_8h" startline="50" endline="50">rate</referencedby>
      </memberdef>
      <memberdef kind="function" id="classgr_1_1fec_1_1code_1_1polar__decoder__common_1a054ba1fa99f3f1b57c6877dbdd366cb1" prot="public" static="no" const="no" explicit="no" inline="yes" virt="virtual">
        <type>bool</type>
        <definition>bool gr::fec::code::polar_decoder_common::set_frame_size</definition>
        <argsstring>(unsigned int frame_size) override</argsstring>
        <name>set_frame_size</name>
        <qualifiedname>gr::fec::code::polar_decoder_common::set_frame_size</qualifiedname>
        <reimplements refid="classgr_1_1fec_1_1generic__decoder_1a6da8f43baf97fab0691e80355f2fbb74">set_frame_size</reimplements>
        <param>
          <type>unsigned int</type>
          <declname>frame_size</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para>Updates the size of a decoded frame.</para>
<para>The child class MUST implement this function and interpret how the <computeroutput>frame_size</computeroutput> information affects the block&apos;s behavior. It should also provide bounds checks. </para>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="gr-fec/include/gnuradio/fec/polar_decoder_common.h" line="53" column="10" bodyfile="gr-fec/include/gnuradio/fec/polar_decoder_common.h" bodystart="53" bodyend="53"/>
      </memberdef>
    </sectiondef>
    <sectiondef kind="protected-func">
      <memberdef kind="function" id="classgr_1_1fec_1_1code_1_1polar__decoder__common_1af199865699aeefeea36cb4fb2c8d33f5" prot="protected" static="no" const="yes" explicit="no" inline="no" virt="non-virtual">
        <type>float</type>
        <definition>float gr::fec::code::polar_decoder_common::llr_odd</definition>
        <argsstring>(const float la, const float lb) const</argsstring>
        <name>llr_odd</name>
        <qualifiedname>gr::fec::code::polar_decoder_common::llr_odd</qualifiedname>
        <param>
          <type>const float</type>
          <declname>la</declname>
        </param>
        <param>
          <type>const float</type>
          <declname>lb</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="gr-fec/include/gnuradio/fec/polar_decoder_common.h" line="61" column="11"/>
      </memberdef>
      <memberdef kind="function" id="classgr_1_1fec_1_1code_1_1polar__decoder__common_1aece7db7f123aa52d7ee3d04776cad0d8" prot="protected" static="no" const="yes" explicit="no" inline="no" virt="non-virtual">
        <type>float</type>
        <definition>float gr::fec::code::polar_decoder_common::llr_even</definition>
        <argsstring>(const float la, const float lb, const unsigned char f) const</argsstring>
        <name>llr_even</name>
        <qualifiedname>gr::fec::code::polar_decoder_common::llr_even</qualifiedname>
        <param>
          <type>const float</type>
          <declname>la</declname>
        </param>
        <param>
          <type>const float</type>
          <declname>lb</declname>
        </param>
        <param>
          <type>const unsigned char</type>
          <declname>f</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="gr-fec/include/gnuradio/fec/polar_decoder_common.h" line="62" column="11"/>
      </memberdef>
      <memberdef kind="function" id="classgr_1_1fec_1_1code_1_1polar__decoder__common_1ad2b27df34e7b25333c67dc11d0816a13" prot="protected" static="no" const="yes" explicit="no" inline="yes" virt="non-virtual">
        <type>unsigned char</type>
        <definition>unsigned char gr::fec::code::polar_decoder_common::llr_bit_decision</definition>
        <argsstring>(const float llr) const</argsstring>
        <name>llr_bit_decision</name>
        <qualifiedname>gr::fec::code::polar_decoder_common::llr_bit_decision</qualifiedname>
        <param>
          <type>const float</type>
          <declname>llr</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="gr-fec/include/gnuradio/fec/polar_decoder_common.h" line="63" column="19" bodyfile="gr-fec/include/gnuradio/fec/polar_decoder_common.h" bodystart="63" bodyend="66"/>
      </memberdef>
      <memberdef kind="function" id="classgr_1_1fec_1_1code_1_1polar__decoder__common_1a0d31ae88103ab2241a5cd67c70f2306c" prot="protected" static="no" const="yes" explicit="no" inline="no" virt="non-virtual">
        <type>bool</type>
        <definition>bool gr::fec::code::polar_decoder_common::is_frozen_bit</definition>
        <argsstring>(const int u_num) const</argsstring>
        <name>is_frozen_bit</name>
        <qualifiedname>gr::fec::code::polar_decoder_common::is_frozen_bit</qualifiedname>
        <param>
          <type>const int</type>
          <declname>u_num</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="gr-fec/include/gnuradio/fec/polar_decoder_common.h" line="69" column="10"/>
      </memberdef>
      <memberdef kind="function" id="classgr_1_1fec_1_1code_1_1polar__decoder__common_1a4894e922fb3df1785630e4eb8875d0d5" prot="protected" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>unsigned char</type>
        <definition>unsigned char gr::fec::code::polar_decoder_common::next_frozen_bit</definition>
        <argsstring>()</argsstring>
        <name>next_frozen_bit</name>
        <qualifiedname>gr::fec::code::polar_decoder_common::next_frozen_bit</qualifiedname>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="gr-fec/include/gnuradio/fec/polar_decoder_common.h" line="70" column="19"/>
      </memberdef>
      <memberdef kind="function" id="classgr_1_1fec_1_1code_1_1polar__decoder__common_1a2e296c5aa7e0a66a63383ebc5f7abd4f" prot="protected" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>void</type>
        <definition>void gr::fec::code::polar_decoder_common::initialize_decoder</definition>
        <argsstring>(unsigned char *u, float *llrs, const float *input)</argsstring>
        <name>initialize_decoder</name>
        <qualifiedname>gr::fec::code::polar_decoder_common::initialize_decoder</qualifiedname>
        <param>
          <type>unsigned char *</type>
          <declname>u</declname>
        </param>
        <param>
          <type>float *</type>
          <declname>llrs</declname>
        </param>
        <param>
          <type>const float *</type>
          <declname>input</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="gr-fec/include/gnuradio/fec/polar_decoder_common.h" line="73" column="10"/>
      </memberdef>
      <memberdef kind="function" id="classgr_1_1fec_1_1code_1_1polar__decoder__common_1aa33bcd0cfeb48d135884ff1333702db7" prot="protected" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>void</type>
        <definition>void gr::fec::code::polar_decoder_common::butterfly</definition>
        <argsstring>(float *llrs, unsigned char *u, const int stage, const int u_num, const int row)</argsstring>
        <name>butterfly</name>
        <qualifiedname>gr::fec::code::polar_decoder_common::butterfly</qualifiedname>
        <param>
          <type>float *</type>
          <declname>llrs</declname>
        </param>
        <param>
          <type>unsigned char *</type>
          <declname>u</declname>
        </param>
        <param>
          <type>const int</type>
          <declname>stage</declname>
        </param>
        <param>
          <type>const int</type>
          <declname>u_num</declname>
        </param>
        <param>
          <type>const int</type>
          <declname>row</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="gr-fec/include/gnuradio/fec/polar_decoder_common.h" line="76" column="10"/>
      </memberdef>
      <memberdef kind="function" id="classgr_1_1fec_1_1code_1_1polar__decoder__common_1acff899cbe0a56c888e5223eb7f89a511" prot="protected" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>void</type>
        <definition>void gr::fec::code::polar_decoder_common::butterfly_volk</definition>
        <argsstring>(float *llrs, unsigned char *u, const int stage, const int u_num, const int row)</argsstring>
        <name>butterfly_volk</name>
        <qualifiedname>gr::fec::code::polar_decoder_common::butterfly_volk</qualifiedname>
        <param>
          <type>float *</type>
          <declname>llrs</declname>
        </param>
        <param>
          <type>unsigned char *</type>
          <declname>u</declname>
        </param>
        <param>
          <type>const int</type>
          <declname>stage</declname>
        </param>
        <param>
          <type>const int</type>
          <declname>u_num</declname>
        </param>
        <param>
          <type>const int</type>
          <declname>row</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="gr-fec/include/gnuradio/fec/polar_decoder_common.h" line="78" column="10"/>
      </memberdef>
      <memberdef kind="function" id="classgr_1_1fec_1_1code_1_1polar__decoder__common_1aaeb08aef8e16ebe0d08045cab3a69055" prot="protected" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>void</type>
        <definition>void gr::fec::code::polar_decoder_common::butterfly_generic</definition>
        <argsstring>(float *llrs, unsigned char *u, const int stage, const int u_num, const int row)</argsstring>
        <name>butterfly_generic</name>
        <qualifiedname>gr::fec::code::polar_decoder_common::butterfly_generic</qualifiedname>
        <param>
          <type>float *</type>
          <declname>llrs</declname>
        </param>
        <param>
          <type>unsigned char *</type>
          <declname>u</declname>
        </param>
        <param>
          <type>const int</type>
          <declname>stage</declname>
        </param>
        <param>
          <type>const int</type>
          <declname>u_num</declname>
        </param>
        <param>
          <type>const int</type>
          <declname>row</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="gr-fec/include/gnuradio/fec/polar_decoder_common.h" line="80" column="10"/>
      </memberdef>
      <memberdef kind="function" id="classgr_1_1fec_1_1code_1_1polar__decoder__common_1aa3914a3f109289cfb74873bc51c7c6f1" prot="protected" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>void</type>
        <definition>void gr::fec::code::polar_decoder_common::even_u_values</definition>
        <argsstring>(unsigned char *u_even, const unsigned char *u, const int u_num)</argsstring>
        <name>even_u_values</name>
        <qualifiedname>gr::fec::code::polar_decoder_common::even_u_values</qualifiedname>
        <param>
          <type>unsigned char *</type>
          <declname>u_even</declname>
        </param>
        <param>
          <type>const unsigned char *</type>
          <declname>u</declname>
        </param>
        <param>
          <type>const int</type>
          <declname>u_num</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="gr-fec/include/gnuradio/fec/polar_decoder_common.h" line="82" column="10"/>
      </memberdef>
      <memberdef kind="function" id="classgr_1_1fec_1_1code_1_1polar__decoder__common_1adf496ec00f054890cc357c4241295c75" prot="protected" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>void</type>
        <definition>void gr::fec::code::polar_decoder_common::odd_xor_even_values</definition>
        <argsstring>(unsigned char *u_xor, const unsigned char *u, const int u_num)</argsstring>
        <name>odd_xor_even_values</name>
        <qualifiedname>gr::fec::code::polar_decoder_common::odd_xor_even_values</qualifiedname>
        <param>
          <type>unsigned char *</type>
          <declname>u_xor</declname>
        </param>
        <param>
          <type>const unsigned char *</type>
          <declname>u</declname>
        </param>
        <param>
          <type>const int</type>
          <declname>u_num</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="gr-fec/include/gnuradio/fec/polar_decoder_common.h" line="84" column="5"/>
      </memberdef>
      <memberdef kind="function" id="classgr_1_1fec_1_1code_1_1polar__decoder__common_1aa78ce962c1361e427213d1a0fe39a5a1" prot="protected" static="no" const="yes" explicit="no" inline="no" virt="non-virtual">
        <type>void</type>
        <definition>void gr::fec::code::polar_decoder_common::extract_info_bits</definition>
        <argsstring>(unsigned char *output, const unsigned char *input) const</argsstring>
        <name>extract_info_bits</name>
        <qualifiedname>gr::fec::code::polar_decoder_common::extract_info_bits</qualifiedname>
        <param>
          <type>unsigned char *</type>
          <declname>output</declname>
        </param>
        <param>
          <type>const unsigned char *</type>
          <declname>input</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="gr-fec/include/gnuradio/fec/polar_decoder_common.h" line="85" column="10"/>
      </memberdef>
      <memberdef kind="function" id="classgr_1_1fec_1_1code_1_1polar__decoder__common_1a434820a178dcbc0fe4e1ab04ed3b8719" prot="protected" static="no" const="yes" explicit="no" inline="no" virt="non-virtual">
        <type>void</type>
        <definition>void gr::fec::code::polar_decoder_common::print_pretty_llr_vector</definition>
        <argsstring>(const float *llr_vec) const</argsstring>
        <name>print_pretty_llr_vector</name>
        <qualifiedname>gr::fec::code::polar_decoder_common::print_pretty_llr_vector</qualifiedname>
        <param>
          <type>const float *</type>
          <declname>llr_vec</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="gr-fec/include/gnuradio/fec/polar_decoder_common.h" line="88" column="10"/>
      </memberdef>
    </sectiondef>
    <briefdescription>
<para>Class holds common methods and attributes for different decoder implementations. </para>
    </briefdescription>
    <detaileddescription>
    </detaileddescription>
    <inheritancegraph>
      <node id="3">
        <label>gr::fec::code::polar_common</label>
        <link refid="classgr_1_1fec_1_1code_1_1polar__common"/>
      </node>
      <node id="1">
        <label>gr::fec::code::polar_decoder_common</label>
        <link refid="classgr_1_1fec_1_1code_1_1polar__decoder__common"/>
        <childnode refid="2" relation="public-inheritance">
        </childnode>
        <childnode refid="3" relation="public-inheritance">
        </childnode>
      </node>
      <node id="4">
        <label>gr::fec::code::polar_decoder_sc</label>
        <link refid="classgr_1_1fec_1_1code_1_1polar__decoder__sc"/>
        <childnode refid="1" relation="public-inheritance">
        </childnode>
      </node>
      <node id="5">
        <label>gr::fec::code::polar_decoder_sc_list</label>
        <link refid="classgr_1_1fec_1_1code_1_1polar__decoder__sc__list"/>
        <childnode refid="1" relation="public-inheritance">
        </childnode>
      </node>
      <node id="6">
        <label>gr::fec::code::polar_decoder_sc_systematic</label>
        <link refid="classgr_1_1fec_1_1code_1_1polar__decoder__sc__systematic"/>
        <childnode refid="1" relation="public-inheritance">
        </childnode>
      </node>
      <node id="2">
        <label>gr::fec::generic_decoder</label>
        <link refid="classgr_1_1fec_1_1generic__decoder"/>
      </node>
    </inheritancegraph>
    <collaborationgraph>
      <node id="6">
        <label>gr::fec::code::polar_common</label>
        <link refid="classgr_1_1fec_1_1code_1_1polar__common"/>
        <childnode refid="7" relation="usage">
          <edgelabel>d_frozen_bit_positions</edgelabel>
          <edgelabel>d_info_bit_positions</edgelabel>
          <edgelabel>d_info_bit_positions_reversed</edgelabel>
        </childnode>
        <childnode refid="8" relation="usage">
          <edgelabel>d_frozen_bit_values</edgelabel>
        </childnode>
      </node>
      <node id="1">
        <label>gr::fec::code::polar_decoder_common</label>
        <link refid="classgr_1_1fec_1_1code_1_1polar__decoder__common"/>
        <childnode refid="2" relation="public-inheritance">
        </childnode>
        <childnode refid="6" relation="public-inheritance">
        </childnode>
      </node>
      <node id="2">
        <label>gr::fec::generic_decoder</label>
        <link refid="classgr_1_1fec_1_1generic__decoder"/>
        <childnode refid="3" relation="usage">
          <edgelabel>d_logger</edgelabel>
        </childnode>
        <childnode refid="4" relation="usage">
          <edgelabel>d_name</edgelabel>
        </childnode>
      </node>
      <node id="5">
        <label>std::basic_string&lt; Char &gt;</label>
      </node>
      <node id="3">
        <label>std::shared_ptr&lt; logger &gt;</label>
      </node>
      <node id="4">
        <label>std::string</label>
        <childnode refid="5" relation="public-inheritance">
        </childnode>
      </node>
      <node id="7">
        <label>std::vector&lt; int &gt;</label>
      </node>
      <node id="8">
        <label>std::vector&lt; uint8_t &gt;</label>
      </node>
    </collaborationgraph>
    <location file="gr-fec/include/gnuradio/fec/polar_decoder_common.h" line="27" column="1" bodyfile="gr-fec/include/gnuradio/fec/polar_decoder_common.h" bodystart="28" bodyend="89"/>
    <listofallmembers>
      <member refid="classgr_1_1fec_1_1generic__decoder_1a9a6cbe6022c593cded3c00b929873855" prot="public" virt="non-virtual"><scope>gr::fec::code::polar_decoder_common</scope><name>alias</name></member>
      <member refid="classgr_1_1fec_1_1generic__decoder_1a09d4e84d633630b77a47b80398c209ad" prot="public" virt="non-virtual"><scope>gr::fec::code::polar_decoder_common</scope><name>base_unique_id</name></member>
      <member refid="classgr_1_1fec_1_1code_1_1polar__common_1a59d57dbef9e095af6b68bd1ebecf20c6" prot="protected" virt="non-virtual"><scope>gr::fec::code::polar_decoder_common</scope><name>bit_reverse</name></member>
      <member refid="classgr_1_1fec_1_1code_1_1polar__common_1af27921afc1b97d7db3d5492a50a33484" prot="protected" virt="non-virtual"><scope>gr::fec::code::polar_decoder_common</scope><name>block_power</name></member>
      <member refid="classgr_1_1fec_1_1code_1_1polar__common_1a3debe17dc1b124e3918101aaf6edab47" prot="protected" virt="non-virtual"><scope>gr::fec::code::polar_decoder_common</scope><name>block_size</name></member>
      <member refid="classgr_1_1fec_1_1code_1_1polar__decoder__common_1aa33bcd0cfeb48d135884ff1333702db7" prot="protected" virt="non-virtual"><scope>gr::fec::code::polar_decoder_common</scope><name>butterfly</name></member>
      <member refid="classgr_1_1fec_1_1code_1_1polar__decoder__common_1aaeb08aef8e16ebe0d08045cab3a69055" prot="protected" virt="non-virtual"><scope>gr::fec::code::polar_decoder_common</scope><name>butterfly_generic</name></member>
      <member refid="classgr_1_1fec_1_1code_1_1polar__decoder__common_1acff899cbe0a56c888e5223eb7f89a511" prot="protected" virt="non-virtual"><scope>gr::fec::code::polar_decoder_common</scope><name>butterfly_volk</name></member>
      <member refid="classgr_1_1fec_1_1code_1_1polar__decoder__common_1a9870aa5072abefadd59b04f336435271" prot="private" virt="non-virtual"><scope>gr::fec::code::polar_decoder_common</scope><name>d_frozen_bit_counter</name></member>
      <member refid="classgr_1_1fec_1_1code_1_1polar__common_1afbe538964d898927cf27dbec77f3bfea" prot="protected" virt="non-virtual"><scope>gr::fec::code::polar_decoder_common</scope><name>d_frozen_bit_positions</name></member>
      <member refid="classgr_1_1fec_1_1code_1_1polar__common_1af468061c7fa327c85eccf8bf844301d5" prot="protected" virt="non-virtual"><scope>gr::fec::code::polar_decoder_common</scope><name>d_frozen_bit_values</name></member>
      <member refid="classgr_1_1fec_1_1code_1_1polar__common_1adbc8d66432f0aa009d426a3ea643a480" prot="protected" virt="non-virtual"><scope>gr::fec::code::polar_decoder_common</scope><name>d_info_bit_positions</name></member>
      <member refid="classgr_1_1fec_1_1code_1_1polar__common_1ae7596a59436f7f2001dd151443c6c4c1" prot="protected" virt="non-virtual"><scope>gr::fec::code::polar_decoder_common</scope><name>d_info_bit_positions_reversed</name></member>
      <member refid="classgr_1_1fec_1_1code_1_1polar__decoder__common_1a7fbd467f692740bc42447709350572f7" prot="private" virt="non-virtual"><scope>gr::fec::code::polar_decoder_common</scope><name>D_LLR_FACTOR</name></member>
      <member refid="classgr_1_1fec_1_1generic__decoder_1a29d043afec8a523972c67e17bf8f3f78" prot="protected" virt="non-virtual"><scope>gr::fec::code::polar_decoder_common</scope><name>d_logger</name></member>
      <member refid="classgr_1_1fec_1_1generic__decoder_1a96ed2f7bb7465e0df29a13b127ad9fd4" prot="public" virt="non-virtual"><scope>gr::fec::code::polar_decoder_common</scope><name>d_name</name></member>
      <member refid="classgr_1_1fec_1_1code_1_1polar__common_1ad8dd2f223514be0c16b22fc4534eac6d" prot="protected" virt="non-virtual"><scope>gr::fec::code::polar_decoder_common</scope><name>d_volk_frozen_bit_mask</name></member>
      <member refid="classgr_1_1fec_1_1code_1_1polar__common_1a84f3eb52ce714d690407c1aeb9ed4a19" prot="protected" virt="non-virtual"><scope>gr::fec::code::polar_decoder_common</scope><name>d_volk_frozen_bits</name></member>
      <member refid="classgr_1_1fec_1_1code_1_1polar__common_1a1c61cfece8bf8fa07ea8c8229e331d52" prot="protected" virt="non-virtual"><scope>gr::fec::code::polar_decoder_common</scope><name>d_volk_temp</name></member>
      <member refid="classgr_1_1fec_1_1code_1_1polar__decoder__common_1aa3914a3f109289cfb74873bc51c7c6f1" prot="protected" virt="non-virtual"><scope>gr::fec::code::polar_decoder_common</scope><name>even_u_values</name></member>
      <member refid="classgr_1_1fec_1_1code_1_1polar__decoder__common_1aa78ce962c1361e427213d1a0fe39a5a1" prot="protected" virt="non-virtual"><scope>gr::fec::code::polar_decoder_common</scope><name>extract_info_bits</name></member>
      <member refid="classgr_1_1fec_1_1generic__decoder_1a699ddfa2fc51343b3193149646bab208" prot="public" virt="non-virtual"><scope>gr::fec::code::polar_decoder_common</scope><name>generic_decoder</name></member>
      <member refid="classgr_1_1fec_1_1generic__decoder_1ab32bf0b94adb801b523001de32ee7dfc" prot="public" virt="non-virtual"><scope>gr::fec::code::polar_decoder_common</scope><name>generic_decoder</name></member>
      <member refid="classgr_1_1fec_1_1generic__decoder_1a63079cebc08c5a13add64b5f24750e21" prot="public" virt="pure-virtual"><scope>gr::fec::code::polar_decoder_common</scope><name>generic_work</name></member>
      <member refid="classgr_1_1fec_1_1generic__decoder_1a9037426d33b865dda50055380f9b85c8" prot="public" virt="virtual"><scope>gr::fec::code::polar_decoder_common</scope><name>get_history</name></member>
      <member refid="classgr_1_1fec_1_1generic__decoder_1a0da070002d16590ec2f1277431ba2afb" prot="public" virt="virtual"><scope>gr::fec::code::polar_decoder_common</scope><name>get_input_conversion</name></member>
      <member refid="classgr_1_1fec_1_1generic__decoder_1a1f4ba1fe5a0e9b3508724b48400ff537" prot="public" virt="virtual"><scope>gr::fec::code::polar_decoder_common</scope><name>get_input_item_size</name></member>
      <member refid="classgr_1_1fec_1_1code_1_1polar__decoder__common_1a09360a2d9142ae873fdc1213982eb430" prot="public" virt="virtual"><scope>gr::fec::code::polar_decoder_common</scope><name>get_input_size</name></member>
      <member refid="classgr_1_1fec_1_1generic__decoder_1a75ffb122f2891ee457be1874e198e836" prot="public" virt="virtual"><scope>gr::fec::code::polar_decoder_common</scope><name>get_iterations</name></member>
      <member refid="classgr_1_1fec_1_1generic__decoder_1ae42dd367cb736e35ea3058536597d559" prot="public" virt="virtual"><scope>gr::fec::code::polar_decoder_common</scope><name>get_output_conversion</name></member>
      <member refid="classgr_1_1fec_1_1generic__decoder_1a558263fff172b7867ed96afccb93078f" prot="public" virt="virtual"><scope>gr::fec::code::polar_decoder_common</scope><name>get_output_item_size</name></member>
      <member refid="classgr_1_1fec_1_1code_1_1polar__decoder__common_1a6fda29bbc8181ef3ed25b7ef83d68b71" prot="public" virt="virtual"><scope>gr::fec::code::polar_decoder_common</scope><name>get_output_size</name></member>
      <member refid="classgr_1_1fec_1_1generic__decoder_1a7c46fd20d994c05ece2aa93dc8d3a926" prot="public" virt="virtual"><scope>gr::fec::code::polar_decoder_common</scope><name>get_shift</name></member>
      <member refid="classgr_1_1fec_1_1code_1_1polar__decoder__common_1a2e296c5aa7e0a66a63383ebc5f7abd4f" prot="protected" virt="non-virtual"><scope>gr::fec::code::polar_decoder_common</scope><name>initialize_decoder</name></member>
      <member refid="classgr_1_1fec_1_1code_1_1polar__decoder__common_1a0d31ae88103ab2241a5cd67c70f2306c" prot="protected" virt="non-virtual"><scope>gr::fec::code::polar_decoder_common</scope><name>is_frozen_bit</name></member>
      <member refid="classgr_1_1fec_1_1code_1_1polar__decoder__common_1ad2b27df34e7b25333c67dc11d0816a13" prot="protected" virt="non-virtual"><scope>gr::fec::code::polar_decoder_common</scope><name>llr_bit_decision</name></member>
      <member refid="classgr_1_1fec_1_1code_1_1polar__decoder__common_1aece7db7f123aa52d7ee3d04776cad0d8" prot="protected" virt="non-virtual"><scope>gr::fec::code::polar_decoder_common</scope><name>llr_even</name></member>
      <member refid="classgr_1_1fec_1_1code_1_1polar__decoder__common_1af199865699aeefeea36cb4fb2c8d33f5" prot="protected" virt="non-virtual"><scope>gr::fec::code::polar_decoder_common</scope><name>llr_odd</name></member>
      <member refid="classgr_1_1fec_1_1generic__decoder_1a2ea0d9d63a13ef1bd22e6517a856b340" prot="public" virt="non-virtual"><scope>gr::fec::code::polar_decoder_common</scope><name>my_id</name></member>
      <member refid="classgr_1_1fec_1_1code_1_1polar__decoder__common_1a4894e922fb3df1785630e4eb8875d0d5" prot="protected" virt="non-virtual"><scope>gr::fec::code::polar_decoder_common</scope><name>next_frozen_bit</name></member>
      <member refid="classgr_1_1fec_1_1code_1_1polar__common_1a987fd76c8add23d0c67eb2bf617adea4" prot="protected" virt="non-virtual"><scope>gr::fec::code::polar_decoder_common</scope><name>num_info_bits</name></member>
      <member refid="classgr_1_1fec_1_1code_1_1polar__decoder__common_1adf496ec00f054890cc357c4241295c75" prot="protected" virt="non-virtual"><scope>gr::fec::code::polar_decoder_common</scope><name>odd_xor_even_values</name></member>
      <member refid="classgr_1_1fec_1_1code_1_1polar__common_1ab67beab02bac6bc0b088fed28a211ab1" prot="public" virt="non-virtual"><scope>gr::fec::code::polar_decoder_common</scope><name>polar_common</name></member>
      <member refid="classgr_1_1fec_1_1code_1_1polar__decoder__common_1a57fe1912f430b7f95c9a55e08804ed77" prot="public" virt="non-virtual"><scope>gr::fec::code::polar_decoder_common</scope><name>polar_decoder_common</name></member>
      <member refid="classgr_1_1fec_1_1code_1_1polar__common_1a4ae17f698bfc83b0ba7c2d27ce7109f0" prot="protected" virt="non-virtual"><scope>gr::fec::code::polar_decoder_common</scope><name>print_packed_bit_array</name></member>
      <member refid="classgr_1_1fec_1_1code_1_1polar__decoder__common_1a434820a178dcbc0fe4e1ab04ed3b8719" prot="protected" virt="non-virtual"><scope>gr::fec::code::polar_decoder_common</scope><name>print_pretty_llr_vector</name></member>
      <member refid="classgr_1_1fec_1_1code_1_1polar__common_1a737a78a0fcfd586917a27ed0c3d4a0fe" prot="protected" virt="non-virtual"><scope>gr::fec::code::polar_decoder_common</scope><name>print_unpacked_bit_array</name></member>
      <member refid="classgr_1_1fec_1_1code_1_1polar__decoder__common_1a6744b7e5516575041dc61be5a8ddf37d" prot="public" virt="virtual"><scope>gr::fec::code::polar_decoder_common</scope><name>rate</name></member>
      <member refid="classgr_1_1fec_1_1code_1_1polar__decoder__common_1a054ba1fa99f3f1b57c6877dbdd366cb1" prot="public" virt="virtual"><scope>gr::fec::code::polar_decoder_common</scope><name>set_frame_size</name></member>
      <member refid="classgr_1_1fec_1_1code_1_1polar__common_1ac45c9ce21fe410adc8fd273394c319c7" prot="protected" virt="non-virtual"><scope>gr::fec::code::polar_decoder_common</scope><name>setup_info_bit_positions_reversed</name></member>
      <member refid="classgr_1_1fec_1_1code_1_1polar__common_1ad2fe1805bba3d4cb737784bbf6aaf60d" prot="protected" virt="non-virtual"><scope>gr::fec::code::polar_decoder_common</scope><name>setup_volk_vectors</name></member>
      <member refid="classgr_1_1fec_1_1generic__decoder_1a8536c9bc3f1ba576bb1245f1040b32ae" prot="public" virt="non-virtual"><scope>gr::fec::code::polar_decoder_common</scope><name>sptr</name></member>
      <member refid="classgr_1_1fec_1_1generic__decoder_1a7480b06afbc530f4a524905deab8f70b" prot="public" virt="non-virtual"><scope>gr::fec::code::polar_decoder_common</scope><name>unique_id</name></member>
      <member refid="classgr_1_1fec_1_1code_1_1polar__common_1adcb9476e3f437f427d763814381bee0b" prot="protected" virt="non-virtual"><scope>gr::fec::code::polar_decoder_common</scope><name>volk_encode</name></member>
      <member refid="classgr_1_1fec_1_1code_1_1polar__common_1aaecd58101069b3d5a6084bde1efc7882" prot="protected" virt="non-virtual"><scope>gr::fec::code::polar_decoder_common</scope><name>volk_encode_block</name></member>
      <member refid="classgr_1_1fec_1_1generic__decoder_1a36a7aeb512d578e53d6f984bfd380667" prot="public" virt="virtual"><scope>gr::fec::code::polar_decoder_common</scope><name>~generic_decoder</name></member>
      <member refid="classgr_1_1fec_1_1code_1_1polar__common_1ae84e16eddb487c7e6946397859cac5c2" prot="public" virt="non-virtual"><scope>gr::fec::code::polar_decoder_common</scope><name>~polar_common</name></member>
      <member refid="classgr_1_1fec_1_1code_1_1polar__decoder__common_1ae80dc050d29b78ec4118c8a9ae614ade" prot="public" virt="non-virtual"><scope>gr::fec::code::polar_decoder_common</scope><name>~polar_decoder_common</name></member>
    </listofallmembers>
  </compounddef>
</doxygen>
