Sophie

Sophie

distrib > Fedora > 14 > x86_64 > media > updates > by-pkgid > 6e7a2755bd78c9deedab199b86e675f3 > files > 6466

gnuradio-doc-3.2.2-9.fc14.x86_64.rpm

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>GNU Radio 3.2.2 C++ API: int.h Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript">
$(document).ready(initResizable);
</script>
<link href="doxygen.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<!-- Generated by Doxygen 1.7.3 -->
<div id="top">
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td style="padding-left: 0.5em;">
   <div id="projectname">GNU Radio 3.2.2 C++ API</div>
  </td>
 </tr>
 </tbody>
</table>
</div>
</div>
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;" 
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
  initNavTree('int_8h.html','');
</script>
<div id="doc-content">
<div class="header">
  <div class="headertitle">
<h1>int.h</h1>  </div>
</div>
<div class="contents">
<a href="int_8h.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/* Include file to configure the RS codec for integer symbols</span>
<a name="l00002"></a>00002 <span class="comment"> *</span>
<a name="l00003"></a>00003 <span class="comment"> * Copyright 2002, Phil Karn, KA9Q</span>
<a name="l00004"></a>00004 <span class="comment"> * May be used under the terms of the GNU General Public License (GPL)</span>
<a name="l00005"></a>00005 <span class="comment"> */</span>
<a name="l00006"></a><a class="code" href="int_8h.html#a3834ad0136a8b95a6589500e4009fe9a">00006</a> <span class="preprocessor">#define DTYPE int</span>
<a name="l00007"></a>00007 <span class="preprocessor"></span>
<a name="l00008"></a>00008 <span class="comment">/* Reed-Solomon codec control block */</span>
<a name="l00009"></a>00009 <span class="keyword">struct </span><a class="code" href="structrs.html">rs</a> {
<a name="l00010"></a>00010   <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> <a class="code" href="structrs.html#a6c51880b68e23830f107985cce327fc7">mm</a>;   <span class="comment">/* Bits per symbol */</span>
<a name="l00011"></a>00011   <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> <a class="code" href="structrs.html#acc46847d864331e9993523bbda3e2ae9">nn</a>;   <span class="comment">/* Symbols per block (= (1&lt;&lt;mm)-1) */</span>
<a name="l00012"></a><a class="code" href="structrs.html#a1dff35945aa4febcb10e7256e88395bd">00012</a>   <span class="keywordtype">int</span> *<a class="code" href="structrs.html#a1dff35945aa4febcb10e7256e88395bd">alpha_to</a>;      <span class="comment">/* log lookup table */</span>
<a name="l00013"></a><a class="code" href="structrs.html#aa9d9f3d5522eeabf10813a90e09cdec8">00013</a>   <span class="keywordtype">int</span> *<a class="code" href="structrs.html#aa9d9f3d5522eeabf10813a90e09cdec8">index_of</a>;      <span class="comment">/* Antilog lookup table */</span>
<a name="l00014"></a><a class="code" href="structrs.html#a540aa55ae1f14ec22ee2289103fd8940">00014</a>   <span class="keywordtype">int</span> *<a class="code" href="structrs.html#a540aa55ae1f14ec22ee2289103fd8940">genpoly</a>;       <span class="comment">/* Generator polynomial */</span>
<a name="l00015"></a>00015   <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> <a class="code" href="structrs.html#ab624fbe04262497bb2c8f4e6056c307f">nroots</a>;     <span class="comment">/* Number of generator roots = number of parity symbols */</span>
<a name="l00016"></a><a class="code" href="structrs.html#a3b30f92b7c1ed1ccb255835950314df0">00016</a>   <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> <a class="code" href="structrs.html#a3b30f92b7c1ed1ccb255835950314df0">fcr</a>;        <span class="comment">/* First consecutive root, index form */</span>
<a name="l00017"></a><a class="code" href="structrs.html#a85a1bb451d814b065d85030ed9ac8293">00017</a>   <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> <a class="code" href="structrs.html#a85a1bb451d814b065d85030ed9ac8293">prim</a>;       <span class="comment">/* Primitive element, index form */</span>
<a name="l00018"></a><a class="code" href="structrs.html#a451d3a3a1d8efc60c2bd75eaba7e38d4">00018</a>   <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> <a class="code" href="structrs.html#a451d3a3a1d8efc60c2bd75eaba7e38d4">iprim</a>;      <span class="comment">/* prim-th root of 1, index form */</span>
<a name="l00019"></a>00019 };
<a name="l00020"></a>00020 
<a name="l00021"></a><a class="code" href="int_8h.html#aefb5ab2596455768608ddd4479d5ea98">00021</a> <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">int</span> <a class="code" href="int_8h.html#aefb5ab2596455768608ddd4479d5ea98">modnn</a>(<span class="keyword">struct</span> <a class="code" href="structrs.html">rs</a> *<a class="code" href="structrs.html">rs</a>,<span class="keywordtype">int</span> x){
<a name="l00022"></a>00022   <span class="keywordflow">while</span> (x &gt;= rs-&gt;<a class="code" href="structrs.html#acc46847d864331e9993523bbda3e2ae9">nn</a>) {
<a name="l00023"></a>00023     x -= rs-&gt;<a class="code" href="structrs.html#acc46847d864331e9993523bbda3e2ae9">nn</a>;
<a name="l00024"></a>00024     x = (x &gt;&gt; rs-&gt;<a class="code" href="structrs.html#a6c51880b68e23830f107985cce327fc7">mm</a>) + (x &amp; rs-&gt;<a class="code" href="structrs.html#acc46847d864331e9993523bbda3e2ae9">nn</a>);
<a name="l00025"></a>00025   }
<a name="l00026"></a>00026   <span class="keywordflow">return</span> x;
<a name="l00027"></a>00027 }
<a name="l00028"></a><a class="code" href="int_8h.html#a3ed9b2483e4d6616a203769ad381c97c">00028</a> <span class="preprocessor">#define MODNN(x) modnn(rs,x)</span>
<a name="l00029"></a>00029 <span class="preprocessor"></span>
<a name="l00030"></a><a class="code" href="int_8h.html#afdc383f8992f4a960bb22998f57b6d37">00030</a> <span class="preprocessor">#define MM (rs-&gt;mm)</span>
<a name="l00031"></a><a class="code" href="int_8h.html#a170755e30c36be4904106b7bb279b1ec">00031</a> <span class="preprocessor"></span><span class="preprocessor">#define NN (rs-&gt;nn)</span>
<a name="l00032"></a><a class="code" href="int_8h.html#afae14aea58e6520b2057147833c699de">00032</a> <span class="preprocessor"></span><span class="preprocessor">#define ALPHA_TO (rs-&gt;alpha_to) </span>
<a name="l00033"></a><a class="code" href="int_8h.html#a690b4c8564b1cb507383e7a78f4cd6dc">00033</a> <span class="preprocessor"></span><span class="preprocessor">#define INDEX_OF (rs-&gt;index_of)</span>
<a name="l00034"></a><a class="code" href="int_8h.html#a90fbc87e4b99a54543c8f37087cb4f03">00034</a> <span class="preprocessor"></span><span class="preprocessor">#define GENPOLY (rs-&gt;genpoly)</span>
<a name="l00035"></a><a class="code" href="int_8h.html#a5f5b4d84f10e6a71bef7c65548a8e317">00035</a> <span class="preprocessor"></span><span class="preprocessor">#define NROOTS (rs-&gt;nroots)</span>
<a name="l00036"></a><a class="code" href="int_8h.html#a264b36b13386e3f62fe69e04711bc006">00036</a> <span class="preprocessor"></span><span class="preprocessor">#define FCR (rs-&gt;fcr)</span>
<a name="l00037"></a><a class="code" href="int_8h.html#a6dd0302d2b9ced6e396b9182a6287b9e">00037</a> <span class="preprocessor"></span><span class="preprocessor">#define PRIM (rs-&gt;prim)</span>
<a name="l00038"></a><a class="code" href="int_8h.html#a8487c20a46e1e08f7aeabec7cef80945">00038</a> <span class="preprocessor"></span><span class="preprocessor">#define IPRIM (rs-&gt;iprim)</span>
<a name="l00039"></a><a class="code" href="int_8h.html#a0d158f1e3af2ab523eb8423db3e5bd6e">00039</a> <span class="preprocessor"></span><span class="preprocessor">#define A0 (NN)</span>
<a name="l00040"></a>00040 <span class="preprocessor"></span>
<a name="l00041"></a><a class="code" href="int_8h.html#ad826cb74e3f1ac5d6ce040c651d6f737">00041</a> <span class="preprocessor">#define ENCODE_RS encode_rs_int</span>
<a name="l00042"></a><a class="code" href="int_8h.html#a974397d0c45a6897c0a3d72d5e571c54">00042</a> <span class="preprocessor"></span><span class="preprocessor">#define DECODE_RS decode_rs_int</span>
<a name="l00043"></a><a class="code" href="int_8h.html#a1be8603fbadc818c18bfc51c5f413551">00043</a> <span class="preprocessor"></span><span class="preprocessor">#define INIT_RS init_rs_int</span>
<a name="l00044"></a><a class="code" href="int_8h.html#a73e98bd3b1c67f7fa726d3242d78a407">00044</a> <span class="preprocessor"></span><span class="preprocessor">#define FREE_RS free_rs_int</span>
<a name="l00045"></a>00045 <span class="preprocessor"></span>
<a name="l00046"></a>00046 <span class="keywordtype">void</span> <a class="code" href="char_8h.html#ad826cb74e3f1ac5d6ce040c651d6f737">ENCODE_RS</a>(<span class="keywordtype">void</span> *p,<a class="code" href="int_8h.html#a3834ad0136a8b95a6589500e4009fe9a">DTYPE</a> *data,<a class="code" href="int_8h.html#a3834ad0136a8b95a6589500e4009fe9a">DTYPE</a> *parity);
<a name="l00047"></a>00047 <span class="keywordtype">int</span> <a class="code" href="char_8h.html#a974397d0c45a6897c0a3d72d5e571c54">DECODE_RS</a>(<span class="keywordtype">void</span> *p,<a class="code" href="int_8h.html#a3834ad0136a8b95a6589500e4009fe9a">DTYPE</a> *data,<span class="keywordtype">int</span> *eras_pos,<span class="keywordtype">int</span> no_eras);
<a name="l00048"></a>00048 <span class="keywordtype">void</span> *<a class="code" href="char_8h.html#a1be8603fbadc818c18bfc51c5f413551">INIT_RS</a>(<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> symsize,<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> gfpoly,<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> fcr,
<a name="l00049"></a>00049                    <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> prim,<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> nroots);
<a name="l00050"></a>00050 <span class="keywordtype">void</span> <a class="code" href="char_8h.html#a73e98bd3b1c67f7fa726d3242d78a407">FREE_RS</a>(<span class="keywordtype">void</span> *p);
<a name="l00051"></a>00051 
<a name="l00052"></a>00052 
<a name="l00053"></a>00053 
<a name="l00054"></a>00054 
</pre></div></div>
</div>
  <div id="nav-path" class="navpath">
    <ul>
      <li class="navelem"><a class="el" href="int_8h.html">int.h</a>      </li>
      <li class="footer">Generated on Thu Feb 17 2011 for GNU Radio 3.2.2 C++ API by&#160;
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.3 </li>
    </ul>
  </div>

</body>
</html>