Go to the source code of this file.
Data Structures | |
struct | sm_element_struct |
struct | sm_row_struct |
struct | sm_col_struct |
struct | sm_matrix_struct |
Defines | |
#define | sm_get_col(A, colnum) |
#define | sm_get_row(A, rownum) |
#define | sm_foreach_row(A, prow) for(prow = A->first_row; prow != 0; prow = prow->next_row) |
#define | sm_foreach_col(A, pcol) for(pcol = A->first_col; pcol != 0; pcol = pcol->next_col) |
#define | sm_foreach_row_element(prow, p) for(p = prow->first_col; p != 0; p = p->next_col) |
#define | sm_foreach_col_element(pcol, p) for(p = pcol->first_row; p != 0; p = p->next_row) |
#define | sm_put(x, val) (x->user_word = (char *) val) |
#define | sm_get(type, x) ((type) (x->user_word)) |
Typedefs | |
typedef struct sm_element_struct | sm_element |
typedef struct sm_row_struct | sm_row |
typedef struct sm_col_struct | sm_col |
typedef struct sm_matrix_struct | sm_matrix |
Functions | |
sm_matrix * | sm_alloc () |
sm_matrix ** | sm_alloc_size () |
sm_matrix *** | sm_dup () |
void | sm_free () |
void | sm_delrow () |
void | sm_delcol () |
void | sm_resize () |
void | sm_write () |
void | sm_print () |
void | sm_dump () |
void | sm_cleanup () |
void | sm_copy_row () |
void | sm_copy_col () |
void | sm_remove () |
void | sm_remove_element () |
sm_element * | sm_insert () |
sm_element ** | sm_find () |
sm_row * | sm_longest_row () |
sm_col * | sm_longest_col () |
int | sm_read () |
int | sm_read_compressed () |
sm_row * | sm_row_alloc () |
sm_row ** | sm_row_dup () |
sm_row *** | sm_row_and () |
void | sm_row_free () |
void | sm_row_remove () |
void | sm_row_print () |
sm_element * | sm_row_insert () |
sm_element ** | sm_row_find () |
int | sm_row_contains () |
int | sm_row_intersects () |
int | sm_row_compare () |
int | sm_row_hash () |
sm_col * | sm_col_alloc () |
sm_col ** | sm_col_dup () |
sm_col *** | sm_col_and () |
void | sm_col_free () |
void | sm_col_remove () |
void | sm_col_print () |
sm_element * | sm_col_insert () |
sm_element ** | sm_col_find () |
int | sm_col_contains () |
int | sm_col_intersects () |
int | sm_col_compare () |
int | sm_col_hash () |
int | sm_row_dominance () |
int | sm_col_dominance () |
int | sm_block_partition () |
#define sm_foreach_col | ( | A, | |||
pcol | ) | for(pcol = A->first_col; pcol != 0; pcol = pcol->next_col) |
#define sm_foreach_col_element | ( | pcol, | |||
p | ) | for(p = pcol->first_row; p != 0; p = p->next_row) |
#define sm_foreach_row | ( | A, | |||
prow | ) | for(prow = A->first_row; prow != 0; prow = prow->next_row) |
#define sm_foreach_row_element | ( | prow, | |||
p | ) | for(p = prow->first_col; p != 0; p = p->next_col) |
#define sm_get_col | ( | A, | |||
colnum | ) |
#define sm_get_row | ( | A, | |||
rownum | ) |
typedef struct sm_col_struct sm_col |
typedef struct sm_element_struct sm_element |
typedef struct sm_matrix_struct sm_matrix |
typedef struct sm_row_struct sm_row |
sm_matrix* sm_alloc | ( | ) |
sm_matrix* * sm_alloc_size | ( | ) |
int sm_block_partition | ( | ) |
void sm_cleanup | ( | ) |
Definition at line 549 of file matrix.c.
00550 { 00551 #ifdef FAST_AND_LOOSE 00552 register sm_element *p, *pnext; 00553 register sm_row *prow, *pnextrow; 00554 register sm_col *pcol, *pnextcol; 00555 00556 for(p = sm_element_freelist; p != 0; p = pnext) { 00557 pnext = p->next_col; 00558 FREE(p); 00559 } 00560 sm_element_freelist = 0; 00561 00562 for(prow = sm_row_freelist; prow != 0; prow = pnextrow) { 00563 pnextrow = prow->next_row; 00564 FREE(prow); 00565 } 00566 sm_row_freelist = 0; 00567 00568 for(pcol = sm_col_freelist; pcol != 0; pcol = pnextcol) { 00569 pnextcol = pcol->next_col; 00570 FREE(pcol); 00571 } 00572 sm_col_freelist = 0; 00573 #endif 00574 }
sm_col* sm_col_alloc | ( | ) |
sm_col* * * sm_col_and | ( | ) |
int sm_col_compare | ( | ) |
int sm_col_contains | ( | ) |
int sm_col_dominance | ( | ) |
sm_col* * sm_col_dup | ( | ) |
sm_element* * sm_col_find | ( | ) |
void sm_col_free | ( | ) |
int sm_col_hash | ( | ) |
sm_element* sm_col_insert | ( | ) |
int sm_col_intersects | ( | ) |
void sm_col_print | ( | ) |
void sm_col_remove | ( | ) |
void sm_copy_col | ( | ) |
void sm_copy_row | ( | ) |
void sm_delcol | ( | ) |
void sm_delrow | ( | ) |
void sm_dump | ( | ) |
sm_matrix* * * sm_dup | ( | ) |
sm_element* * sm_find | ( | ) |
void sm_free | ( | ) |
sm_element* sm_insert | ( | ) |
sm_col* sm_longest_col | ( | ) |
sm_row* sm_longest_row | ( | ) |
void sm_print | ( | ) |
int sm_read | ( | ) |
int sm_read_compressed | ( | ) |
void sm_remove | ( | ) |
void sm_remove_element | ( | ) |
void sm_resize | ( | ) |
sm_row* sm_row_alloc | ( | ) |
sm_row* * * sm_row_and | ( | ) |
int sm_row_compare | ( | ) |
int sm_row_contains | ( | ) |
int sm_row_dominance | ( | ) |
sm_row* * sm_row_dup | ( | ) |
sm_element* * sm_row_find | ( | ) |
void sm_row_free | ( | ) |
int sm_row_hash | ( | ) |
sm_element* sm_row_insert | ( | ) |
int sm_row_intersects | ( | ) |
void sm_row_print | ( | ) |
void sm_row_remove | ( | ) |
void sm_write | ( | ) |