By sending the two parts of a complex as separate doubles (complex
double-float), or packing the two parts into a one double-float
argument (complex single-float), it is possible to pass complex
numbers in GSL function calls. This is very likely to be
non-portable, so a test is conducted and the results
in *pass-complex-scalar-as-two-reals* determine whether defmfun does
this translation or just creates a function that signals an error.
The complex tests have been modified so that no longer expect an
SBCL 64: TOTAL: 1223 assertions passed, 5 failed, 0 execution errors.
CCL 64: TOTAL: 1228 assertions passed, 0 failed, 0 execution errors.
This also works in 32 bit SBCL.