From: Nick Mathewson Date: Tue, 15 Sep 2009 03:14:03 +0000 (-0400) Subject: Add a median_int32 and find_nth_int32 X-Git-Tag: tor-0.2.2.2-alpha~43 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=0edc39303d32537ed95c171de6a7ad0f068b60df;p=thirdparty%2Ftor.git Add a median_int32 and find_nth_int32 --- diff --git a/src/common/container.c b/src/common/container.c index c649787c0f..12ac2527e9 100644 --- a/src/common/container.c +++ b/src/common/container.c @@ -1220,6 +1220,7 @@ IMPLEMENT_ORDER_FUNC(find_nth_int, int) IMPLEMENT_ORDER_FUNC(find_nth_time, time_t) IMPLEMENT_ORDER_FUNC(find_nth_double, double) IMPLEMENT_ORDER_FUNC(find_nth_uint32, uint32_t) +IMPLEMENT_ORDER_FUNC(find_nth_int32, int32_t) IMPLEMENT_ORDER_FUNC(find_nth_long, long) /** Return a newly allocated digestset_t, optimized to hold a total of diff --git a/src/common/container.h b/src/common/container.h index e626552467..4495a7a273 100644 --- a/src/common/container.h +++ b/src/common/container.h @@ -627,6 +627,7 @@ void digestset_free(digestset_t* set); int find_nth_int(int *array, int n_elements, int nth); time_t find_nth_time(time_t *array, int n_elements, int nth); double find_nth_double(double *array, int n_elements, int nth); +int32_t find_nth_int32(int32_t *array, int n_elements, int nth); uint32_t find_nth_uint32(uint32_t *array, int n_elements, int nth); long find_nth_long(long *array, int n_elements, int nth); static INLINE int @@ -649,6 +650,11 @@ median_uint32(uint32_t *array, int n_elements) { return find_nth_uint32(array, n_elements, (n_elements-1)/2); } +static INLINE int32_t +median_int32(int32_t *array, int n_elements) +{ + return find_nth_int32(array, n_elements, (n_elements-1)/2); +} static INLINE long median_long(long *array, int n_elements) {