+// © 2016 and later: Unicode, Inc. and others.
+// License & terms of use: http://www.unicode.org/copyright.html
/*
*******************************************************************************
*
-* Copyright (C) 2003-2013, International Business Machines
+* Copyright (C) 2003-2014, International Business Machines
* Corporation and others. All Rights Reserved.
*
*******************************************************************************
* file name: sorttest.c
-* encoding: US-ASCII
+* encoding: UTF-8
* tab size: 8 (not used)
* indentation:4
*
#include "cintltst.h"
#include "uarrsort.h"
-#define LENGTHOF(array) (int32_t)(sizeof(array)/sizeof((array)[0]))
-
static void
SortTest() {
uint16_t small[]={ 8, 1, 2, 5, 4, 3, 7, 6 };
/* sort small array (stable) */
errorCode=U_ZERO_ERROR;
- uprv_sortArray(small, LENGTHOF(small), sizeof(small[0]), uprv_uint16Comparator, NULL, TRUE, &errorCode);
+ uprv_sortArray(small, UPRV_LENGTHOF(small), sizeof(small[0]), uprv_uint16Comparator, NULL, TRUE, &errorCode);
if(U_FAILURE(errorCode)) {
log_err("uprv_sortArray(small) failed - %s\n", u_errorName(errorCode));
return;
}
- for(i=1; i<LENGTHOF(small); ++i) {
+ for(i=1; i<UPRV_LENGTHOF(small); ++i) {
if(small[i-1]>small[i]) {
log_err("uprv_sortArray(small) mis-sorted [%d]=%u > [%d]=%u\n", i-1, small[i-1], i, small[i]);
return;
}
/* for medium, add bits that will not be compared, to test stability */
- for(i=0; i<LENGTHOF(medium); ++i) {
- medium[i]=(medium[i]<<4)|i;
+ for(i=0; i<UPRV_LENGTHOF(medium); ++i) {
+ medium[i]=(int32_t)((uint32_t)medium[i]<<4) | i;
}
/* sort medium array (stable) */
- uprv_sortArray(medium, LENGTHOF(medium), sizeof(medium[0]), uprv_int32Comparator, NULL, TRUE, &errorCode);
+ uprv_sortArray(medium, UPRV_LENGTHOF(medium), sizeof(medium[0]), uprv_int32Comparator, NULL, TRUE, &errorCode);
if(U_FAILURE(errorCode)) {
log_err("uprv_sortArray(medium) failed - %s\n", u_errorName(errorCode));
return;
}
- for(i=1; i<LENGTHOF(medium); ++i) {
+ for(i=1; i<UPRV_LENGTHOF(medium); ++i) {
if(medium[i-1]>=medium[i]) {
log_err("uprv_sortArray(medium) mis-sorted [%d]=%u > [%d]=%u\n", i-1, medium[i-1], i, medium[i]);
return;
/* sort large array (not stable) */
errorCode=U_ZERO_ERROR;
- uprv_sortArray(large, LENGTHOF(large), sizeof(large[0]), uprv_uint32Comparator, NULL, FALSE, &errorCode);
+ uprv_sortArray(large, UPRV_LENGTHOF(large), sizeof(large[0]), uprv_uint32Comparator, NULL, FALSE, &errorCode);
if(U_FAILURE(errorCode)) {
log_err("uprv_sortArray(large) failed - %s\n", u_errorName(errorCode));
return;
}
- for(i=1; i<LENGTHOF(large); ++i) {
+ for(i=1; i<UPRV_LENGTHOF(large); ++i) {
if(large[i-1]>large[i]) {
log_err("uprv_sortArray(large) mis-sorted [%d]=%u > [%d]=%u\n", i-1, large[i-1], i, large[i]);
return;