slu__scomplex_8h.html

来自「SuperLU is a general purpose library for」· HTML 代码 · 共 497 行 · 第 1/2 页

HTML
497
字号
<!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>SuperLU: SRC/slu_scomplex.h File Reference</title><link href="doxygen.css" rel="stylesheet" type="text/css"><link href="tabs.css" rel="stylesheet" type="text/css"></head><body><!-- Generated by Doxygen 1.4.6 --><div class="tabs">  <ul>    <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>    <li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>    <li id="current"><a href="files.html"><span>Files</span></a></li>  </ul></div><div class="tabs">  <ul>    <li><a href="files.html"><span>File&nbsp;List</span></a></li>    <li><a href="globals.html"><span>Globals</span></a></li>  </ul></div><h1>SRC/slu_scomplex.h File Reference</h1>Header file for complex operations. <a href="#_details">More...</a><p><p><a href="slu__scomplex_8h-source.html">Go to the source code of this file.</a><table border="0" cellpadding="0" cellspacing="0"><tr><td></td></tr><tr><td colspan="2"><br><h2>Data Structures</h2></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structcomplex.html">complex</a></td></tr><tr><td colspan="2"><br><h2>Defines</h2></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="slu__scomplex_8h.html#f3df9377099fd2cba886d217734ce884">c_add</a>(c, a, b)</td></tr><tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Complex Addition c = a + b.  <a href="#f3df9377099fd2cba886d217734ce884"></a><br></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="slu__scomplex_8h.html#0fe6bb9dac5f735dd69a127519a9c841">c_sub</a>(c, a, b)</td></tr><tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Complex Subtraction c = a - b.  <a href="#0fe6bb9dac5f735dd69a127519a9c841"></a><br></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="slu__scomplex_8h.html#a675d825b907fe4d939ddc2533b38bb8">cs_mult</a>(c, a, b)</td></tr><tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Complex-Double Multiplication.  <a href="#a675d825b907fe4d939ddc2533b38bb8"></a><br></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="slu__scomplex_8h.html#515037047a218e7f77c4f495b1d6abca">cc_mult</a>(c, a, b)</td></tr><tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Complex-Complex Multiplication.  <a href="#515037047a218e7f77c4f495b1d6abca"></a><br></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="slu__scomplex_8h.html#c917679ece23ee5f61e994fb56b30e1c">cc_conj</a>(a, b)</td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="slu__scomplex_8h.html#82b7c0f8931b82e92d24a076eab0e82e">c_eq</a>(a, b)&nbsp;&nbsp;&nbsp;( (a)-&gt;r == (b)-&gt;r &amp;&amp; (a)-&gt;i == (b)-&gt;i )</td></tr><tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Complex equality testing.  <a href="#82b7c0f8931b82e92d24a076eab0e82e"></a><br></td></tr><tr><td colspan="2"><br><h2>Functions</h2></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="slu__scomplex_8h.html#6b7d3c87a3029e808bb32eed7dad81f7">c_div</a> (<a class="el" href="structcomplex.html">complex</a> *, <a class="el" href="structcomplex.html">complex</a> *, <a class="el" href="structcomplex.html">complex</a> *)</td></tr><tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Complex Division c = a/b.  <a href="#6b7d3c87a3029e808bb32eed7dad81f7"></a><br></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">double&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="slu__scomplex_8h.html#f55ee2cd6c55b5ad16136940080c9f67">c_abs</a> (<a class="el" href="structcomplex.html">complex</a> *)</td></tr><tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns sqrt(z.r^2 + z.i^2).  <a href="#f55ee2cd6c55b5ad16136940080c9f67"></a><br></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">double&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="slu__scomplex_8h.html#47b65089087d28e542f04907937cb8a9">c_abs1</a> (<a class="el" href="structcomplex.html">complex</a> *)</td></tr><tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Approximates the abs. Returns abs(z.r) + abs(z.i).  <a href="#47b65089087d28e542f04907937cb8a9"></a><br></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="slu__scomplex_8h.html#36d8645ac9bf1eb00128329fe5edb982">c_exp</a> (<a class="el" href="structcomplex.html">complex</a> *, <a class="el" href="structcomplex.html">complex</a> *)</td></tr><tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return the exponentiation.  <a href="#36d8645ac9bf1eb00128329fe5edb982"></a><br></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="slu__scomplex_8h.html#0837d7f15d3b03860fdd17de957c788c">r_cnjg</a> (<a class="el" href="structcomplex.html">complex</a> *, <a class="el" href="structcomplex.html">complex</a> *)</td></tr><tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return the complex conjugate.  <a href="#0837d7f15d3b03860fdd17de957c788c"></a><br></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">double&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="slu__scomplex_8h.html#29e2cb7ddb38711cdae8f6dc4481a80f">r_imag</a> (<a class="el" href="structcomplex.html">complex</a> *)</td></tr><tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return the imaginary part.  <a href="#29e2cb7ddb38711cdae8f6dc4481a80f"></a><br></td></tr></table><hr><a name="_details"></a><h2>Detailed Description</h2><pre>   -- SuperLU routine (version 2.0) -- Univ. of California Berkeley, Xerox Palo Alto Research Center, and Lawrence Berkeley National Lab. November 15, 1997</pre><p><pre> Contains definitions for various complex operations. This header file is to be included in source files c*.c </pre> <hr><h2>Define Documentation</h2><a class="anchor" name="f3df9377099fd2cba886d217734ce884"></a><!-- doxytag: member="slu_scomplex.h::c_add" ref="f3df9377099fd2cba886d217734ce884" args="(c, a, b)" --><p><table class="mdTable" cellpadding="2" cellspacing="0">  <tr>    <td class="mdRow">      <table cellpadding="0" cellspacing="0" border="0">        <tr>          <td class="md" nowrap valign="top">#define c_add          </td>          <td class="md" valign="top">(&nbsp;</td>          <td class="md" nowrap valign="top">c,         <tr>          <td class="md" nowrap align="right"></td>          <td class="md"></td>          <td class="md" nowrap>a,         <tr>          <td class="md" nowrap align="right"></td>          <td class="md"></td>          <td class="md" nowrap>b&nbsp;</td>          <td class="mdname1" valign="top" nowrap>          </td>          <td class="md" valign="top">&nbsp;)&nbsp;</td>          <td class="md" nowrap></td>        </tr>      </table>    </td>  </tr></table><table cellspacing="5" cellpadding="0" border="0">  <tr>    <td>      &nbsp;    </td>    <td><p><b>Value:</b><div class="fragment"><pre class="fragment">{ (c)-&gt;r = (a)-&gt;r + (b)-&gt;r; \                         (c)-&gt;i = (a)-&gt;i + (b)-&gt;i; }</pre></div>    </td>  </tr></table><a class="anchor" name="82b7c0f8931b82e92d24a076eab0e82e"></a><!-- doxytag: member="slu_scomplex.h::c_eq" ref="82b7c0f8931b82e92d24a076eab0e82e" args="(a, b)" --><p><table class="mdTable" cellpadding="2" cellspacing="0">  <tr>    <td class="mdRow">      <table cellpadding="0" cellspacing="0" border="0">        <tr>          <td class="md" nowrap valign="top">#define c_eq          </td>          <td class="md" valign="top">(&nbsp;</td>          <td class="md" nowrap valign="top">a,         <tr>          <td class="md" nowrap align="right"></td>          <td class="md"></td>          <td class="md" nowrap>b&nbsp;</td>          <td class="mdname1" valign="top" nowrap>          </td>          <td class="md" valign="top">&nbsp;)&nbsp;</td>          <td class="md" nowrap>&nbsp;&nbsp;&nbsp;( (a)-&gt;r == (b)-&gt;r &amp;&amp; (a)-&gt;i == (b)-&gt;i )</td>        </tr>      </table>    </td>  </tr></table><table cellspacing="5" cellpadding="0" border="0">  <tr>    <td>      &nbsp;    </td>    <td><p>    </td>  </tr></table><a class="anchor" name="0fe6bb9dac5f735dd69a127519a9c841"></a><!-- doxytag: member="slu_scomplex.h::c_sub" ref="0fe6bb9dac5f735dd69a127519a9c841" args="(c, a, b)" --><p><table class="mdTable" cellpadding="2" cellspacing="0">  <tr>    <td class="mdRow">      <table cellpadding="0" cellspacing="0" border="0">        <tr>          <td class="md" nowrap valign="top">#define c_sub          </td>          <td class="md" valign="top">(&nbsp;</td>          <td class="md" nowrap valign="top">c,         <tr>          <td class="md" nowrap align="right"></td>          <td class="md"></td>          <td class="md" nowrap>a,         <tr>          <td class="md" nowrap align="right"></td>          <td class="md"></td>          <td class="md" nowrap>b&nbsp;</td>          <td class="mdname1" valign="top" nowrap>          </td>          <td class="md" valign="top">&nbsp;)&nbsp;</td>          <td class="md" nowrap></td>        </tr>      </table>    </td>  </tr></table><table cellspacing="5" cellpadding="0" border="0">  <tr>    <td>      &nbsp;    </td>    <td><p><b>Value:</b><div class="fragment"><pre class="fragment">{ (c)-&gt;r = (a)-&gt;r - (b)-&gt;r; \                         (c)-&gt;i = (a)-&gt;i - (b)-&gt;i; }</pre></div>    </td>  </tr></table><a class="anchor" name="c917679ece23ee5f61e994fb56b30e1c"></a><!-- doxytag: member="slu_scomplex.h::cc_conj" ref="c917679ece23ee5f61e994fb56b30e1c" args="(a, b)" --><p><table class="mdTable" cellpadding="2" cellspacing="0">  <tr>    <td class="mdRow">      <table cellpadding="0" cellspacing="0" border="0">        <tr>          <td class="md" nowrap valign="top">#define cc_conj          </td>          <td class="md" valign="top">(&nbsp;</td>          <td class="md" nowrap valign="top">a,         <tr>          <td class="md" nowrap align="right"></td>          <td class="md"></td>          <td class="md" nowrap>b&nbsp;</td>          <td class="mdname1" valign="top" nowrap>          </td>          <td class="md" valign="top">&nbsp;)&nbsp;</td>          <td class="md" nowrap></td>        </tr>      </table>    </td>  </tr></table><table cellspacing="5" cellpadding="0" border="0">  <tr>    <td>      &nbsp;    </td>    <td><p><b>Value:</b><div class="fragment"><pre class="fragment">{ \        (a)-&gt;r = (b)-&gt;r; \        (a)-&gt;i = -((b)-&gt;i); \    }</pre></div>    </td>  </tr></table><a class="anchor" name="515037047a218e7f77c4f495b1d6abca"></a><!-- doxytag: member="slu_scomplex.h::cc_mult" ref="515037047a218e7f77c4f495b1d6abca" args="(c, a, b)" --><p><table class="mdTable" cellpadding="2" cellspacing="0">  <tr>    <td class="mdRow">      <table cellpadding="0" cellspacing="0" border="0">        <tr>          <td class="md" nowrap valign="top">#define cc_mult          </td>          <td class="md" valign="top">(&nbsp;</td>          <td class="md" nowrap valign="top">c,         <tr>          <td class="md" nowrap align="right"></td>          <td class="md"></td>          <td class="md" nowrap>a,         <tr>          <td class="md" nowrap align="right"></td>          <td class="md"></td>          <td class="md" nowrap>b&nbsp;</td>          <td class="mdname1" valign="top" nowrap>          </td>          <td class="md" valign="top">&nbsp;)&nbsp;</td>          <td class="md" nowrap></td>        </tr>      </table>    </td>  </tr></table><table cellspacing="5" cellpadding="0" border="0">  <tr>    <td>      &nbsp;    </td>    <td><p><b>Value:</b><div class="fragment"><pre class="fragment">{ \        <span class="keywordtype">float</span> cr, ci; \        cr = (a)-&gt;r * (b)-&gt;r - (a)-&gt;i * (b)-&gt;i; \        ci = (a)-&gt;i * (b)-&gt;r + (a)-&gt;r * (b)-&gt;i; \        (c)-&gt;r = cr; \        (c)-&gt;i = ci; \

⌨️ 快捷键说明

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