/**
- * collectd - src/sn_stage.c
- * Copyright (C) 2008 Florian octo Forster
+ * libsortnetwork - src/sn_stage.c
+ * Copyright (C) 2008-2010 Florian octo Forster
*
* This program is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License as published by the
* 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
*
* Authors:
- * Florian octo Forster <octo at verplant.org>
+ * Florian octo Forster <ff at octo.it>
**/
#ifndef _ISOC99_SOURCE
return (0);
} /* int sn_stage_invert */
+int sn_stage_shift (sn_stage_t *s, int sw, int inputs_num)
+{
+ int i;
+
+ for (i = 0; i < s->comparators_num; i++)
+ sn_comparator_shift (s->comparators + i, sw, inputs_num);
+
+ return (0);
+} /* int sn_stage_shift */
+
int sn_stage_swap (sn_stage_t *s, int con0, int con1)
{
int i;
#define SNPRINTF_OR_FAIL(...) \
status = snprintf (buffer, buffer_size, __VA_ARGS__); \
- if ((status < 1) || (status >= buffer_size)) \
+ if ((status < 1) || (((size_t) status) >= buffer_size)) \
return (-1); \
buffer += status; \
buffer_size -= status;