27 int i, odd=1, half=floor(n/2), smallnr;
29 if(fmod((
double)n, 2.0)<1e-99) odd=0;
32 halfs_data=(
double*)malloc((half+odd) *
sizeof(
double));
36 qsort(help, n,
sizeof(
double),
lmsQSort);
39 for(i=0; i<half+odd; i++) {
40 halfs_data[i]=data[half+i]-data[i];
44 for(i=1, small=halfs_data[0]; i<half+odd; i++) {
45 if(halfs_data[i]<small) {
51 return (data[half+smallnr]+data[smallnr])/2.0;