10#ifndef ABC__misc__espresso__sparse_h
11#define ABC__misc__espresso__sparse_h
89#define sm_get_col(A, colnum) \
90 (((colnum) >= 0 && (colnum) < (A)->cols_size) ? \
91 (A)->cols[colnum] : (sm_col *) 0)
93#define sm_get_row(A, rownum) \
94 (((rownum) >= 0 && (rownum) < (A)->rows_size) ? \
95 (A)->rows[rownum] : (sm_row *) 0)
97#define sm_foreach_row(A, prow) \
98 for(prow = A->first_row; prow != 0; prow = prow->next_row)
100#define sm_foreach_col(A, pcol) \
101 for(pcol = A->first_col; pcol != 0; pcol = pcol->next_col)
103#define sm_foreach_row_element(prow, p) \
104 for(p = prow->first_col; p != 0; p = p->next_col)
106#define sm_foreach_col_element(pcol, p) \
107 for(p = pcol->first_row; p != 0; p = p->next_row)
109#define sm_put(x, val) \
110 (x->user_word = (char *) val)
112#define sm_get(type, x) \
113 ((type) (x->user_word))
#define ABC_NAMESPACE_HEADER_END
#define ABC_NAMESPACE_HEADER_START
NAMESPACES ///.
typedefABC_NAMESPACE_HEADER_START struct sm_element_struct sm_element
struct sm_col_struct sm_col
sm_element * sm_col_find()
sm_row * sm_longest_row()
sm_element * sm_col_insert()
sm_col * sm_longest_col()
sm_element * sm_row_insert()
sm_matrix * sm_alloc_size()
struct sm_matrix_struct sm_matrix
struct sm_row_struct sm_row
sm_element * sm_row_find()