⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 forth_8cpp-source.html

📁 这个是关于G.726算法的源程序
💻 HTML
📖 第 1 页 / 共 5 页
字号:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1"><title>forth/forth.cpp Source File</title><link href="doxygen.css" rel="stylesheet" type="text/css"></head><body><!-- Generated by Doxygen 1.4.4 --><div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="modules.html">Modules</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="dirs.html">Directories</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a></div><div class="nav"><a class="el" href="dir_000002.html">forth</a></div><h1>forth.cpp</h1><a href="forth_8cpp.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <a name="l00022"></a>00022 <span class="preprocessor">#include "<a class="code" href="common_8h.html">common.h</a>"</span><a name="l00023"></a>00023 <span class="preprocessor">#include "<a class="code" href="forth_8h.html">forth.h</a>"</span><a name="l00024"></a>00024 <a name="l00025"></a>00025 <span class="preprocessor">#if 1</span><a name="l00026"></a><a class="code" href="group__forth__imp.html#ga59">00026</a> <span class="preprocessor"></span><span class="preprocessor">#define LITTLE_ENDIAN   </span><a name="l00027"></a>00027 <span class="preprocessor">#else</span><a name="l00028"></a>00028 <span class="preprocessor"></span><span class="preprocessor">#define BIG_ENDIAN      </span><a name="l00029"></a>00029 <span class="preprocessor">#endif</span><a name="l00030"></a>00030 <span class="preprocessor"></span><a name="l00035"></a><a class="code" href="group__forth__imp.html#ga60">00035</a> <span class="preprocessor">#define CELLS(x)        ((CELL)(((CELL*)256)+(x))-(CELL)((CELL*)256))</span><a name="l00036"></a>00036 <span class="preprocessor"></span><a name="l00041"></a><a class="code" href="group__forth__imp.html#ga61">00041</a> <span class="preprocessor">#define CHARS(x)        ((CELL)(((CHAR*)256)+(x))-(CELL)((CHAR*)256))</span><a name="l00042"></a>00042 <span class="preprocessor"></span><a name="l00047"></a><a class="code" href="group__forth__imp.html#ga62">00047</a> <span class="preprocessor">#define SLASH_CELL(x)   ((CELL*)(256+(x))-((CELL*)256))</span><a name="l00048"></a>00048 <span class="preprocessor"></span><a name="l00053"></a><a class="code" href="group__forth__imp.html#ga63">00053</a> <span class="preprocessor">#define SLASH_CHAR(x)   ((CHAR*)(256+(x))-((CHAR*)256))</span><a name="l00054"></a>00054 <span class="preprocessor"></span><a name="l00059"></a><a class="code" href="group__forth__imp.html#ga64">00059</a> <span class="preprocessor">#define ALIGNED(x)      (((x)+CELLS(1)-1)&amp;~(CELLS(1)-1))</span><a name="l00060"></a>00060 <span class="preprocessor"></span><a name="l00064"></a><a class="code" href="group__forth__imp.html#ga0">00064</a> <span class="keyword">static</span> <span class="keyword">const</span> <a class="code" href="group__forth.html#ga0">CELL</a> <a class="code" href="group__forth__imp.html#ga0">BitsPerCell</a> = <a class="code" href="group__forth.html#ga5">BITS_PER_CHAR</a>*<a class="code" href="group__forth.html#ga6">CHARS_PER_CELL</a>;<a name="l00065"></a>00065 <a name="l00070"></a><a class="code" href="group__forth__imp.html#ga1">00070</a> <span class="keyword">static</span> <span class="keyword">const</span> <a class="code" href="group__forth.html#ga0">CELL</a> <a class="code" href="group__forth__imp.html#ga1">CellLoMask</a> = ((<a class="code" href="group__forth.html#ga0">CELL</a>)1&lt;&lt;(<a class="code" href="group__forth__imp.html#ga0">BitsPerCell</a>/2))-1;<a name="l00071"></a>00071 <a name="l00075"></a><a class="code" href="group__forth__imp.html#ga2">00075</a> <span class="keyword">static</span> <span class="keyword">const</span> <a class="code" href="group__forth.html#ga0">CELL</a> <a class="code" href="group__forth__imp.html#ga2">SlashCountedString</a> = 255;<a name="l00076"></a>00076 <a name="l00082"></a><a class="code" href="group__forth__imp.html#ga3">00082</a> <span class="keyword">static</span> <span class="keyword">const</span> <a class="code" href="group__forth.html#ga0">CELL</a> <a class="code" href="group__forth__imp.html#ga3">NameLengthMask</a> = 31;<a name="l00083"></a>00083 <a name="l00087"></a><a class="code" href="group__forth__imp.html#ga4">00087</a> <span class="keyword">static</span> <span class="keyword">const</span> <a class="code" href="group__forth.html#ga0">CELL</a> <a class="code" href="group__forth__imp.html#ga4">NumberTIB</a> = 80;<a name="l00088"></a>00088 <a name="l00092"></a><a class="code" href="group__forth__imp.html#ga5">00092</a> <span class="keyword">static</span> <span class="keyword">const</span> <a class="code" href="group__forth.html#ga0">CELL</a> <a class="code" href="group__forth__imp.html#ga5">SlashPad</a> = 84;<a name="l00093"></a>00093 <a name="l00098"></a><a class="code" href="group__forth__imp.html#ga6">00098</a> <span class="keyword">static</span> <span class="keyword">const</span> <a class="code" href="group__forth.html#ga0">CELL</a> <a class="code" href="group__forth__imp.html#ga6">DictionaryOverhead</a> = <a class="code" href="group__forth__imp.html#ga61">CHARS</a>(<a class="code" href="group__forth__imp.html#ga2">SlashCountedString</a>+2+<a class="code" href="group__forth__imp.html#ga5">SlashPad</a>);<a name="l00099"></a>00099 <a name="l00103"></a><a class="code" href="group__forth__imp.html#ga7">00103</a> <span class="keyword">static</span> <span class="keyword">const</span> <a class="code" href="group__forth.html#ga0">CELL</a> <a class="code" href="group__forth__imp.html#ga7">MaxWordlists</a> = 16;<a name="l00104"></a>00104 <a name="l00108"></a><a class="code" href="group__forth__imp.html#ga8">00108</a> <span class="keyword">static</span> <span class="keyword">const</span> <a class="code" href="group__forth.html#ga0">CELL</a> <a class="code" href="group__forth__imp.html#ga8">StackCells</a> = 256;<a name="l00109"></a>00109 <a name="l00113"></a><a class="code" href="group__forth__imp.html#ga9">00113</a> <span class="keyword">static</span> <span class="keyword">const</span> <a class="code" href="group__forth.html#ga0">CELL</a> <a class="code" href="group__forth__imp.html#ga9">ReturnStackCells</a> = 256;<a name="l00114"></a>00114 <a name="l00115"></a>00115 <a name="l00119"></a><a class="code" href="classWordHeader.html">00119</a> <span class="keyword">class </span><a class="code" href="classWordHeader.html">WordHeader</a><a name="l00120"></a>00120     {<a name="l00121"></a>00121 <span class="keyword">public</span>:<a name="l00132"></a><a class="code" href="classWordHeader.html#o0">00132</a>     <a class="code" href="group__forth.html#ga0">CELL</a> <a class="code" href="classWordHeader.html#o0">Previous</a>;<a name="l00133"></a>00133 <a name="l00138"></a>00138     <a class="code" href="group__forth.html#ga2">CHAR</a> <a class="code" href="classWordHeader.html#o1">NameLength</a>;<a name="l00139"></a>00139 <a name="l00144"></a><a class="code" href="classWordHeader.html#o2">00144</a>     <a class="code" href="group__forth.html#ga2">CHAR</a> <a class="code" href="classWordHeader.html#o2">Name</a>[1];<a name="l00145"></a>00145 <a name="l00150"></a><a class="code" href="classWordHeader.html#w3">00150</a>     <span class="keyword">enum</span> <a class="code" href="classWordHeader.html#w3">WordFlags</a><a name="l00151"></a>00151         {<a name="l00152"></a>00152         <a class="code" href="classWordHeader.html#w3w0">Token</a>       = 1&lt;&lt;5, <a name="l00154"></a>00154         <a class="code" href="classWordHeader.html#w3w1">Immediate</a>   = 1&lt;&lt;6, <a name="l00155"></a><a class="code" href="classWordHeader.html#w3w2">00155</a>         <a class="code" href="classWordHeader.html#w3w2">Valid</a>       = 1&lt;&lt;7  <a name="l00156"></a>00156         };<a name="l00157"></a>00157 <a name="l00158"></a>00158 <span class="keyword">public</span>:<a name="l00163"></a><a class="code" href="classWordHeader.html#a0">00163</a>     <span class="keyword">inline</span> <a class="code" href="group__forth.html#ga0">CELL</a>* <a class="code" href="classWordHeader.html#a0">CFA</a>()<a name="l00164"></a>00164         { <span class="keywordflow">return</span> (<a class="code" href="group__forth.html#ga0">CELL</a>*)<a class="code" href="group__forth__imp.html#ga64">ALIGNED</a>((<a class="code" href="group__forth.html#ga0">CELL</a>)(<a class="code" href="classWordHeader.html#o2">Name</a>+(<a class="code" href="classWordHeader.html#o1">NameLength</a>&amp;<a class="code" href="group__forth__imp.html#ga3">NameLengthMask</a>))); }<a name="l00165"></a>00165     };<a name="l00166"></a>00166 <a name="l00167"></a>00167 <a name="l00171"></a><a class="code" href="group__forth__imp.html#ga102">00171</a> <span class="keyword">enum</span> <a class="code" href="group__forth__imp.html#ga102">Exception</a><a name="l00172"></a>00172     {<a name="l00173"></a>00173     DivideByZero = -10,<a name="l00174"></a>00174     ResultOutOfRange = -11,<a name="l00175"></a>00175     UndefinedWord = -13,<a name="l00176"></a>00176     ZeroLengthName = -16,<a name="l00177"></a>00177     PicturedStringOverflow = -17,<a name="l00178"></a>00178     ControlStructureMismatch = -22<a name="l00179"></a>00179     };<a name="l00180"></a>00180 <a name="l00181"></a>00181 <a name="l00185"></a><a class="code" href="structWordlist.html">00185</a> <span class="keyword">struct </span><a class="code" href="structWordlist.html">Wordlist</a><a name="l00186"></a>00186     {<a name="l00190"></a><a class="code" href="structWordlist.html#o0">00190</a>     <a class="code" href="group__forth.html#ga0">CELL</a> <a class="code" href="structWordlist.html#o0">LastWord</a>;<a name="l00191"></a>00191 <a name="l00195"></a><a class="code" href="structWordlist.html#o1">00195</a>     <a class="code" href="group__forth.html#ga0">CELL</a> <a class="code" href="structWordlist.html#o1">Previous</a>;<a name="l00196"></a>00196 <a name="l00201"></a><a class="code" href="structWordlist.html#o2">00201</a>     <a class="code" href="group__forth.html#ga0">CELL</a> <a class="code" href="structWordlist.html#o2">Name</a>;<a name="l00202"></a>00202     };<a name="l00203"></a>00203 <a name="l00204"></a>00204 <a name="l00208"></a><a class="code" href="group__forth__imp.html#ga103">00208</a> <span class="keyword">enum</span> <a class="code" href="group__forth__imp.html#ga103">ControlStackMarkers</a><a name="l00209"></a>00209     {<a name="l00210"></a>00210     <a class="code" href="group__forth__imp.html#gga103a107">ColonMagic</a> = 12340, <a name="l00211"></a>00211     <a class="code" href="group__forth__imp.html#gga103a108">OrigMagic</a>  = 12341, <a name="l00212"></a><a class="code" href="group__forth__imp.html#gga103a109">00212</a>     <a class="code" href="group__forth__imp.html#gga103a109">DestMagic</a>  = 12342  <a name="l00213"></a>00213     };

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -