old__colamd_8c.html
来自「SuperLU is a general purpose library for」· HTML 代码 · 共 1,411 行 · 第 1/4 页
HTML
1,411 行
<!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/old_colamd.c 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/old_colamd.c File Reference</h1><code>#include <limits.h></code><br><code>#include "<a class="el" href="colamd_8h-source.html">colamd.h</a>"</code><br><code>#include <assert.h></code><br><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="structColInfo__struct.html">ColInfo_struct</a></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">struct </td><td class="memItemRight" valign="bottom"><a class="el" href="structRowInfo__struct.html">RowInfo_struct</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="old__colamd_8c.html#fa99ec4acc4ecb2dc3c2d05da15d0e3f">MAX</a>(a, b) (((a) > (b)) ? (a) : (b))</td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="old__colamd_8c.html#3acffbd305ee72dcd4593c0d8af64a4f">MIN</a>(a, b) (((a) < (b)) ? (a) : (b))</td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="old__colamd_8c.html#f4201cc2809d450d2484680ee1b958ca">ONES_COMPLEMENT</a>(r) (-(r)-1)</td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="old__colamd_8c.html#a8cecfc5c5c054d2875c03e77b7be15d">TRUE</a> (1)</td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="old__colamd_8c.html#a93f0eb578d23995850d61f7d61c55c1">FALSE</a> (0)</td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="old__colamd_8c.html#2b7cf2a3641be7b89138615764d60ba3">EMPTY</a> (-1)</td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="old__colamd_8c.html#d8beef706da0344be19d59438fcdab6d">ALIVE</a> (0)</td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="old__colamd_8c.html#3c8793c7acb4598d2ebcd8288f29ee69">DEAD</a> (-1)</td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="old__colamd_8c.html#c0adce1e7d70351cef4752f3373709af">DEAD_PRINCIPAL</a> (-1)</td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="old__colamd_8c.html#0f66923672bcc495333995f7d238945f">DEAD_NON_PRINCIPAL</a> (-2)</td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="old__colamd_8c.html#e200d2ac8149305712af7230f9ee24d5">ROW_IS_DEAD</a>(r) ROW_IS_MARKED_DEAD (Row[r].shared2.mark)</td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="old__colamd_8c.html#0d68b03acc587c11fe6dffbfede78c2d">ROW_IS_MARKED_DEAD</a>(row_mark) (row_mark < ALIVE)</td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="old__colamd_8c.html#bc775359cfa45ffaf6250522c521110d">ROW_IS_ALIVE</a>(r) (Row [r].shared2.mark >= ALIVE)</td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="old__colamd_8c.html#a08664bd5b8133f28dbeedc9a030fc86">COL_IS_DEAD</a>(c) (Col [c].start < ALIVE)</td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="old__colamd_8c.html#50f9ca65904b13f345862cb46d08d84b">COL_IS_ALIVE</a>(c) (Col [c].start >= ALIVE)</td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="old__colamd_8c.html#003c0e2dae54bcb7c680333304dd4dcb">COL_IS_DEAD_PRINCIPAL</a>(c) (Col [c].start == DEAD_PRINCIPAL)</td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="old__colamd_8c.html#dde21248544152df48ab70b6da1b38b5">KILL_ROW</a>(r) { Row [r].shared2.mark = DEAD ; }</td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="old__colamd_8c.html#7882929a7898e09a3de9e7676ae1aa29">KILL_PRINCIPAL_COL</a>(c) { Col [c].start = DEAD_PRINCIPAL ; }</td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="old__colamd_8c.html#0458a358e752473d86e6f21a56b44a26">KILL_NON_PRINCIPAL_COL</a>(c) { Col [c].start = DEAD_NON_PRINCIPAL ; }</td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="old__colamd_8c.html#d17d551e31d1828c68acf40684849b7e">PUBLIC</a></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="old__colamd_8c.html#5e151c615eda34903514212f05a5ccf8">PRIVATE</a> static</td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="old__colamd_8c.html#144524f0a43ebe1a97d576a76f6557a0">DEBUG0</a>(params) ;</td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="old__colamd_8c.html#5083dbf79682be78336cc6b458c32ab4">DEBUG1</a>(params) ;</td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="old__colamd_8c.html#65bd10ffc88aa9edca29d4f6ae0da2df">DEBUG2</a>(params) ;</td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="old__colamd_8c.html#86ce320fe5d3f3088d89fdf451943008">DEBUG3</a>(params) ;</td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="old__colamd_8c.html#0ff047166d36dd8103bd12a4fbc7f7f9">DEBUG4</a>(params) ;</td></tr><tr><td colspan="2"><br><h2>Typedefs</h2></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">typedef <a class="el" href="structColInfo__struct.html">ColInfo_struct</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="old__colamd_8c.html#99f2aa8c30a1644e41b61a62da3e0c8f">ColInfo</a></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">typedef <a class="el" href="structRowInfo__struct.html">RowInfo_struct</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="old__colamd_8c.html#effc6c6c9363442b5cc298fae5052a2b">RowInfo</a></td></tr><tr><td colspan="2"><br><h2>Functions</h2></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">PRIVATE int </td><td class="memItemRight" valign="bottom"><a class="el" href="old__colamd_8c.html#d6773e1132d893e4c9a723c9c0d987bd">init_rows_cols</a> (int n_row, int n_col, <a class="el" href="structRowInfo__struct.html">RowInfo</a> Row[], <a class="el" href="structColInfo__struct.html">ColInfo</a> Col[], int A[], int p[])</td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">PRIVATE void </td><td class="memItemRight" valign="bottom"><a class="el" href="old__colamd_8c.html#27a204ed85810ba9c6c08ba85bb7e3c4">init_scoring</a> (int n_row, int n_col, <a class="el" href="structRowInfo__struct.html">RowInfo</a> Row[], <a class="el" href="structColInfo__struct.html">ColInfo</a> Col[], int A[], int head[], double knobs[COLAMD_KNOBS], int *p_n_row2, int *p_n_col2, int *p_max_deg)</td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">PRIVATE int </td><td class="memItemRight" valign="bottom"><a class="el" href="old__colamd_8c.html#5588b8a17c8a438d3bbd838d10aff249">find_ordering</a> (int n_row, int n_col, int Alen, <a class="el" href="structRowInfo__struct.html">RowInfo</a> Row[], <a class="el" href="structColInfo__struct.html">ColInfo</a> Col[], int A[], int head[], int n_col2, int max_deg, int pfree)</td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">PRIVATE void </td><td class="memItemRight" valign="bottom"><a class="el" href="old__colamd_8c.html#0a352b74699b0b2c085d6e38335ace90">order_children</a> (int n_col, <a class="el" href="structColInfo__struct.html">ColInfo</a> Col[], int p[])</td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">PRIVATE void </td><td class="memItemRight" valign="bottom"><a class="el" href="old__colamd_8c.html#55d4b9a340d39a37eb3413e9c8473e8d">detect_super_cols</a> (<a class="el" href="structColInfo__struct.html">ColInfo</a> Col[], int A[], int head[], int row_start, int row_length)</td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">PRIVATE int </td><td class="memItemRight" valign="bottom"><a class="el" href="old__colamd_8c.html#3c76df09abb17778af25b670113f8317">garbage_collection</a> (int n_row, int n_col, <a class="el" href="structRowInfo__struct.html">RowInfo</a> Row[], <a class="el" href="structColInfo__struct.html">ColInfo</a> Col[], int A[], int *pfree)</td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">PRIVATE int </td><td class="memItemRight" valign="bottom"><a class="el" href="old__colamd_8c.html#7b5f3f6e9e7ee6f670984055c155068a">clear_mark</a> (int n_row, <a class="el" href="structRowInfo__struct.html">RowInfo</a> Row[])</td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">PUBLIC int </td><td class="memItemRight" valign="bottom"><a class="el" href="old__colamd_8c.html#ac7214b99bcf4db1b13547521367817f">colamd_recommended</a> (int nnz, int n_row, int n_col)</td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">PUBLIC void </td><td class="memItemRight" valign="bottom"><a class="el" href="old__colamd_8c.html#cd15277a8a063dd0586e280004a92c89">colamd_set_defaults</a> (double knobs[COLAMD_KNOBS])</td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">PUBLIC int </td><td class="memItemRight" valign="bottom"><a class="el" href="old__colamd_8c.html#912378946988334a1bd8eafc53cfa758">colamd</a> (int n_row, int n_col, int Alen, int A[], int p[], double knobs[COLAMD_KNOBS])</td></tr></table><hr><h2>Define Documentation</h2><a class="anchor" name="d8beef706da0344be19d59438fcdab6d"></a><!-- doxytag: member="old_colamd.c::ALIVE" ref="d8beef706da0344be19d59438fcdab6d" args="" --><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 ALIVE (0) </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="50f9ca65904b13f345862cb46d08d84b"></a><!-- doxytag: member="old_colamd.c::COL_IS_ALIVE" ref="50f9ca65904b13f345862cb46d08d84b" args="(c)" --><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 COL_IS_ALIVE </td> <td class="md" valign="top">( </td> <td class="md" nowrap valign="top">c </td> <td class="mdname1" valign="top" nowrap> </td> <td class="md" valign="top"> ) </td> <td class="md" nowrap> (Col [c].start >= ALIVE)</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="a08664bd5b8133f28dbeedc9a030fc86"></a><!-- doxytag: member="old_colamd.c::COL_IS_DEAD" ref="a08664bd5b8133f28dbeedc9a030fc86" args="(c)" --><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 COL_IS_DEAD </td> <td class="md" valign="top">( </td> <td class="md" nowrap valign="top">c </td> <td class="mdname1" valign="top" nowrap> </td> <td class="md" valign="top"> ) </td> <td class="md" nowrap> (Col [c].start < ALIVE)</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="003c0e2dae54bcb7c680333304dd4dcb"></a><!-- doxytag: member="old_colamd.c::COL_IS_DEAD_PRINCIPAL" ref="003c0e2dae54bcb7c680333304dd4dcb" args="(c)" --><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 COL_IS_DEAD_PRINCIPAL </td> <td class="md" valign="top">( </td> <td class="md" nowrap valign="top">c </td> <td class="mdname1" valign="top" nowrap> </td> <td class="md" valign="top"> ) </td> <td class="md" nowrap> (Col [c].start == DEAD_PRINCIPAL)</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="3c8793c7acb4598d2ebcd8288f29ee69"></a><!-- doxytag: member="old_colamd.c::DEAD" ref="3c8793c7acb4598d2ebcd8288f29ee69" args="" --><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 DEAD (-1) </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="0f66923672bcc495333995f7d238945f"></a><!-- doxytag: member="old_colamd.c::DEAD_NON_PRINCIPAL" ref="0f66923672bcc495333995f7d238945f" args="" --><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 DEAD_NON_PRINCIPAL (-2) </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="c0adce1e7d70351cef4752f3373709af"></a><!-- doxytag: member="old_colamd.c::DEAD_PRINCIPAL" ref="c0adce1e7d70351cef4752f3373709af" args="" --><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 DEAD_PRINCIPAL (-1) </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="144524f0a43ebe1a97d576a76f6557a0"></a><!-- doxytag: member="old_colamd.c::DEBUG0" ref="144524f0a43ebe1a97d576a76f6557a0" args="(params)" --><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 DEBUG0 </td> <td class="md" valign="top">( </td> <td class="md" nowrap valign="top">params </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> </td> </tr></table><a class="anchor" name="5083dbf79682be78336cc6b458c32ab4"></a><!-- doxytag: member="old_colamd.c::DEBUG1" ref="5083dbf79682be78336cc6b458c32ab4" args="(params)" --><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 DEBUG1 </td> <td class="md" valign="top">( </td> <td class="md" nowrap valign="top">params </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> </td> </tr></table><a class="anchor" name="65bd10ffc88aa9edca29d4f6ae0da2df"></a><!-- doxytag: member="old_colamd.c::DEBUG2" ref="65bd10ffc88aa9edca29d4f6ae0da2df" args="(params)" --><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 DEBUG2 </td> <td class="md" valign="top">( </td> <td class="md" nowrap valign="top">params </td> <td class="mdname1" valign="top" nowrap> </td> <td class="md" valign="top"> ) </td> <td class="md" nowrap> ;</td>
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?