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))
sm_element * sm_col_insert()
sm_element * sm_col_find()
#define ABC_NAMESPACE_HEADER_START
NAMESPACES ///.
sm_matrix * sm_alloc_size()
#define ABC_NAMESPACE_HEADER_END
sm_element * sm_row_insert()
typedefABC_NAMESPACE_HEADER_START struct sm_element_struct sm_element
sm_row * sm_longest_row()
sm_col * sm_longest_col()
sm_element * sm_row_find()