Lines Matching defs:itemSize

57 doInsertionSort(char *array, int32_t start, int32_t limit, int32_t itemSize,
63 uprv_memcpy(pv, array+j*itemSize, itemSize);
66 if(/* v>=array[i-1] */ cmp(context, pv, array+(i-1)*itemSize)>=0) {
71 uprv_memcpy(array+i*itemSize, array+(i-1)*itemSize, itemSize);
76 uprv_memcpy(array+i*itemSize, pv, itemSize);
82 insertionSort(char *array, int32_t length, int32_t itemSize,
88 if(itemSize<=STACK_ITEM_SIZE) {
91 pv=uprv_malloc(itemSize);
98 doInsertionSort(array, 0, length, itemSize, cmp, context, pv);
120 subQuickSort(char *array, int32_t start, int32_t limit, int32_t itemSize,
128 doInsertionSort(array, start, limit, itemSize, cmp, context, px);
136 uprv_memcpy(px, array+((start+limit)/2)*itemSize, itemSize);
140 cmp(context, array+left*itemSize, px)<0
145 cmp(context, px, array+(right-1)*itemSize)<0
155 uprv_memcpy(pw, array+left*itemSize, itemSize);
156 uprv_memcpy(array+left*itemSize, array+right*itemSize, itemSize);
157 uprv_memcpy(array+right*itemSize, pw, itemSize);
168 subQuickSort(array, start, right, itemSize, cmp, context, px, pw);
176 subQuickSort(array, left, limit, itemSize, cmp, context, px, pw);
186 quickSort(char *array, int32_t length, int32_t itemSize,
192 if(itemSize<=STACK_ITEM_SIZE) {
195 p=uprv_malloc(2*itemSize);
202 subQuickSort(array, 0, length, itemSize,
203 cmp, context, p, (char *)p+itemSize);
214 * cast the array to char * so that array+i*itemSize works.
217 uprv_sortArray(void *array, int32_t length, int32_t itemSize,
223 if((length>0 && array==NULL) || length<0 || itemSize<=0 || cmp==NULL) {
231 insertionSort((char *)array, length, itemSize, cmp, context, pErrorCode);
234 quickSort((char *)array, length, itemSize, cmp, context, pErrorCode);