Lines Matching refs:siz

26 ZEND_API void zend_qsort(void *base, size_t nmemb, size_t siz, compare_func_t compare, swap_func_t …  in zend_qsort()  argument
39 end_stack[0] = (char *) base + ((nmemb - 1) * siz); in zend_qsort()
47 swp(begin, begin + (offset - (offset % siz))); in zend_qsort()
49 seg1 = begin + siz; in zend_qsort()
54 seg1 += siz); in zend_qsort()
57 seg2 -= siz); in zend_qsort()
64 seg1 += siz; in zend_qsort()
65 seg2 -= siz; in zend_qsort()
73 if ((seg2p + siz) < end) { in zend_qsort()
74 begin_stack[loop] = seg2p + siz; in zend_qsort()
77 end = seg2p - siz; in zend_qsort()
80 if ((seg2p - siz) > begin) { in zend_qsort()
82 end_stack[loop++] = seg2p - siz; in zend_qsort()
84 begin = seg2p + siz; in zend_qsort()
151 ZEND_API void zend_insert_sort(void *base, size_t nmemb, size_t siz, compare_func_t cmp, swap_func_… in zend_insert_sort() argument
157 zend_sort_2(base, (char *)base + siz, cmp, swp); in zend_insert_sort()
160 zend_sort_3(base, (char *)base + siz, (char *)base + siz + siz, cmp, swp); in zend_insert_sort()
164 size_t siz2 = siz + siz; in zend_insert_sort()
165 zend_sort_4(base, (char *)base + siz, (char *)base + siz2, (char *)base + siz + siz2, cmp, swp); in zend_insert_sort()
170 size_t siz2 = siz + siz; in zend_insert_sort()
171 …zend_sort_5(base, (char *)base + siz, (char *)base + siz2, (char *)base + siz + siz2, (char *)base… in zend_insert_sort()
178 char *end = start + (nmemb * siz); in zend_insert_sort()
179 size_t siz2= siz + siz; in zend_insert_sort()
180 char *sentry = start + (6 * siz); in zend_insert_sort()
181 for (i = start + siz; i < sentry; i += siz) { in zend_insert_sort()
182 j = i - siz; in zend_insert_sort()
187 j -= siz; in zend_insert_sort()
189 j += siz; in zend_insert_sort()
193 for (k = i; k > j; k -= siz) { in zend_insert_sort()
194 swp(k, k - siz); in zend_insert_sort()
197 for (i = sentry; i < end; i += siz) { in zend_insert_sort()
198 j = i - siz; in zend_insert_sort()
205 j += siz; in zend_insert_sort()
207 j += siz; in zend_insert_sort()
214 if (j == start + siz) { in zend_insert_sort()
215 j -= siz; in zend_insert_sort()
217 j += siz; in zend_insert_sort()
222 for (k = i; k > j; k -= siz) { in zend_insert_sort()
223 swp(k, k - siz); in zend_insert_sort()
315 ZEND_API void zend_sort(void *base, size_t nmemb, size_t siz, compare_func_t cmp, swap_func_t swp) in zend_sort() argument
319 zend_insert_sort(base, nmemb, siz, cmp, swp); in zend_sort()
324 char *end = start + (nmemb * siz); in zend_sort()
326 char *pivot = start + (offset * siz); in zend_sort()
329 size_t delta = (offset >> Z_L(1)) * siz; in zend_sort()
330 zend_sort_5(start, start + delta, pivot, pivot + delta, end - siz, cmp, swp); in zend_sort()
332 zend_sort_3(start, pivot, end - siz, cmp, swp); in zend_sort()
334 swp(start + siz, pivot); in zend_sort()
335 pivot = start + siz; in zend_sort()
336 i = pivot + siz; in zend_sort()
337 j = end - siz; in zend_sort()
340 i += siz; in zend_sort()
345 j -= siz; in zend_sort()
350 j -= siz; in zend_sort()
356 i += siz; in zend_sort()
362 swp(pivot, i - siz); in zend_sort()
363 if ((i - siz) - start < end - i) { in zend_sort()
364 zend_sort(start, (i - start)/siz - 1, siz, cmp, swp); in zend_sort()
366 nmemb = (end - i)/siz; in zend_sort()
368 zend_sort(i, (end - i)/siz, siz, cmp, swp); in zend_sort()
369 nmemb = (i - start)/siz - 1; in zend_sort()