Lines Matching refs:siz

28 ZEND_API void zend_qsort(void *base, size_t nmemb, size_t siz, compare_func_t compare, swap_func_t …  in zend_qsort()  argument
41 end_stack[0] = (char *) base + ((nmemb - 1) * siz); in zend_qsort()
49 swp(begin, begin + (offset - (offset % siz))); in zend_qsort()
51 seg1 = begin + siz; in zend_qsort()
56 seg1 += siz); in zend_qsort()
59 seg2 -= siz); in zend_qsort()
66 seg1 += siz; in zend_qsort()
67 seg2 -= siz; in zend_qsort()
75 if ((seg2p + siz) < end) { in zend_qsort()
76 begin_stack[loop] = seg2p + siz; in zend_qsort()
79 end = seg2p - siz; in zend_qsort()
82 if ((seg2p - siz) > begin) { in zend_qsort()
84 end_stack[loop++] = seg2p - siz; in zend_qsort()
86 begin = seg2p + siz; in zend_qsort()
153 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
159 zend_sort_2(base, (char *)base + siz, cmp, swp); in zend_insert_sort()
162 zend_sort_3(base, (char *)base + siz, (char *)base + siz + siz, cmp, swp); in zend_insert_sort()
166 size_t siz2 = siz + siz; in zend_insert_sort()
167 zend_sort_4(base, (char *)base + siz, (char *)base + siz2, (char *)base + siz + siz2, cmp, swp); in zend_insert_sort()
172 size_t siz2 = siz + siz; in zend_insert_sort()
173 …zend_sort_5(base, (char *)base + siz, (char *)base + siz2, (char *)base + siz + siz2, (char *)base… in zend_insert_sort()
180 char *end = start + (nmemb * siz); in zend_insert_sort()
181 size_t siz2= siz + siz; in zend_insert_sort()
182 char *sentry = start + (6 * siz); in zend_insert_sort()
183 for (i = start + siz; i < sentry; i += siz) { in zend_insert_sort()
184 j = i - siz; in zend_insert_sort()
189 j -= siz; in zend_insert_sort()
191 j += siz; in zend_insert_sort()
195 for (k = i; k > j; k -= siz) { in zend_insert_sort()
196 swp(k, k - siz); in zend_insert_sort()
199 for (i = sentry; i < end; i += siz) { in zend_insert_sort()
200 j = i - siz; in zend_insert_sort()
207 j += siz; in zend_insert_sort()
209 j += siz; in zend_insert_sort()
216 if (j == start + siz) { in zend_insert_sort()
217 j -= siz; in zend_insert_sort()
219 j += siz; in zend_insert_sort()
224 for (k = i; k > j; k -= siz) { in zend_insert_sort()
225 swp(k, k - siz); in zend_insert_sort()
317 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
321 zend_insert_sort(base, nmemb, siz, cmp, swp); in zend_sort()
326 char *end = start + (nmemb * siz); in zend_sort()
328 char *pivot = start + (offset * siz); in zend_sort()
331 size_t delta = (offset >> Z_L(1)) * siz; in zend_sort()
332 zend_sort_5(start, start + delta, pivot, pivot + delta, end - siz, cmp, swp); in zend_sort()
334 zend_sort_3(start, pivot, end - siz, cmp, swp); in zend_sort()
336 swp(start + siz, pivot); in zend_sort()
337 pivot = start + siz; in zend_sort()
338 i = pivot + siz; in zend_sort()
339 j = end - siz; in zend_sort()
342 i += siz; in zend_sort()
347 j -= siz; in zend_sort()
352 j -= siz; in zend_sort()
358 i += siz; in zend_sort()
364 swp(pivot, i - siz); in zend_sort()
365 if ((i - siz) - start < end - i) { in zend_sort()
366 zend_sort(start, (i - start)/siz - 1, siz, cmp, swp); in zend_sort()
368 nmemb = (end - i)/siz; in zend_sort()
370 zend_sort(i, (end - i)/siz, siz, cmp, swp); in zend_sort()
371 nmemb = (i - start)/siz - 1; in zend_sort()