Lines Matching refs:b
58 static void swap_words_32(void *a, void *b, size_t n) in swap_words_32() argument
62 *(u32 *)(a + n) = *(u32 *)(b + n); in swap_words_32()
63 *(u32 *)(b + n) = t; in swap_words_32()
83 static void swap_words_64(void *a, void *b, size_t n) in swap_words_64() argument
88 *(u64 *)(a + n) = *(u64 *)(b + n); in swap_words_64()
89 *(u64 *)(b + n) = t; in swap_words_64()
93 *(u32 *)(a + n) = *(u32 *)(b + n); in swap_words_64()
94 *(u32 *)(b + n) = t; in swap_words_64()
97 *(u32 *)(a + n) = *(u32 *)(b + n); in swap_words_64()
98 *(u32 *)(b + n) = t; in swap_words_64()
111 static void swap_bytes(void *a, void *b, size_t n) in swap_bytes() argument
115 ((char *)a)[n] = ((char *)b)[n]; in swap_bytes()
116 ((char *)b)[n] = t; in swap_bytes()
133 static void do_swap(void *a, void *b, size_t size, swap_func_t swap_func) in do_swap() argument
136 swap_words_64(a, b, size); in do_swap()
138 swap_words_32(a, b, size); in do_swap()
140 swap_bytes(a, b, size); in do_swap()
142 swap_func(a, b, (int)size); in do_swap()
147 static int do_cmp(const void *a, const void *b, cmp_r_func_t cmp, const void *priv) in do_cmp() argument
150 return ((cmp_func_t)(priv))(a, b); in do_cmp()
151 return cmp(a, b, priv); in do_cmp()
228 size_t b, c, d; in sort_r() local
249 for (b = a; c = 2*b + size, (d = c + size) < n;) in sort_r()
250 b = do_cmp(base + c, base + d, cmp_func, priv) >= 0 ? c : d; in sort_r()
252 b = c; in sort_r()
255 while (b != a && do_cmp(base + a, base + b, cmp_func, priv) >= 0) in sort_r()
256 b = parent(b, lsbit, size); in sort_r()
257 c = b; /* Where "a" belongs */ in sort_r()
258 while (b != a) { /* Shift it into place */ in sort_r()
259 b = parent(b, lsbit, size); in sort_r()
260 do_swap(base + b, base + c, size, swap_func); in sort_r()