from TFA
>>> compare is a function which returns an integer less than, equal to, or greater than zero if the first argument is less than, equal to, or greater than the second. Because it is a C function, it takes in void pointers which we must convert back to actual values. One safe way to achieve such a conversion is through the memcpy function.
wait, what? why do you need to copy the memory??? can't you just cast to (double*) and deference???