Lines Matching refs:a

56 static void swap_words_32(void *a, void *b, size_t n)  in swap_words_32()  argument
59 u32 t = *(u32 *)(a + (n -= 4)); in swap_words_32()
60 *(u32 *)(a + n) = *(u32 *)(b + n); in swap_words_32()
81 static void swap_words_64(void *a, void *b, size_t n) in swap_words_64() argument
85 u64 t = *(u64 *)(a + (n -= 8)); in swap_words_64()
86 *(u64 *)(a + n) = *(u64 *)(b + n); in swap_words_64()
90 u32 t = *(u32 *)(a + (n -= 4)); in swap_words_64()
91 *(u32 *)(a + n) = *(u32 *)(b + n); in swap_words_64()
94 t = *(u32 *)(a + (n -= 4)); in swap_words_64()
95 *(u32 *)(a + n) = *(u32 *)(b + n); in swap_words_64()
109 static void swap_bytes(void *a, void *b, size_t n) in swap_bytes() argument
112 char t = ((char *)a)[--n]; in swap_bytes()
113 ((char *)a)[n] = ((char *)b)[n]; in swap_bytes()
137 static void do_swap(void *a, void *b, size_t size, swap_r_func_t swap_func, const void *priv) in do_swap() argument
140 ((const struct wrapper *)priv)->swap(a, b, (int)size); in do_swap()
145 swap_words_64(a, b, size); in do_swap()
147 swap_words_32(a, b, size); in do_swap()
149 swap_bytes(a, b, size); in do_swap()
151 swap_func(a, b, (int)size, priv); in do_swap()
156 static int do_cmp(const void *a, const void *b, cmp_r_func_t cmp, const void *priv) in do_cmp() argument
159 return ((const struct wrapper *)priv)->cmp(a, b); in do_cmp()
160 return cmp(a, b, priv); in do_cmp()
198 size_t n = num * size, a = (num/2) * size; in __sort_r() local
202 if (!a) /* num < 2 || size == 0 */ in __sort_r()
228 if (a) /* Building heap: sift down a */ in __sort_r()
229 a -= size << shift; in __sort_r()
234 a = size << shift; in __sort_r()
236 do_swap(base + a, base + n, size, swap_func, priv); in __sort_r()
253 for (b = a; c = 2*b + size, (d = c + size) < n;) in __sort_r()
259 while (b != a && do_cmp(base + a, base + b, cmp_func, priv) >= 0) in __sort_r()
262 while (b != a) { /* Shift it into place */ in __sort_r()