Lines Matching refs:Col
126 #define COL_IS_DEAD(c) (Col [c].start < ALIVE)
127 #define COL_IS_ALIVE(c) (Col [c].start >= ALIVE)
128 #define COL_IS_DEAD_PRINCIPAL(c) (Col [c].start == DEAD_PRINCIPAL)
130 #define KILL_PRINCIPAL_COL(c) { Col [c].start = DEAD_PRINCIPAL ; }
131 #define KILL_NON_PRINCIPAL_COL(c) { Col [c].start = DEAD_NON_PRINCIPAL ; }
221 static void init_scoring (Index n_row, Index n_col, Colamd_Row<Index> Row [], colamd_col<Index> Col…
224 …_row, Index n_col, Index Alen, Colamd_Row<Index> Row [], colamd_col<Index> Col [], Index A [], Ind…
227 static void order_children (Index n_col, colamd_col<Index> Col [], Index p []);
230 static void detect_super_cols (colamd_col<Index> Col [], Index A [], Index head [], Index row_start…
233 …ion (Index n_row, Index n_col, Colamd_Row<Index> Row [], colamd_col<Index> Col [], Index A [], Ind…
339 colamd_col<Index> *Col ; /* pointer into A of Col [0..n_col] array */ in colamd() local
434 Col = (colamd_col<Index> *) &A [Alen] ; in colamd()
439 if (!Eigen::internal::init_rows_cols (n_row, n_col, Row, Col, A, p, stats)) in colamd()
448 Eigen::internal::init_scoring (n_row, n_col, Row, Col, A, p, knobs, in colamd()
453 ngarbage = Eigen::internal::find_ordering (n_row, n_col, Alen, Row, Col, A, p, in colamd()
458 Eigen::internal::order_children (n_col, Col, p) ; in colamd()
496 colamd_col<Index> Col [], /* of size n_col+1 */ in init_rows_cols()
516 Col [col].start = p [col] ; in init_rows_cols()
517 Col [col].length = p [col+1] - p [col] ; in init_rows_cols()
519 if (Col [col].length < 0) in init_rows_cols()
524 stats [COLAMD_INFO2] = Col [col].length ; in init_rows_cols()
525 COLAMD_DEBUG0 (("colamd: col %d length %d < 0\n", col, Col [col].length)) ; in init_rows_cols()
529 Col [col].shared1.thickness = 1 ; in init_rows_cols()
530 Col [col].shared2.score = 0 ; in init_rows_cols()
531 Col [col].shared3.prev = COLAMD_EMPTY ; in init_rows_cols()
532 Col [col].shared4.degree_next = COLAMD_EMPTY ; in init_rows_cols()
588 Col [col].length-- ; in init_rows_cols()
667 Col [0].start = 0 ; in init_rows_cols()
668 p [0] = Col [0].start ; in init_rows_cols()
673 Col [col].start = Col [col-1].start + Col [col-1].length ; in init_rows_cols()
674 p [col] = Col [col].start ; in init_rows_cols()
712 colamd_col<Index> Col [], /* of size n_col+1 */ in init_scoring()
755 deg = Col [c].length ; in init_scoring()
759 Col [c].shared2.order = --n_col2 ; in init_scoring()
775 deg = Col [c].length ; in init_scoring()
779 Col [c].shared2.order = --n_col2 ; in init_scoring()
781 cp = &A [Col [c].start] ; in init_scoring()
782 cp_end = cp + Col [c].length ; in init_scoring()
828 cp = &A [Col [c].start] ; in init_scoring()
830 cp_end = cp + Col [c].length ; in init_scoring()
848 col_length = (Index) (new_cp - &A [Col [c].start]) ; in init_scoring()
854 Col [c].shared2.order = --n_col2 ; in init_scoring()
862 Col [c].length = col_length ; in init_scoring()
863 Col [c].shared2.score = score ; in init_scoring()
891 c, Col [c].shared2.score, min_score, n_col)) ; in init_scoring()
895 score = Col [c].shared2.score ; in init_scoring()
905 Col [c].shared3.prev = COLAMD_EMPTY ; in init_scoring()
906 Col [c].shared4.degree_next = next_col ; in init_scoring()
912 Col [next_col].shared3.prev = c ; in init_scoring()
950 colamd_col<Index> Col [], /* of size n_col+1 */ in find_ordering()
1020 next_col = Col [pivot_col].shared4.degree_next ; in find_ordering()
1024 Col [next_col].shared3.prev = COLAMD_EMPTY ; in find_ordering()
1031 pivot_col_score = Col [pivot_col].shared2.score ; in find_ordering()
1034 Col [pivot_col].shared2.order = k ; in find_ordering()
1037 pivot_col_thickness = Col [pivot_col].shared1.thickness ; in find_ordering()
1046 pfree = Eigen::internal::garbage_collection (n_row, n_col, Row, Col, A, &A [pfree]) ; in find_ordering()
1065 Col [pivot_col].shared1.thickness = -pivot_col_thickness ; in find_ordering()
1068 cp = &A [Col [pivot_col].start] ; in find_ordering()
1069 cp_end = cp + Col [pivot_col].length ; in find_ordering()
1087 col_thickness = Col [col].shared1.thickness ; in find_ordering()
1091 Col [col].shared1.thickness = -col_thickness ; in find_ordering()
1101 Col [pivot_col].shared1.thickness = pivot_col_thickness ; in find_ordering()
1108 cp = &A [Col [pivot_col].start] ; in find_ordering()
1109 cp_end = cp + Col [pivot_col].length ; in find_ordering()
1124 pivot_row = A [Col [pivot_col].start] ; in find_ordering()
1133 COLAMD_ASSERT (Col [pivot_col].length > 0 || pivot_row_length == 0) ; in find_ordering()
1171 col_thickness = -Col [col].shared1.thickness ; in find_ordering()
1173 Col [col].shared1.thickness = col_thickness ; in find_ordering()
1177 cur_score = Col [col].shared2.score ; in find_ordering()
1178 prev_col = Col [col].shared3.prev ; in find_ordering()
1179 next_col = Col [col].shared4.degree_next ; in find_ordering()
1189 Col [prev_col].shared4.degree_next = next_col ; in find_ordering()
1193 Col [next_col].shared3.prev = prev_col ; in find_ordering()
1198 cp = &A [Col [col].start] ; in find_ordering()
1199 cp_end = cp + Col [col].length ; in find_ordering()
1250 cp = &A [Col [col].start] ; in find_ordering()
1253 cp_end = cp + Col [col].length ; in find_ordering()
1280 Col [col].length = (Index) (new_cp - &A [Col [col].start]) ; in find_ordering()
1284 if (Col [col].length == 0) in find_ordering()
1289 pivot_row_degree -= Col [col].shared1.thickness ; in find_ordering()
1292 Col [col].shared2.order = k ; in find_ordering()
1294 k += Col [col].shared1.thickness ; in find_ordering()
1303 Col [col].shared2.score = cur_score ; in find_ordering()
1316 first_col = Col [head_column].shared3.headhash ; in find_ordering()
1317 Col [head_column].shared3.headhash = col ; in find_ordering()
1325 Col [col].shared4.hash_next = first_col ; in find_ordering()
1328 Col [col].shared3.hash = (Index) hash ; in find_ordering()
1339 Eigen::internal::detect_super_cols (Col, A, head, pivot_row_start, pivot_row_length) ; in find_ordering()
1373 A [Col [col].start + (Col [col].length++)] = pivot_row ; in find_ordering()
1378 cur_score = Col [col].shared2.score + pivot_row_degree ; in find_ordering()
1383 max_score = n_col - k - Col [col].shared1.thickness ; in find_ordering()
1386 cur_score -= Col [col].shared1.thickness ; in find_ordering()
1393 Col [col].shared2.score = cur_score ; in find_ordering()
1403 Col [col].shared4.degree_next = next_col ; in find_ordering()
1404 Col [col].shared3.prev = COLAMD_EMPTY ; in find_ordering()
1407 Col [next_col].shared3.prev = col ; in find_ordering()
1458 colamd_col<Index> Col [], /* of size n_col+1 */ in order_children()
1475 if (!COL_IS_DEAD_PRINCIPAL (i) && Col [i].shared2.order == COLAMD_EMPTY) in order_children()
1481 parent = Col [parent].shared1.parent ; in order_children()
1488 order = Col [parent].shared2.order ; in order_children()
1492 COLAMD_ASSERT (Col [c].shared2.order == COLAMD_EMPTY) ; in order_children()
1495 Col [c].shared2.order = order++ ; in order_children()
1497 Col [c].shared1.parent = parent ; in order_children()
1500 c = Col [c].shared1.parent ; in order_children()
1505 } while (Col [c].shared2.order == COLAMD_EMPTY) ; in order_children()
1508 Col [parent].shared2.order = order ; in order_children()
1516 p [Col [c].shared2.order] = c ; in order_children()
1558 colamd_col<Index> Col [], /* of size n_col+1 */ in detect_super_cols()
1594 hash = Col [col].shared3.hash ; in detect_super_cols()
1602 first_col = Col [head_column].shared3.headhash ; in detect_super_cols()
1612 super_c = Col [super_c].shared4.hash_next) in detect_super_cols()
1615 COLAMD_ASSERT (Col [super_c].shared3.hash == hash) ; in detect_super_cols()
1616 length = Col [super_c].length ; in detect_super_cols()
1623 for (c = Col [super_c].shared4.hash_next ; in detect_super_cols()
1624 c != COLAMD_EMPTY ; c = Col [c].shared4.hash_next) in detect_super_cols()
1628 COLAMD_ASSERT (Col [c].shared3.hash == hash) ; in detect_super_cols()
1631 if (Col [c].length != length || in detect_super_cols()
1632 Col [c].shared2.score != Col [super_c].shared2.score) in detect_super_cols()
1639 cp1 = &A [Col [super_c].start] ; in detect_super_cols()
1640 cp2 = &A [Col [c].start] ; in detect_super_cols()
1664 COLAMD_ASSERT (Col [c].shared2.score == Col [super_c].shared2.score) ; in detect_super_cols()
1666 Col [super_c].shared1.thickness += Col [c].shared1.thickness ; in detect_super_cols()
1667 Col [c].shared1.parent = super_c ; in detect_super_cols()
1670 Col [c].shared2.order = COLAMD_EMPTY ; in detect_super_cols()
1672 Col [prev_c].shared4.hash_next = Col [c].shared4.hash_next ; in detect_super_cols()
1681 Col [head_column].shared3.headhash = COLAMD_EMPTY ; in detect_super_cols()
1712 colamd_col<Index> Col [], /* column info */ in garbage_collection()
1733 psrc = &A [Col [c].start] ; in garbage_collection()
1737 Col [c].start = (Index) (pdest - &A [0]) ; in garbage_collection()
1738 length = Col [c].length ; in garbage_collection()
1747 Col [c].length = (Index) (pdest - &A [Col [c].start]) ; in garbage_collection()