On Thursday, May 10, 2018 8:17:47 PM CEST lostbits wrote:
On 5/10/2018 8:08 AM, Patrick Alken wrote:
On 05/10/2018 04:18 AM, Francesco Florian wrote:
Hello!
Since I have received no answer, I wonder whether this is the right
mailing list for this question. If it is not, can you please point me
to the right one?
Thank you
Hello,
What exactly are you trying to do that QAG cannot? Perhaps there is
an alternate way without rewriting the function. My guess is you could
get away with just removing the GSL_COERCE_DBL wrappers from the code,
but it may not match the original QUADPACK results, according to the
comments in qag.c.
Patrick
My guess is that gcc -DHAVE_EXTENDED_PRECISION_REGISTERS ... would
define the pre-process variable, if that's what you want. If you do
nothing then the variable is not defined. More to the point:
#if HAVE_EXTENDED_PRECISION_REGISTERS
#define GSL_COERCE_DBL(x) (gsl_coerce_double(x)) // used with gcc
--DHAVE_EXTENDED_PRECISION_REGISTERS
#else
#define GSL_COERCE_DBL(x) (x) // used without defining the variable
#endif
I was looking for a way to check if the compiler actually supports it. The
method above seems to rely on me knowing that, and then passing
-DHAVE_EXTENDED_PRECISION_REGISTERS to gcc if appropriate.
Patrick Alken's answer seems to suggest it is ok not to match QUADPACK results;
if it is correct it would work for me.