Sophie

Sophie

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

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: char.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('char_8h.html','');
</script>
<div id="doc-content">
<div class="header">
  <div class="headertitle">
<h1>char.h</h1>  </div>
</div>
<div class="contents">
<a href="char_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 character 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>00006 
<a name="l00007"></a><a class="code" href="char_8h.html#a3834ad0136a8b95a6589500e4009fe9a">00007</a> <span class="preprocessor">#define DTYPE unsigned char</span>
<a name="l00008"></a>00008 <span class="preprocessor"></span>
<a name="l00009"></a>00009 <span class="comment">/* Reed-Solomon codec control block */</span>
<a name="l00010"></a><a class="code" href="structrs.html">00010</a> <span class="keyword">struct </span><a class="code" href="structrs.html">rs</a> {
<a name="l00011"></a><a class="code" href="structrs.html#a6c51880b68e23830f107985cce327fc7">00011</a>   <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="l00012"></a><a class="code" href="structrs.html#acc46847d864331e9993523bbda3e2ae9">00012</a>   <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="l00013"></a><a class="code" href="structrs.html#ac61add34c6ab807bf0f2d9a13dc7d29b">00013</a>   <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> *<a class="code" href="structrs.html#ac61add34c6ab807bf0f2d9a13dc7d29b">alpha_to</a>;      <span class="comment">/* log lookup table */</span>
<a name="l00014"></a><a class="code" href="structrs.html#af32872306bdd6dd671c42478be25024a">00014</a>   <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> *<a class="code" href="structrs.html#af32872306bdd6dd671c42478be25024a">index_of</a>;      <span class="comment">/* Antilog lookup table */</span>
<a name="l00015"></a><a class="code" href="structrs.html#ae68be44f7598c31c37c41eb0ec6975ac">00015</a>   <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> *<a class="code" href="structrs.html#ae68be44f7598c31c37c41eb0ec6975ac">genpoly</a>;       <span class="comment">/* Generator polynomial */</span>
<a name="l00016"></a><a class="code" href="structrs.html#ab624fbe04262497bb2c8f4e6056c307f">00016</a>   <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="l00017"></a><a class="code" href="structrs.html#a3e4cc5eb69cdf56b6a49dc5fe3fa133d">00017</a>   <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> <a class="code" href="structrs.html#a3e4cc5eb69cdf56b6a49dc5fe3fa133d">fcr</a>;        <span class="comment">/* First consecutive root, index form */</span>
<a name="l00018"></a><a class="code" href="structrs.html#a6a0842106e1d96fbf0143039a6e84d18">00018</a>   <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> <a class="code" href="structrs.html#a6a0842106e1d96fbf0143039a6e84d18">prim</a>;       <span class="comment">/* Primitive element, index form */</span>
<a name="l00019"></a><a class="code" href="structrs.html#ab8cbf14de7a0fdea14ec4b96909945d8">00019</a>   <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> <a class="code" href="structrs.html#ab8cbf14de7a0fdea14ec4b96909945d8">iprim</a>;      <span class="comment">/* prim-th root of 1, index form */</span>
<a name="l00020"></a>00020 };
<a name="l00021"></a>00021 
<a name="l00022"></a><a class="code" href="char_8h.html#aefb5ab2596455768608ddd4479d5ea98">00022</a> <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">int</span> <a class="code" href="char_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="l00023"></a>00023   <span class="keywordflow">while</span> (x &gt;= rs-&gt;<a class="code" href="structrs.html#acc46847d864331e9993523bbda3e2ae9">nn</a>) {
<a name="l00024"></a>00024     x -= rs-&gt;<a class="code" href="structrs.html#acc46847d864331e9993523bbda3e2ae9">nn</a>;
<a name="l00025"></a>00025     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="l00026"></a>00026   }
<a name="l00027"></a>00027   <span class="keywordflow">return</span> x;
<a name="l00028"></a>00028 }
<a name="l00029"></a><a class="code" href="char_8h.html#a3ed9b2483e4d6616a203769ad381c97c">00029</a> <span class="preprocessor">#define MODNN(x) modnn(rs,x)</span>
<a name="l00030"></a>00030 <span class="preprocessor"></span>
<a name="l00031"></a><a class="code" href="char_8h.html#afdc383f8992f4a960bb22998f57b6d37">00031</a> <span class="preprocessor">#define MM (rs-&gt;mm)</span>
<a name="l00032"></a><a class="code" href="char_8h.html#a170755e30c36be4904106b7bb279b1ec">00032</a> <span class="preprocessor"></span><span class="preprocessor">#define NN (rs-&gt;nn)</span>
<a name="l00033"></a><a class="code" href="char_8h.html#afae14aea58e6520b2057147833c699de">00033</a> <span class="preprocessor"></span><span class="preprocessor">#define ALPHA_TO (rs-&gt;alpha_to) </span>
<a name="l00034"></a><a class="code" href="char_8h.html#a690b4c8564b1cb507383e7a78f4cd6dc">00034</a> <span class="preprocessor"></span><span class="preprocessor">#define INDEX_OF (rs-&gt;index_of)</span>
<a name="l00035"></a><a class="code" href="char_8h.html#a90fbc87e4b99a54543c8f37087cb4f03">00035</a> <span class="preprocessor"></span><span class="preprocessor">#define GENPOLY (rs-&gt;genpoly)</span>
<a name="l00036"></a><a class="code" href="char_8h.html#a5f5b4d84f10e6a71bef7c65548a8e317">00036</a> <span class="preprocessor"></span><span class="preprocessor">#define NROOTS (rs-&gt;nroots)</span>
<a name="l00037"></a><a class="code" href="char_8h.html#a264b36b13386e3f62fe69e04711bc006">00037</a> <span class="preprocessor"></span><span class="preprocessor">#define FCR (rs-&gt;fcr)</span>
<a name="l00038"></a><a class="code" href="char_8h.html#a6dd0302d2b9ced6e396b9182a6287b9e">00038</a> <span class="preprocessor"></span><span class="preprocessor">#define PRIM (rs-&gt;prim)</span>
<a name="l00039"></a><a class="code" href="char_8h.html#a8487c20a46e1e08f7aeabec7cef80945">00039</a> <span class="preprocessor"></span><span class="preprocessor">#define IPRIM (rs-&gt;iprim)</span>
<a name="l00040"></a><a class="code" href="char_8h.html#a0d158f1e3af2ab523eb8423db3e5bd6e">00040</a> <span class="preprocessor"></span><span class="preprocessor">#define A0 (NN)</span>
<a name="l00041"></a>00041 <span class="preprocessor"></span>
<a name="l00042"></a><a class="code" href="char_8h.html#ad826cb74e3f1ac5d6ce040c651d6f737">00042</a> <span class="preprocessor">#define ENCODE_RS encode_rs_char</span>
<a name="l00043"></a><a class="code" href="char_8h.html#a974397d0c45a6897c0a3d72d5e571c54">00043</a> <span class="preprocessor"></span><span class="preprocessor">#define DECODE_RS decode_rs_char</span>
<a name="l00044"></a><a class="code" href="char_8h.html#a1be8603fbadc818c18bfc51c5f413551">00044</a> <span class="preprocessor"></span><span class="preprocessor">#define INIT_RS init_rs_char</span>
<a name="l00045"></a><a class="code" href="char_8h.html#a73e98bd3b1c67f7fa726d3242d78a407">00045</a> <span class="preprocessor"></span><span class="preprocessor">#define FREE_RS free_rs_char</span>
<a name="l00046"></a>00046 <span class="preprocessor"></span>
<a name="l00047"></a>00047 <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="char_8h.html#a3834ad0136a8b95a6589500e4009fe9a">DTYPE</a> *data,<a class="code" href="char_8h.html#a3834ad0136a8b95a6589500e4009fe9a">DTYPE</a> *parity);
<a name="l00048"></a>00048 <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="char_8h.html#a3834ad0136a8b95a6589500e4009fe9a">DTYPE</a> *data,<span class="keywordtype">int</span> *eras_pos,<span class="keywordtype">int</span> no_eras);
<a name="l00049"></a>00049 <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="l00050"></a>00050                    <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> prim,<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> nroots);
<a name="l00051"></a>00051 <span class="keywordtype">void</span> <a class="code" href="char_8h.html#a73e98bd3b1c67f7fa726d3242d78a407">FREE_RS</a>(<span class="keywordtype">void</span> *p);
<a name="l00052"></a>00052 
<a name="l00053"></a>00053 
<a name="l00054"></a>00054 
<a name="l00055"></a>00055 
<a name="l00056"></a>00056 
</pre></div></div>
</div>
  <div id="nav-path" class="navpath">
    <ul>
      <li class="navelem"><a class="el" href="char_8h.html">char.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>