From: Florian Forster Date: Mon, 24 Jan 2011 07:28:35 +0000 (+0100) Subject: src/sn_{network,stage}.[ch]: Implement sn_{network,stage}_show_fh. X-Git-Tag: v1.1.0~13 X-Git-Url: https://git.verplant.org/?a=commitdiff_plain;h=bb4fb03595cf7334acae6b9d6770115de4b0e731;p=sort-networks.git src/sn_{network,stage}.[ch]: Implement sn_{network,stage}_show_fh. --- diff --git a/src/sn_network.c b/src/sn_network.c index 29c2c03..7fee9b5 100644 --- a/src/sn_network.c +++ b/src/sn_network.c @@ -423,14 +423,19 @@ int sn_network_get_comparator_num (const sn_network_t *n) /* {{{ */ return (num); } /* }}} int sn_network_get_comparator_num */ -int sn_network_show (sn_network_t *n) /* {{{ */ +int sn_network_show_fh (sn_network_t *n, FILE *fh) /* {{{ */ { int i; for (i = 0; i < n->stages_num; i++) - sn_stage_show (n->stages[i]); + sn_stage_show_fh (n->stages[i], fh); return (0); +} /* }}} int sn_network_show_fh */ + +int sn_network_show (sn_network_t *n) /* {{{ */ +{ + return (sn_network_show_fh (n, stdout)); } /* }}} int sn_network_show */ int sn_network_invert (sn_network_t *n) /* {{{ */ diff --git a/src/sn_network.h b/src/sn_network.h index f94a237..14a36c5 100644 --- a/src/sn_network.h +++ b/src/sn_network.h @@ -196,6 +196,7 @@ int sn_network_brute_force_check (sn_network_t *n); * \return Zero on success, non-zero on failure. */ int sn_network_show (sn_network_t *n); +int sn_network_show_fh (sn_network_t *n, FILE *fh); /** * Inverts a comparator network by switching the direction of all comparators. diff --git a/src/sn_stage.c b/src/sn_stage.c index 1584469..3e9b728 100644 --- a/src/sn_stage.c +++ b/src/sn_stage.c @@ -202,7 +202,7 @@ int sn_stage_comparator_check_conflict (sn_stage_t *s, const sn_comparator_t *c0 return (0); } /* int sn_stage_comparator_check_conflict */ -int sn_stage_show (sn_stage_t *s) +int sn_stage_show_fh (sn_stage_t *s, FILE *fh) /* {{{ */ { int lines[s->comparators_num]; int right[s->comparators_num]; @@ -234,7 +234,7 @@ int sn_stage_show (sn_stage_t *s) for (i = 0; i < lines_used; i++) { - printf ("%3i: ", s->depth); + fprintf (fh, "%3i: ", s->depth); for (j = 0; j <= right[i]; j++) { @@ -264,31 +264,36 @@ int sn_stage_show (sn_stage_t *s) if (on_elem == 0) { if (line_after == 0) - printf (" "); + fprintf (fh, " "); else - printf ("-----"); + fprintf (fh, "-----"); } else if (on_elem == -1) { if (line_after == 0) - printf ("-! "); + fprintf (fh, "-! "); else - printf (" !---"); + fprintf (fh, " !---"); } else { if (line_after == 0) - printf ("-> "); + fprintf (fh, "-> "); else - printf (" <---"); + fprintf (fh, " <---"); } } /* for (columns) */ - printf ("\n"); + fprintf (fh, "\n"); } /* for (lines) */ return (0); -} /* int sn_stage_show */ +} /* }}} int sn_stage_show_fh */ + +int sn_stage_show (sn_stage_t *s) /* {{{ */ +{ + return (sn_stage_show_fh (s, stdout)); +} /* }}} int sn_stage_show */ int sn_stage_invert (sn_stage_t *s) { diff --git a/src/sn_stage.h b/src/sn_stage.h index 2f5f729..8697eda 100644 --- a/src/sn_stage.h +++ b/src/sn_stage.h @@ -144,6 +144,7 @@ int sn_stage_comparator_check_conflict (sn_stage_t *s, const sn_comparator_t *c) * \see sn_network_show */ int sn_stage_show (sn_stage_t *s); +int sn_stage_show_fh (sn_stage_t *s, FILE *fh); /** * Inverts a stage by switching the direction of all comparators.