4 #include "sn_comparator.h"
6 sn_comparator_t *sn_comparator_create (int min, int max)
10 c = (sn_comparator_t *) malloc (sizeof (sn_comparator_t));
13 memset (c, '\0', sizeof (sn_comparator_t));
19 } /* sn_comparator_t *sn_comparator_create */
21 void sn_comparator_destroy (sn_comparator_t *c)
25 } /* void sn_comparator_destroy */
27 void sn_comparator_invert (sn_comparator_t *c)
34 } /* void sn_comparator_invert */
36 void sn_comparator_swap (sn_comparator_t *c, int con0, int con1)
42 else if (c->min == con1)
51 else if (c->max == con1)
55 } /* void sn_comparator_swap */
57 int sn_comparator_compare (const void *v0, const void *v1)
59 sn_comparator_t *c0 = (sn_comparator_t *) v0;
60 sn_comparator_t *c1 = (sn_comparator_t *) v1;
62 if (SN_COMP_LEFT (c0) < SN_COMP_LEFT (c1))
64 else if (SN_COMP_LEFT (c0) > SN_COMP_LEFT (c1))
66 else if (SN_COMP_RIGHT (c0) < SN_COMP_RIGHT (c1))
68 else if (SN_COMP_RIGHT (c0) > SN_COMP_RIGHT (c1))
72 } /* int sn_comparator_compare */
74 /* vim: set shiftwidth=2 softtabstop=2 : */