Lines Matching refs:a

58 static void swap_words_32(void *a, void *b, size_t n)  in swap_words_32()  argument
61 u32 t = *(u32 *)(a + (n -= 4)); in swap_words_32()
62 *(u32 *)(a + n) = *(u32 *)(b + n); in swap_words_32()
83 static void swap_words_64(void *a, void *b, size_t n) in swap_words_64() argument
87 u64 t = *(u64 *)(a + (n -= 8)); in swap_words_64()
88 *(u64 *)(a + n) = *(u64 *)(b + n); in swap_words_64()
92 u32 t = *(u32 *)(a + (n -= 4)); in swap_words_64()
93 *(u32 *)(a + n) = *(u32 *)(b + n); in swap_words_64()
96 t = *(u32 *)(a + (n -= 4)); in swap_words_64()
97 *(u32 *)(a + n) = *(u32 *)(b + n); in swap_words_64()
111 static void swap_bytes(void *a, void *b, size_t n) in swap_bytes() argument
114 char t = ((char *)a)[--n]; in swap_bytes()
115 ((char *)a)[n] = ((char *)b)[n]; in swap_bytes()
139 static void do_swap(void *a, void *b, size_t size, swap_r_func_t swap_func, const void *priv) in do_swap() argument
142 ((const struct wrapper *)priv)->swap(a, b, (int)size); in do_swap()
147 swap_words_64(a, b, size); in do_swap()
149 swap_words_32(a, b, size); in do_swap()
151 swap_bytes(a, b, size); in do_swap()
153 swap_func(a, b, (int)size, priv); in do_swap()
158 static int do_cmp(const void *a, const void *b, cmp_r_func_t cmp, const void *priv) in do_cmp() argument
161 return ((const struct wrapper *)priv)->cmp(a, b); in do_cmp()
162 return cmp(a, b, priv); in do_cmp()
216 size_t n = num * size, a = (num/2) * size; in sort_r() local
219 if (!a) /* num < 2 || size == 0 */ in sort_r()
245 if (a) /* Building heap: sift down --a */ in sort_r()
246 a -= size; in sort_r()
264 for (b = a; c = 2*b + size, (d = c + size) < n;) in sort_r()
270 while (b != a && do_cmp(base + a, base + b, cmp_func, priv) >= 0) in sort_r()
273 while (b != a) { /* Shift it into place */ in sort_r()