summaryrefslogtreecommitdiffstats
path: root/src/misc/espresso/dominate.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/misc/espresso/dominate.c')
-rw-r--r--src/misc/espresso/dominate.c98
1 files changed, 0 insertions, 98 deletions
diff --git a/src/misc/espresso/dominate.c b/src/misc/espresso/dominate.c
deleted file mode 100644
index a930d453..00000000
--- a/src/misc/espresso/dominate.c
+++ /dev/null
@@ -1,98 +0,0 @@
-/*
- * Revision Control Information
- *
- * $Source$
- * $Author$
- * $Revision$
- * $Date$
- *
- */
-#include "mincov_int.h"
-
-
-int
-sm_row_dominance(A)
-sm_matrix *A;
-{
- register sm_row *prow, *prow1;
- register sm_col *pcol, *least_col;
- register sm_element *p, *pnext;
- int rowcnt;
-
- rowcnt = A->nrows;
-
- /* Check each row against all other rows */
- for(prow = A->first_row; prow != 0; prow = prow->next_row) {
-
- /* Among all columns with a 1 in this row, choose smallest */
- least_col = sm_get_col(A, prow->first_col->col_num);
- for(p = prow->first_col->next_col; p != 0; p = p->next_col) {
- pcol = sm_get_col(A, p->col_num);
- if (pcol->length < least_col->length) {
- least_col = pcol;
- }
- }
-
- /* Only check for containment against rows in this column */
- for(p = least_col->first_row; p != 0; p = pnext) {
- pnext = p->next_row;
-
- prow1 = sm_get_row(A, p->row_num);
- if ((prow1->length > prow->length) ||
- (prow1->length == prow->length &&
- prow1->row_num > prow->row_num)) {
- if (sm_row_contains(prow, prow1)) {
- sm_delrow(A, prow1->row_num);
- }
- }
- }
- }
-
- return rowcnt - A->nrows;
-}
-
-int
-sm_col_dominance(A, weight)
-sm_matrix *A;
-int *weight;
-{
- register sm_row *prow;
- register sm_col *pcol, *pcol1;
- register sm_element *p;
- sm_row *least_row;
- sm_col *next_col;
- int colcnt;
-
- colcnt = A->ncols;
-
- /* Check each column against all other columns */
- for(pcol = A->first_col; pcol != 0; pcol = next_col) {
- next_col = pcol->next_col;
-
- /* Check all rows to find the one with fewest elements */
- least_row = sm_get_row(A, pcol->first_row->row_num);
- for(p = pcol->first_row->next_row; p != 0; p = p->next_row) {
- prow = sm_get_row(A, p->row_num);
- if (prow->length < least_row->length) {
- least_row = prow;
- }
- }
-
- /* Only check for containment against columns in this row */
- for(p = least_row->first_col; p != 0; p = p->next_col) {
- pcol1 = sm_get_col(A, p->col_num);
- if (weight != 0 && weight[pcol1->col_num] > weight[pcol->col_num])
- continue;
- if ((pcol1->length > pcol->length) ||
- (pcol1->length == pcol->length &&
- pcol1->col_num > pcol->col_num)) {
- if (sm_col_contains(pcol, pcol1)) {
- sm_delcol(A, pcol->col_num);
- break;
- }
- }
- }
- }
-
- return colcnt - A->ncols;
-}