int main() { int arr[] = {7, 4, 2, 1, 8, 3, 0, 9, 5, 6, 1, 2, 3, 9, 4, 0, 9}; //int arr[] = {7, 4, 2, 1, 8, 3, 0, 9, 5, 6}; int i; parray(arr, 0, (sizeof(arr) / sizeof(int)) - 1); hsort(arr, (sizeof(arr) / sizeof(int))); parray(arr, 0, (sizeof(arr) / sizeof(int)) - 1); return 0; }
static void check_fill_seq(int id) { size_t vindices[NUM_DIMS]; size_t *cc, *mm; union getret got; int ii = 0; float val; sizes[0] = NUM_RECS; cc = vindices; while (cc < &vindices[num_dims]) *cc++ = 0; /* ripple counter */ cc = vindices; mm = sizes; while (*vindices < *sizes) { while (*cc < *mm) { if (mm == &sizes[num_dims - 1]) { if(nc_get_var1_float(id, Float_id, vindices, &got.fl[0]) == -1) goto bad_ret; val = (float) ii; if(val != got.fl[0]) { parray("indices", NUM_DIMS, vindices); (void) printf("\t%f != %f\n", val, got.fl[0]); } (*cc)++; ii++; continue; } cc++; mm++; } if(cc == vindices) break; *cc = 0; cc--; mm--; (*cc)++; } return; bad_ret : (void) printf("couldn't get a var in check_fill_seq() %d\n", ii); return; }