<?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.8.13">
  <compounddef id="classViterbiTCH__AFS12__2" kind="class" language="C++" prot="public">
    <compoundname>ViterbiTCH_AFS12_2</compoundname>
    <basecompoundref refid="classViterbiBase" prot="public" virt="non-virtual">ViterbiBase</basecompoundref>
    <includes refid="AmrCoder_8h" local="no">AmrCoder.h</includes>
    <innerclass refid="structViterbiTCH__AFS12__2_1_1candStruct" prot="public">ViterbiTCH_AFS12_2::candStruct</innerclass>
      <sectiondef kind="user-defined">
      <header>Core values.</header>
      <description><para>name Lots of precomputed elements so the compiler can optimize like hell. </para></description>
      <memberdef kind="variable" id="classViterbiTCH__AFS12__2_1af50c183ba97fd1af1bbcb1c318b78f6e" prot="private" static="yes" mutable="no">
        <type>const unsigned</type>
        <definition>const unsigned ViterbiTCH_AFS12_2::mIRate</definition>
        <argsstring></argsstring>
        <name>mIRate</name>
        <initializer>= 2</initializer>
        <briefdescription>
<para>reciprocal of rate </para>        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/build/gr-gsm-git/src/gr-gsm-git/lib/decoding/openbts/AmrCoder.h" line="39" column="1" bodyfile="/build/gr-gsm-git/src/gr-gsm-git/lib/decoding/openbts/AmrCoder.h" bodystart="39" bodyend="-1"/>
      </memberdef>
      <memberdef kind="variable" id="classViterbiTCH__AFS12__2_1a1d9eaee86bb4d801e4a4ab47c084b9ee" prot="private" static="yes" mutable="no">
        <type>const unsigned</type>
        <definition>const unsigned ViterbiTCH_AFS12_2::mOrder</definition>
        <argsstring></argsstring>
        <name>mOrder</name>
        <initializer>= 4</initializer>
        <briefdescription>
<para>memory length of generators </para>        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/build/gr-gsm-git/src/gr-gsm-git/lib/decoding/openbts/AmrCoder.h" line="40" column="1" bodyfile="/build/gr-gsm-git/src/gr-gsm-git/lib/decoding/openbts/AmrCoder.h" bodystart="40" bodyend="-1"/>
      </memberdef>
      </sectiondef>
      <sectiondef kind="user-defined">
      <header>Derived values.</header>
      <memberdef kind="variable" id="classViterbiTCH__AFS12__2_1a20fa5671e61e442008868d27fbca6741" prot="private" static="yes" mutable="no">
        <type>const unsigned</type>
        <definition>const unsigned ViterbiTCH_AFS12_2::mIStates</definition>
        <argsstring></argsstring>
        <name>mIStates</name>
        <initializer>= 0x01 &lt;&lt; mOrder</initializer>
        <briefdescription>
<para>number of states, number of survivors </para>        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/build/gr-gsm-git/src/gr-gsm-git/lib/decoding/openbts/AmrCoder.h" line="44" column="1" bodyfile="/build/gr-gsm-git/src/gr-gsm-git/lib/decoding/openbts/AmrCoder.h" bodystart="44" bodyend="-1"/>
      </memberdef>
      <memberdef kind="variable" id="classViterbiTCH__AFS12__2_1a4be728755bd75cb814e067c80f545cb4" prot="private" static="yes" mutable="no">
        <type>const uint32_t</type>
        <definition>const uint32_t ViterbiTCH_AFS12_2::mSMask</definition>
        <argsstring></argsstring>
        <name>mSMask</name>
        <initializer>= mIStates-1</initializer>
        <briefdescription>
<para>survivor mask </para>        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/build/gr-gsm-git/src/gr-gsm-git/lib/decoding/openbts/AmrCoder.h" line="45" column="1" bodyfile="/build/gr-gsm-git/src/gr-gsm-git/lib/decoding/openbts/AmrCoder.h" bodystart="45" bodyend="-1"/>
      </memberdef>
      <memberdef kind="variable" id="classViterbiTCH__AFS12__2_1a1b1155f8f8a7321087eca2f7f00b307f" prot="private" static="yes" mutable="no">
        <type>const uint32_t</type>
        <definition>const uint32_t ViterbiTCH_AFS12_2::mCMask</definition>
        <argsstring></argsstring>
        <name>mCMask</name>
        <initializer>= (mSMask&lt;&lt;1) | 0x01</initializer>
        <briefdescription>
<para>candidate mask </para>        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/build/gr-gsm-git/src/gr-gsm-git/lib/decoding/openbts/AmrCoder.h" line="46" column="1" bodyfile="/build/gr-gsm-git/src/gr-gsm-git/lib/decoding/openbts/AmrCoder.h" bodystart="46" bodyend="-1"/>
      </memberdef>
      <memberdef kind="variable" id="classViterbiTCH__AFS12__2_1a048c46ba382b809edc5118dcb94016c8" prot="private" static="yes" mutable="no">
        <type>const uint32_t</type>
        <definition>const uint32_t ViterbiTCH_AFS12_2::mOMask</definition>
        <argsstring></argsstring>
        <name>mOMask</name>
        <initializer>= (0x01&lt;&lt;mIRate)-1</initializer>
        <briefdescription>
<para>ouput mask, all iRate low bits set </para>        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/build/gr-gsm-git/src/gr-gsm-git/lib/decoding/openbts/AmrCoder.h" line="47" column="1" bodyfile="/build/gr-gsm-git/src/gr-gsm-git/lib/decoding/openbts/AmrCoder.h" bodystart="47" bodyend="-1"/>
      </memberdef>
      <memberdef kind="variable" id="classViterbiTCH__AFS12__2_1ada52f8e262450545106b21e81bf07894" prot="private" static="yes" mutable="no">
        <type>const unsigned</type>
        <definition>const unsigned ViterbiTCH_AFS12_2::mNumCands</definition>
        <argsstring></argsstring>
        <name>mNumCands</name>
        <initializer>= mIStates*2</initializer>
        <briefdescription>
<para>number of candidates to generate during branching </para>        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/build/gr-gsm-git/src/gr-gsm-git/lib/decoding/openbts/AmrCoder.h" line="48" column="1" bodyfile="/build/gr-gsm-git/src/gr-gsm-git/lib/decoding/openbts/AmrCoder.h" bodystart="48" bodyend="-1"/>
      </memberdef>
      <memberdef kind="variable" id="classViterbiTCH__AFS12__2_1a50ecf4f6ac157fdd75b017cece6a705f" prot="private" static="yes" mutable="no">
        <type>const unsigned</type>
        <definition>const unsigned ViterbiTCH_AFS12_2::mDeferral</definition>
        <argsstring></argsstring>
        <name>mDeferral</name>
        <initializer>= 6*mOrder</initializer>
        <briefdescription>
<para>deferral to be used </para>        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/build/gr-gsm-git/src/gr-gsm-git/lib/decoding/openbts/AmrCoder.h" line="49" column="1" bodyfile="/build/gr-gsm-git/src/gr-gsm-git/lib/decoding/openbts/AmrCoder.h" bodystart="49" bodyend="-1"/>
      </memberdef>
      </sectiondef>
      <sectiondef kind="user-defined">
      <memberdef kind="variable" id="classViterbiTCH__AFS12__2_1a277a52c6710e5fb79c7fdc49faad0255" prot="private" static="no" mutable="no">
        <type>uint32_t</type>
        <definition>uint32_t ViterbiTCH_AFS12_2::mCoeffs[mIRate]</definition>
        <argsstring>[mIRate]</argsstring>
        <name>mCoeffs</name>
        <briefdescription>
<para>output polynomial for each generator </para>        </briefdescription>
        <detaileddescription>
<para>Precomputed tables. </para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/build/gr-gsm-git/src/gr-gsm-git/lib/decoding/openbts/AmrCoder.h" line="55" column="1" bodyfile="/build/gr-gsm-git/src/gr-gsm-git/lib/decoding/openbts/AmrCoder.h" bodystart="55" bodyend="-1"/>
      </memberdef>
      <memberdef kind="variable" id="classViterbiTCH__AFS12__2_1af8b97997f73cd18cb44c30ccdab7a076" prot="private" static="no" mutable="no">
        <type>uint32_t</type>
        <definition>uint32_t ViterbiTCH_AFS12_2::mCoeffsFB[mIRate]</definition>
        <argsstring>[mIRate]</argsstring>
        <name>mCoeffsFB</name>
        <briefdescription>
<para>feedback polynomial for each generator </para>        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/build/gr-gsm-git/src/gr-gsm-git/lib/decoding/openbts/AmrCoder.h" line="56" column="1" bodyfile="/build/gr-gsm-git/src/gr-gsm-git/lib/decoding/openbts/AmrCoder.h" bodystart="56" bodyend="-1"/>
      </memberdef>
      <memberdef kind="variable" id="classViterbiTCH__AFS12__2_1a2ddd3e0e4311e92803c0b0d9656ec0ff" prot="private" static="no" mutable="no">
        <type>uint32_t</type>
        <definition>uint32_t ViterbiTCH_AFS12_2::mStateTable[mIRate][2 *mIStates]</definition>
        <argsstring>[mIRate][2 *mIStates]</argsstring>
        <name>mStateTable</name>
        <briefdescription>
<para>precomputed generator output tables </para>        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/build/gr-gsm-git/src/gr-gsm-git/lib/decoding/openbts/AmrCoder.h" line="57" column="1" bodyfile="/build/gr-gsm-git/src/gr-gsm-git/lib/decoding/openbts/AmrCoder.h" bodystart="57" bodyend="-1"/>
      </memberdef>
      <memberdef kind="variable" id="classViterbiTCH__AFS12__2_1a40eaf76c1a5699d5c1c7e8f58774b67a" prot="private" static="no" mutable="no">
        <type>uint32_t</type>
        <definition>uint32_t ViterbiTCH_AFS12_2::mGeneratorTable[2 *mIStates]</definition>
        <argsstring>[2 *mIStates]</argsstring>
        <name>mGeneratorTable</name>
        <briefdescription>
<para>precomputed coder output table </para>        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/build/gr-gsm-git/src/gr-gsm-git/lib/decoding/openbts/AmrCoder.h" line="58" column="1" bodyfile="/build/gr-gsm-git/src/gr-gsm-git/lib/decoding/openbts/AmrCoder.h" bodystart="58" bodyend="-1"/>
      </memberdef>
      </sectiondef>
      <sectiondef kind="user-defined">
      <header>Survivors and candidates.</header>
      <memberdef kind="variable" id="classViterbiTCH__AFS12__2_1afcd6e14938fc4c233724c4f4712a3afc" prot="private" static="no" mutable="no">
        <type><ref refid="classViterbiTCH__AFS12__2_1a7b076de854d57f9f67b083e04c8a5eb9" kindref="member">vCand</ref></type>
        <definition>vCand ViterbiTCH_AFS12_2::mSurvivors[mIStates]</definition>
        <argsstring>[mIStates]</argsstring>
        <name>mSurvivors</name>
        <briefdescription>
<para>current survivor pool </para>        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/build/gr-gsm-git/src/gr-gsm-git/lib/decoding/openbts/AmrCoder.h" line="88" column="1" bodyfile="/build/gr-gsm-git/src/gr-gsm-git/lib/decoding/openbts/AmrCoder.h" bodystart="88" bodyend="-1"/>
      </memberdef>
      <memberdef kind="variable" id="classViterbiTCH__AFS12__2_1a6ada45607870473de3e4b17c73ebc5d0" prot="private" static="no" mutable="no">
        <type><ref refid="classViterbiTCH__AFS12__2_1a7b076de854d57f9f67b083e04c8a5eb9" kindref="member">vCand</ref></type>
        <definition>vCand ViterbiTCH_AFS12_2::mCandidates[2 *mIStates]</definition>
        <argsstring>[2 *mIStates]</argsstring>
        <name>mCandidates</name>
        <briefdescription>
<para>current candidate pool </para>        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/build/gr-gsm-git/src/gr-gsm-git/lib/decoding/openbts/AmrCoder.h" line="89" column="1" bodyfile="/build/gr-gsm-git/src/gr-gsm-git/lib/decoding/openbts/AmrCoder.h" bodystart="89" bodyend="-1"/>
      </memberdef>
      </sectiondef>
      <sectiondef kind="public-type">
      <memberdef kind="typedef" id="classViterbiTCH__AFS12__2_1a7b076de854d57f9f67b083e04c8a5eb9" prot="public" static="no">
        <type>struct <ref refid="structViterbiTCH__AFS12__2_1_1candStruct" kindref="compound">ViterbiTCH_AFS12_2::candStruct</ref></type>
        <definition>typedef struct ViterbiTCH_AFS12_2::candStruct  ViterbiTCH_AFS12_2::vCand</definition>
        <argsstring></argsstring>
        <name>vCand</name>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para>A candidate sequence in a Viterbi decoder. The 32-bit state register can support a deferral of 6 with a 4th-order coder. </para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/build/gr-gsm-git/src/gr-gsm-git/lib/decoding/openbts/AmrCoder.h" line="72" column="1"/>
      </memberdef>
      </sectiondef>
      <sectiondef kind="public-func">
      <memberdef kind="function" id="classViterbiTCH__AFS12__2_1a2d67eb447763159243d40ffbb6eb01ba" prot="public" static="no" const="no" explicit="no" inline="yes" virt="non-virtual">
        <type>void</type>
        <definition>void ViterbiTCH_AFS12_2::vitClear</definition>
        <argsstring>(vCand &amp;v)</argsstring>
        <name>vitClear</name>
        <param>
          <type><ref refid="classViterbiTCH__AFS12__2_1a7b076de854d57f9f67b083e04c8a5eb9" kindref="member">vCand</ref> &amp;</type>
          <declname>v</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para>Clear a structure. </para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/build/gr-gsm-git/src/gr-gsm-git/lib/decoding/openbts/AmrCoder.h" line="75" column="1" bodyfile="/build/gr-gsm-git/src/gr-gsm-git/lib/decoding/openbts/AmrCoder.h" bodystart="75" bodyend="81"/>
        <references refid="structViterbiTCH__AFS12__2_1_1candStruct_1a637159cc96270737737b13d1befa3de2" compoundref="AmrCoder_8h" startline="71">ViterbiTCH_AFS12_2::candStruct::cost</references>
        <references refid="structViterbiTCH__AFS12__2_1_1candStruct_1a9990099bf385e7cbd169c82cc334e0cb" compoundref="AmrCoder_8h" startline="68">ViterbiTCH_AFS12_2::candStruct::iState</references>
        <references refid="structViterbiTCH__AFS12__2_1_1candStruct_1abb20715493496fb2d5bb5db9ba484801" compoundref="AmrCoder_8h" startline="69">ViterbiTCH_AFS12_2::candStruct::oState</references>
        <references refid="structViterbiTCH__AFS12__2_1_1candStruct_1a5880db1211fa3d58f1875a4c7b2ff133" compoundref="AmrCoder_8h" startline="70">ViterbiTCH_AFS12_2::candStruct::rState</references>
      </memberdef>
      <memberdef kind="function" id="classViterbiTCH__AFS12__2_1acfe86e0a98dc420b355bdfb948ed3163" prot="public" static="no" const="yes" explicit="no" inline="yes" virt="non-virtual">
        <type>unsigned</type>
        <definition>unsigned ViterbiTCH_AFS12_2::iRate</definition>
        <argsstring>() const</argsstring>
        <name>iRate</name>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/build/gr-gsm-git/src/gr-gsm-git/lib/decoding/openbts/AmrCoder.h" line="94" column="1" bodyfile="/build/gr-gsm-git/src/gr-gsm-git/lib/decoding/openbts/AmrCoder.h" bodystart="94" bodyend="94"/>
      </memberdef>
      <memberdef kind="function" id="classViterbiTCH__AFS12__2_1a169dd28cb66b8da35c129c0ad054d3ac" prot="public" static="no" const="yes" explicit="no" inline="yes" virt="non-virtual">
        <type>uint32_t</type>
        <definition>uint32_t ViterbiTCH_AFS12_2::cMask</definition>
        <argsstring>() const</argsstring>
        <name>cMask</name>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/build/gr-gsm-git/src/gr-gsm-git/lib/decoding/openbts/AmrCoder.h" line="95" column="1" bodyfile="/build/gr-gsm-git/src/gr-gsm-git/lib/decoding/openbts/AmrCoder.h" bodystart="95" bodyend="95"/>
      </memberdef>
      <memberdef kind="function" id="classViterbiTCH__AFS12__2_1a6ff89508647f3a1b464f8bd53a7bc0fc" prot="public" static="no" const="yes" explicit="no" inline="yes" virt="non-virtual">
        <type>uint32_t</type>
        <definition>uint32_t ViterbiTCH_AFS12_2::stateTable</definition>
        <argsstring>(unsigned g, unsigned i) const</argsstring>
        <name>stateTable</name>
        <param>
          <type>unsigned</type>
          <declname>g</declname>
        </param>
        <param>
          <type>unsigned</type>
          <declname>i</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/build/gr-gsm-git/src/gr-gsm-git/lib/decoding/openbts/AmrCoder.h" line="96" column="1" bodyfile="/build/gr-gsm-git/src/gr-gsm-git/lib/decoding/openbts/AmrCoder.h" bodystart="96" bodyend="96"/>
      </memberdef>
      <memberdef kind="function" id="classViterbiTCH__AFS12__2_1aa769d65acd30cf7b8b13f8790d7365dd" prot="public" static="no" const="yes" explicit="no" inline="yes" virt="non-virtual">
        <type>unsigned</type>
        <definition>unsigned ViterbiTCH_AFS12_2::deferral</definition>
        <argsstring>() const</argsstring>
        <name>deferral</name>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/build/gr-gsm-git/src/gr-gsm-git/lib/decoding/openbts/AmrCoder.h" line="97" column="1" bodyfile="/build/gr-gsm-git/src/gr-gsm-git/lib/decoding/openbts/AmrCoder.h" bodystart="97" bodyend="97"/>
        <references refid="classViterbiTCH__AFS12__2_1aab0ac3610868d50378f5162ae15ce231">initializeStates</references>
        <references refid="classViterbiTCH__AFS12__2_1a95561ce47766940a39ee41e6869172b6">step</references>
        <references refid="classViterbiTCH__AFS12__2_1ac8d83034458c9f7c037426dac30320e0">ViterbiTCH_AFS12_2</references>
      </memberdef>
      <memberdef kind="function" id="classViterbiTCH__AFS12__2_1ac8d83034458c9f7c037426dac30320e0" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type></type>
        <definition>ViterbiTCH_AFS12_2::ViterbiTCH_AFS12_2</definition>
        <argsstring>()</argsstring>
        <name>ViterbiTCH_AFS12_2</name>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/build/gr-gsm-git/src/gr-gsm-git/lib/decoding/openbts/AmrCoder.h" line="100" column="1"/>
        <referencedby refid="classViterbiTCH__AFS12__2_1aa769d65acd30cf7b8b13f8790d7365dd" compoundref="AmrCoder_8h" startline="97" endline="97">deferral</referencedby>
      </memberdef>
      <memberdef kind="function" id="classViterbiTCH__AFS12__2_1aab0ac3610868d50378f5162ae15ce231" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>void</type>
        <definition>void ViterbiTCH_AFS12_2::initializeStates</definition>
        <argsstring>()</argsstring>
        <name>initializeStates</name>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para>Set all cost metrics to zero. </para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/build/gr-gsm-git/src/gr-gsm-git/lib/decoding/openbts/AmrCoder.h" line="103" column="1"/>
        <referencedby refid="classViterbiTCH__AFS12__2_1aa769d65acd30cf7b8b13f8790d7365dd" compoundref="AmrCoder_8h" startline="97" endline="97">deferral</referencedby>
        <referencedby refid="classViterbiTCH__AFS10__2_1ac38de0aa1e53308be8a61a26a6521b4d" compoundref="AmrCoder_8h" startline="210" endline="210">ViterbiTCH_AFS10_2::deferral</referencedby>
        <referencedby refid="classViterbiTCH__AFS7__95_1a349b5cce55bb6ddb449f443a9cbf016e" compoundref="AmrCoder_8h" startline="324" endline="324">ViterbiTCH_AFS7_95::deferral</referencedby>
        <referencedby refid="classViterbiTCH__AFS7__4_1a4c9bfa6c4af45de9acb572eb3b421705" compoundref="AmrCoder_8h" startline="438" endline="438">ViterbiTCH_AFS7_4::deferral</referencedby>
        <referencedby refid="classViterbiTCH__AFS6__7_1ae964f9fad86899899c4264bc61b0c099" compoundref="AmrCoder_8h" startline="552" endline="552">ViterbiTCH_AFS6_7::deferral</referencedby>
        <referencedby refid="classViterbiTCH__AFS5__9_1a8fdb1fb2ab7a7f0ad03d27d2a1e57dd9" compoundref="AmrCoder_8h" startline="666" endline="666">ViterbiTCH_AFS5_9::deferral</referencedby>
        <referencedby refid="classViterbiTCH__AFS5__15_1a20cc4af66315b3105f6b3799209a798c" compoundref="AmrCoder_8h" startline="780" endline="780">ViterbiTCH_AFS5_15::deferral</referencedby>
        <referencedby refid="classViterbiTCH__AFS4__75_1aba66686e70fd88cc98f0186cff33a86d" compoundref="AmrCoder_8h" startline="894" endline="894">ViterbiTCH_AFS4_75::deferral</referencedby>
      </memberdef>
      <memberdef kind="function" id="classViterbiTCH__AFS12__2_1a95561ce47766940a39ee41e6869172b6" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>const <ref refid="classViterbiTCH__AFS12__2_1a7b076de854d57f9f67b083e04c8a5eb9" kindref="member">vCand</ref> &amp;</type>
        <definition>const vCand&amp; ViterbiTCH_AFS12_2::step</definition>
        <argsstring>(uint32_t inSample, const float *probs, const float *iprobs)</argsstring>
        <name>step</name>
        <param>
          <type>uint32_t</type>
          <declname>inSample</declname>
        </param>
        <param>
          <type>const float *</type>
          <declname>probs</declname>
        </param>
        <param>
          <type>const float *</type>
          <declname>iprobs</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para>Full cycle of the Viterbi algorithm: branch, metrics, prune, select. <simplesect kind="return"><para>reference to minimum-cost candidate. </para></simplesect>
</para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/build/gr-gsm-git/src/gr-gsm-git/lib/decoding/openbts/AmrCoder.h" line="109" column="1"/>
        <referencedby refid="classViterbiTCH__AFS12__2_1aa769d65acd30cf7b8b13f8790d7365dd" compoundref="AmrCoder_8h" startline="97" endline="97">deferral</referencedby>
        <referencedby refid="classViterbiTCH__AFS10__2_1ac38de0aa1e53308be8a61a26a6521b4d" compoundref="AmrCoder_8h" startline="210" endline="210">ViterbiTCH_AFS10_2::deferral</referencedby>
        <referencedby refid="classViterbiTCH__AFS7__95_1a349b5cce55bb6ddb449f443a9cbf016e" compoundref="AmrCoder_8h" startline="324" endline="324">ViterbiTCH_AFS7_95::deferral</referencedby>
        <referencedby refid="classViterbiTCH__AFS7__4_1a4c9bfa6c4af45de9acb572eb3b421705" compoundref="AmrCoder_8h" startline="438" endline="438">ViterbiTCH_AFS7_4::deferral</referencedby>
        <referencedby refid="classViterbiTCH__AFS6__7_1ae964f9fad86899899c4264bc61b0c099" compoundref="AmrCoder_8h" startline="552" endline="552">ViterbiTCH_AFS6_7::deferral</referencedby>
        <referencedby refid="classViterbiTCH__AFS5__9_1a8fdb1fb2ab7a7f0ad03d27d2a1e57dd9" compoundref="AmrCoder_8h" startline="666" endline="666">ViterbiTCH_AFS5_9::deferral</referencedby>
        <referencedby refid="classViterbiTCH__AFS5__15_1a20cc4af66315b3105f6b3799209a798c" compoundref="AmrCoder_8h" startline="780" endline="780">ViterbiTCH_AFS5_15::deferral</referencedby>
        <referencedby refid="classViterbiTCH__AFS4__75_1aba66686e70fd88cc98f0186cff33a86d" compoundref="AmrCoder_8h" startline="894" endline="894">ViterbiTCH_AFS4_75::deferral</referencedby>
      </memberdef>
      </sectiondef>
      <sectiondef kind="private-func">
      <memberdef kind="function" id="classViterbiTCH__AFS12__2_1a555eb3e24d110620b52722d5db3f9c35" prot="private" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>void</type>
        <definition>void ViterbiTCH_AFS12_2::branchCandidates</definition>
        <argsstring>()</argsstring>
        <name>branchCandidates</name>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para>Branch survivors into new candidates. </para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/build/gr-gsm-git/src/gr-gsm-git/lib/decoding/openbts/AmrCoder.h" line="114" column="1"/>
      </memberdef>
      <memberdef kind="function" id="classViterbiTCH__AFS12__2_1ab923afb4638a00c0ba5034606b280a39" prot="private" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>void</type>
        <definition>void ViterbiTCH_AFS12_2::getSoftCostMetrics</definition>
        <argsstring>(uint32_t inSample, const float *probs, const float *iprobs)</argsstring>
        <name>getSoftCostMetrics</name>
        <param>
          <type>uint32_t</type>
          <declname>inSample</declname>
        </param>
        <param>
          <type>const float *</type>
          <declname>probs</declname>
        </param>
        <param>
          <type>const float *</type>
          <declname>iprobs</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para>Compute cost metrics for soft-inputs. </para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/build/gr-gsm-git/src/gr-gsm-git/lib/decoding/openbts/AmrCoder.h" line="117" column="1"/>
      </memberdef>
      <memberdef kind="function" id="classViterbiTCH__AFS12__2_1ae16432269967dadc393dc238672ffea1" prot="private" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>void</type>
        <definition>void ViterbiTCH_AFS12_2::pruneCandidates</definition>
        <argsstring>()</argsstring>
        <name>pruneCandidates</name>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para>Select survivors from the candidate set. </para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/build/gr-gsm-git/src/gr-gsm-git/lib/decoding/openbts/AmrCoder.h" line="120" column="1"/>
      </memberdef>
      <memberdef kind="function" id="classViterbiTCH__AFS12__2_1ab2ef13e6123e435c53ab55e5335b1c83" prot="private" static="no" const="yes" explicit="no" inline="no" virt="non-virtual">
        <type>const <ref refid="classViterbiTCH__AFS12__2_1a7b076de854d57f9f67b083e04c8a5eb9" kindref="member">vCand</ref> &amp;</type>
        <definition>const vCand&amp; ViterbiTCH_AFS12_2::minCost</definition>
        <argsstring>() const</argsstring>
        <name>minCost</name>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para>Find the minimum cost survivor. </para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/build/gr-gsm-git/src/gr-gsm-git/lib/decoding/openbts/AmrCoder.h" line="123" column="1"/>
      </memberdef>
      <memberdef kind="function" id="classViterbiTCH__AFS12__2_1a233c1481680df3d0e283bbceecc17a31" prot="private" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>void</type>
        <definition>void ViterbiTCH_AFS12_2::computeStateTables</definition>
        <argsstring>(unsigned g)</argsstring>
        <name>computeStateTables</name>
        <param>
          <type>unsigned</type>
          <declname>g</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para>Precompute the state tables. <parameterlist kind="param"><parameteritem>
<parameternamelist>
<parametername>g</parametername>
</parameternamelist>
<parameterdescription>
<para><ref refid="classGenerator" kindref="compound">Generator</ref> index 0..((1/rate)-1) </para></parameterdescription>
</parameteritem>
</parameterlist>
</para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/build/gr-gsm-git/src/gr-gsm-git/lib/decoding/openbts/AmrCoder.h" line="129" column="1"/>
      </memberdef>
      <memberdef kind="function" id="classViterbiTCH__AFS12__2_1a8f224abcb3b64b4945d52e1f27fc1522" prot="private" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
        <type>void</type>
        <definition>void ViterbiTCH_AFS12_2::computeGeneratorTable</definition>
        <argsstring>()</argsstring>
        <name>computeGeneratorTable</name>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
<para>Precompute the generator outputs. mCoeffs must be defined first. </para>        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/build/gr-gsm-git/src/gr-gsm-git/lib/decoding/openbts/AmrCoder.h" line="135" column="1"/>
      </memberdef>
      <memberdef kind="function" id="classViterbiTCH__AFS12__2_1a23a882ab3eba8d524cac98fb9c9e8bfc" prot="private" static="no" const="yes" explicit="no" inline="no" virt="virtual">
        <type>void</type>
        <definition>void ViterbiTCH_AFS12_2::encode</definition>
        <argsstring>(const BitVector &amp;in, BitVector &amp;target) const</argsstring>
        <name>encode</name>
        <reimplements refid="classViterbiBase_1ada634c1d9d9761e8fd849f93c2c2bba4">encode</reimplements>
        <param>
          <type>const <ref refid="classBitVector" kindref="compound">BitVector</ref> &amp;</type>
          <declname>in</declname>
        </param>
        <param>
          <type><ref refid="classBitVector" kindref="compound">BitVector</ref> &amp;</type>
          <declname>target</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/build/gr-gsm-git/src/gr-gsm-git/lib/decoding/openbts/AmrCoder.h" line="136" column="1"/>
      </memberdef>
      <memberdef kind="function" id="classViterbiTCH__AFS12__2_1a91827b6641400477d9cb0ad4ba12031e" prot="private" static="no" const="no" explicit="no" inline="no" virt="virtual">
        <type>void</type>
        <definition>void ViterbiTCH_AFS12_2::decode</definition>
        <argsstring>(const SoftVector &amp;in, BitVector &amp;target)</argsstring>
        <name>decode</name>
        <reimplements refid="classViterbiBase_1a6ce7d0720db188acf79bb0078bb02bea">decode</reimplements>
        <param>
          <type>const <ref refid="classSoftVector" kindref="compound">SoftVector</ref> &amp;</type>
          <declname>in</declname>
        </param>
        <param>
          <type><ref refid="classBitVector" kindref="compound">BitVector</ref> &amp;</type>
          <declname>target</declname>
        </param>
        <briefdescription>
        </briefdescription>
        <detaileddescription>
        </detaileddescription>
        <inbodydescription>
        </inbodydescription>
        <location file="/build/gr-gsm-git/src/gr-gsm-git/lib/decoding/openbts/AmrCoder.h" line="137" column="1"/>
      </memberdef>
      </sectiondef>
    <briefdescription>
    </briefdescription>
    <detaileddescription>
<para>Class to represent recursive systematic convolutional coders/decoders of rate 1/2, memory length 4. </para>    </detaileddescription>
    <inheritancegraph>
      <node id="402">
        <label>ViterbiBase</label>
        <link refid="classViterbiBase"/>
      </node>
      <node id="401">
        <label>ViterbiTCH_AFS12_2</label>
        <link refid="classViterbiTCH__AFS12__2"/>
        <childnode refid="402" relation="public-inheritance">
        </childnode>
      </node>
    </inheritancegraph>
    <collaborationgraph>
      <node id="404">
        <label>ViterbiBase</label>
        <link refid="classViterbiBase"/>
      </node>
      <node id="403">
        <label>ViterbiTCH_AFS12_2</label>
        <link refid="classViterbiTCH__AFS12__2"/>
        <childnode refid="404" relation="public-inheritance">
        </childnode>
      </node>
    </collaborationgraph>
    <location file="/build/gr-gsm-git/src/gr-gsm-git/lib/decoding/openbts/AmrCoder.h" line="32" column="1" bodyfile="/build/gr-gsm-git/src/gr-gsm-git/lib/decoding/openbts/AmrCoder.h" bodystart="32" bodyend="138"/>
    <listofallmembers>
      <member refid="classViterbiBase_1a33940c637e576fb7f18fba0bdcf81cf4" prot="public" virt="non-virtual"><scope>ViterbiTCH_AFS12_2</scope><name>applyPoly</name></member>
      <member refid="classViterbiBase_1a80a471965ab1231000f6693d1564d2f3" prot="public" virt="non-virtual"><scope>ViterbiTCH_AFS12_2</scope><name>applyPoly</name></member>
      <member refid="classViterbiTCH__AFS12__2_1a555eb3e24d110620b52722d5db3f9c35" prot="private" virt="non-virtual"><scope>ViterbiTCH_AFS12_2</scope><name>branchCandidates</name></member>
      <member refid="classViterbiTCH__AFS12__2_1a169dd28cb66b8da35c129c0ad054d3ac" prot="public" virt="non-virtual"><scope>ViterbiTCH_AFS12_2</scope><name>cMask</name></member>
      <member refid="classViterbiTCH__AFS12__2_1a8f224abcb3b64b4945d52e1f27fc1522" prot="private" virt="non-virtual"><scope>ViterbiTCH_AFS12_2</scope><name>computeGeneratorTable</name></member>
      <member refid="classViterbiTCH__AFS12__2_1a233c1481680df3d0e283bbceecc17a31" prot="private" virt="non-virtual"><scope>ViterbiTCH_AFS12_2</scope><name>computeStateTables</name></member>
      <member refid="classViterbiTCH__AFS12__2_1a91827b6641400477d9cb0ad4ba12031e" prot="private" virt="virtual"><scope>ViterbiTCH_AFS12_2</scope><name>decode</name></member>
      <member refid="classViterbiTCH__AFS12__2_1aa769d65acd30cf7b8b13f8790d7365dd" prot="public" virt="non-virtual"><scope>ViterbiTCH_AFS12_2</scope><name>deferral</name></member>
      <member refid="classViterbiTCH__AFS12__2_1a23a882ab3eba8d524cac98fb9c9e8bfc" prot="private" virt="virtual"><scope>ViterbiTCH_AFS12_2</scope><name>encode</name></member>
      <member refid="classViterbiBase_1a3a66056f1a2fff22f0fec39552fc20eb" prot="public" virt="virtual"><scope>ViterbiTCH_AFS12_2</scope><name>getBEC</name></member>
      <member refid="classViterbiTCH__AFS12__2_1ab923afb4638a00c0ba5034606b280a39" prot="private" virt="non-virtual"><scope>ViterbiTCH_AFS12_2</scope><name>getSoftCostMetrics</name></member>
      <member refid="classViterbiTCH__AFS12__2_1aab0ac3610868d50378f5162ae15ce231" prot="public" virt="non-virtual"><scope>ViterbiTCH_AFS12_2</scope><name>initializeStates</name></member>
      <member refid="classViterbiTCH__AFS12__2_1acfe86e0a98dc420b355bdfb948ed3163" prot="public" virt="non-virtual"><scope>ViterbiTCH_AFS12_2</scope><name>iRate</name></member>
      <member refid="classViterbiTCH__AFS12__2_1a6ada45607870473de3e4b17c73ebc5d0" prot="private" virt="non-virtual"><scope>ViterbiTCH_AFS12_2</scope><name>mCandidates</name></member>
      <member refid="classViterbiTCH__AFS12__2_1a1b1155f8f8a7321087eca2f7f00b307f" prot="private" virt="non-virtual"><scope>ViterbiTCH_AFS12_2</scope><name>mCMask</name></member>
      <member refid="classViterbiTCH__AFS12__2_1a277a52c6710e5fb79c7fdc49faad0255" prot="private" virt="non-virtual"><scope>ViterbiTCH_AFS12_2</scope><name>mCoeffs</name></member>
      <member refid="classViterbiTCH__AFS12__2_1af8b97997f73cd18cb44c30ccdab7a076" prot="private" virt="non-virtual"><scope>ViterbiTCH_AFS12_2</scope><name>mCoeffsFB</name></member>
      <member refid="classViterbiTCH__AFS12__2_1a50ecf4f6ac157fdd75b017cece6a705f" prot="private" virt="non-virtual"><scope>ViterbiTCH_AFS12_2</scope><name>mDeferral</name></member>
      <member refid="classViterbiTCH__AFS12__2_1a40eaf76c1a5699d5c1c7e8f58774b67a" prot="private" virt="non-virtual"><scope>ViterbiTCH_AFS12_2</scope><name>mGeneratorTable</name></member>
      <member refid="classViterbiTCH__AFS12__2_1ab2ef13e6123e435c53ab55e5335b1c83" prot="private" virt="non-virtual"><scope>ViterbiTCH_AFS12_2</scope><name>minCost</name></member>
      <member refid="classViterbiTCH__AFS12__2_1af50c183ba97fd1af1bbcb1c318b78f6e" prot="private" virt="non-virtual"><scope>ViterbiTCH_AFS12_2</scope><name>mIRate</name></member>
      <member refid="classViterbiTCH__AFS12__2_1a20fa5671e61e442008868d27fbca6741" prot="private" virt="non-virtual"><scope>ViterbiTCH_AFS12_2</scope><name>mIStates</name></member>
      <member refid="classViterbiTCH__AFS12__2_1ada52f8e262450545106b21e81bf07894" prot="private" virt="non-virtual"><scope>ViterbiTCH_AFS12_2</scope><name>mNumCands</name></member>
      <member refid="classViterbiTCH__AFS12__2_1a048c46ba382b809edc5118dcb94016c8" prot="private" virt="non-virtual"><scope>ViterbiTCH_AFS12_2</scope><name>mOMask</name></member>
      <member refid="classViterbiTCH__AFS12__2_1a1d9eaee86bb4d801e4a4ab47c084b9ee" prot="private" virt="non-virtual"><scope>ViterbiTCH_AFS12_2</scope><name>mOrder</name></member>
      <member refid="classViterbiTCH__AFS12__2_1a4be728755bd75cb814e067c80f545cb4" prot="private" virt="non-virtual"><scope>ViterbiTCH_AFS12_2</scope><name>mSMask</name></member>
      <member refid="classViterbiTCH__AFS12__2_1a2ddd3e0e4311e92803c0b0d9656ec0ff" prot="private" virt="non-virtual"><scope>ViterbiTCH_AFS12_2</scope><name>mStateTable</name></member>
      <member refid="classViterbiTCH__AFS12__2_1afcd6e14938fc4c233724c4f4712a3afc" prot="private" virt="non-virtual"><scope>ViterbiTCH_AFS12_2</scope><name>mSurvivors</name></member>
      <member refid="classViterbiTCH__AFS12__2_1ae16432269967dadc393dc238672ffea1" prot="private" virt="non-virtual"><scope>ViterbiTCH_AFS12_2</scope><name>pruneCandidates</name></member>
      <member refid="classViterbiTCH__AFS12__2_1a6ff89508647f3a1b464f8bd53a7bc0fc" prot="public" virt="non-virtual"><scope>ViterbiTCH_AFS12_2</scope><name>stateTable</name></member>
      <member refid="classViterbiTCH__AFS12__2_1a95561ce47766940a39ee41e6869172b6" prot="public" virt="non-virtual"><scope>ViterbiTCH_AFS12_2</scope><name>step</name></member>
      <member refid="classViterbiTCH__AFS12__2_1a7b076de854d57f9f67b083e04c8a5eb9" prot="public" virt="non-virtual"><scope>ViterbiTCH_AFS12_2</scope><name>vCand</name></member>
      <member refid="classViterbiTCH__AFS12__2_1a2d67eb447763159243d40ffbb6eb01ba" prot="public" virt="non-virtual"><scope>ViterbiTCH_AFS12_2</scope><name>vitClear</name></member>
      <member refid="classViterbiTCH__AFS12__2_1ac8d83034458c9f7c037426dac30320e0" prot="public" virt="non-virtual"><scope>ViterbiTCH_AFS12_2</scope><name>ViterbiTCH_AFS12_2</name></member>
    </listofallmembers>
  </compounddef>
</doxygen>
