src/misc/espresso/sparse.h File Reference

This graph shows which files directly or indirectly include this file:

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_matrixsm_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_elementsm_insert ()
sm_element ** sm_find ()
sm_rowsm_longest_row ()
sm_colsm_longest_col ()
int sm_read ()
int sm_read_compressed ()
sm_rowsm_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_elementsm_row_insert ()
sm_element ** sm_row_find ()
int sm_row_contains ()
int sm_row_intersects ()
int sm_row_compare ()
int sm_row_hash ()
sm_colsm_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_elementsm_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 Documentation

#define sm_foreach_col ( A,
pcol   )     for(pcol = A->first_col; pcol != 0; pcol = pcol->next_col)

Definition at line 96 of file sparse.h.

#define sm_foreach_col_element ( pcol,
 )     for(p = pcol->first_row; p != 0; p = p->next_row)

Definition at line 102 of file sparse.h.

#define sm_foreach_row ( A,
prow   )     for(prow = A->first_row; prow != 0; prow = prow->next_row)

Definition at line 93 of file sparse.h.

#define sm_foreach_row_element ( prow,
 )     for(p = prow->first_col; p != 0; p = p->next_col)

Definition at line 99 of file sparse.h.

#define sm_get ( type,
 )     ((type) (x->user_word))

Definition at line 108 of file sparse.h.

#define sm_get_col ( A,
colnum   ) 
Value:
(((colnum) >= 0 && (colnum) < (A)->cols_size) ? \
        (A)->cols[colnum] : (sm_col *) 0)

Definition at line 85 of file sparse.h.

#define sm_get_row ( A,
rownum   ) 
Value:
(((rownum) >= 0 && (rownum) < (A)->rows_size) ? \
        (A)->rows[rownum] : (sm_row *) 0)

Definition at line 89 of file sparse.h.

#define sm_put ( x,
val   )     (x->user_word = (char *) val)

Definition at line 105 of file sparse.h.


Typedef Documentation

typedef struct sm_col_struct sm_col

Definition at line 19 of file sparse.h.

typedef struct sm_element_struct sm_element

Definition at line 17 of file sparse.h.

typedef struct sm_matrix_struct sm_matrix

Definition at line 20 of file sparse.h.

typedef struct sm_row_struct sm_row

Definition at line 18 of file sparse.h.


Function Documentation

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 (  ) 

Generated on Tue Jan 5 12:19:13 2010 for abc70930 by  doxygen 1.6.1