diff options
| author | Florian Fischer <florian.fl.fischer@fau.de> | 2019-08-24 17:58:18 +0200 |
|---|---|---|
| committer | Florian Fischer <florian.fl.fischer@fau.de> | 2019-08-24 17:58:18 +0200 |
| commit | de7208a60eca11aa8014e3a9b698e092322aea88 (patch) | |
| tree | 13323f839f63d0d363517af81de317f0ec17a415 /src/benchmarks/espresso/sminterf.c | |
| parent | 77ac9ce0a5c55d4f79f8fb8f7daa59ddb53cb507 (diff) | |
| download | allocbench-de7208a60eca11aa8014e3a9b698e092322aea88.tar.gz allocbench-de7208a60eca11aa8014e3a9b698e092322aea88.zip | |
add espresso benchmark
Diffstat (limited to 'src/benchmarks/espresso/sminterf.c')
| -rw-r--r-- | src/benchmarks/espresso/sminterf.c | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/src/benchmarks/espresso/sminterf.c b/src/benchmarks/espresso/sminterf.c new file mode 100644 index 0000000..96e77fa --- /dev/null +++ b/src/benchmarks/espresso/sminterf.c @@ -0,0 +1,35 @@ +#include "espresso.h" + + +pset +do_sm_minimum_cover(A) +pset_family A; +{ + sm_matrix *M; + sm_row *sparse_cover; + sm_element *pe; + pset cover; + register int i, base, rownum; + register unsigned val; + register pset last, p; + + M = sm_alloc(); + rownum = 0; + foreach_set(A, last, p) { + foreach_set_element(p, i, val, base) { + (void) sm_insert(M, rownum, base); + } + rownum++; + } + + sparse_cover = sm_minimum_cover(M, NIL(int), 1, 0); + sm_free(M); + + cover = set_new(A->sf_size); + sm_foreach_row_element(sparse_cover, pe) { + set_insert(cover, pe->col_num); + } + sm_row_free(sparse_cover); + + return cover; +} |
