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 Page</span></a></li> <li><a href="annotated.html"><span>Data 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 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 </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 </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"> </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 </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"> </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 </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"> </td><td class="mdescRight">Complex-Double Multiplication. <a href="#a675d825b907fe4d939ddc2533b38bb8"></a><br></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">#define </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"> </td><td class="mdescRight">Complex-Complex Multiplication. <a href="#515037047a218e7f77c4f495b1d6abca"></a><br></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">#define </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 </td><td class="memItemRight" valign="bottom"><a class="el" href="slu__scomplex_8h.html#82b7c0f8931b82e92d24a076eab0e82e">c_eq</a>(a, b) ( (a)->r == (b)->r && (a)->i == (b)->i )</td></tr><tr><td class="mdescLeft"> </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 </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"> </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 </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"> </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 </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"> </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 </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"> </td><td class="mdescRight">Return the exponentiation. <a href="#36d8645ac9bf1eb00128329fe5edb982"></a><br></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">void </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"> </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 </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"> </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">( </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 </td> <td class="mdname1" valign="top" nowrap> </td> <td class="md" valign="top"> ) </td> <td class="md" nowrap></td> </tr> </table> </td> </tr></table><table cellspacing="5" cellpadding="0" border="0"> <tr> <td> </td> <td><p><b>Value:</b><div class="fragment"><pre class="fragment">{ (c)->r = (a)->r + (b)->r; \ (c)->i = (a)->i + (b)->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">( </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 </td> <td class="mdname1" valign="top" nowrap> </td> <td class="md" valign="top"> ) </td> <td class="md" nowrap> ( (a)->r == (b)->r && (a)->i == (b)->i )</td> </tr> </table> </td> </tr></table><table cellspacing="5" cellpadding="0" border="0"> <tr> <td> </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">( </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 </td> <td class="mdname1" valign="top" nowrap> </td> <td class="md" valign="top"> ) </td> <td class="md" nowrap></td> </tr> </table> </td> </tr></table><table cellspacing="5" cellpadding="0" border="0"> <tr> <td> </td> <td><p><b>Value:</b><div class="fragment"><pre class="fragment">{ (c)->r = (a)->r - (b)->r; \ (c)->i = (a)->i - (b)->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">( </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 </td> <td class="mdname1" valign="top" nowrap> </td> <td class="md" valign="top"> ) </td> <td class="md" nowrap></td> </tr> </table> </td> </tr></table><table cellspacing="5" cellpadding="0" border="0"> <tr> <td> </td> <td><p><b>Value:</b><div class="fragment"><pre class="fragment">{ \ (a)->r = (b)->r; \ (a)->i = -((b)->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">( </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 </td> <td class="mdname1" valign="top" nowrap> </td> <td class="md" valign="top"> ) </td> <td class="md" nowrap></td> </tr> </table> </td> </tr></table><table cellspacing="5" cellpadding="0" border="0"> <tr> <td> </td> <td><p><b>Value:</b><div class="fragment"><pre class="fragment">{ \ <span class="keywordtype">float</span> cr, ci; \ cr = (a)->r * (b)->r - (a)->i * (b)->i; \ ci = (a)->i * (b)->r + (a)->r * (b)->i; \ (c)->r = cr; \ (c)->i = ci; \
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?