#942359 Please provide libfftw3-long3 on all platforms

Package:
libfftw3-long3
Source:
fftw3
Description:
Library for computing Fast Fourier Transforms - Long precision
Submitter:
Ole Streicher
Date:
2019-10-15 19:09:02 UTC
Severity:
wishlist
#942359#5
Date:
2019-10-15 06:47:08 UTC
From:
To:
Hi,

I have a package (cubature) that generates an include file (clencurt.h)
with a small helper program during build. This helper program uses the
"long double" version of libfftw (libfftw3-long3).

Unfortunately, libfftw3-long3 is only available on some architectures
and is missing on armel, armhf, mipsel and some ports. It seems that
these are the architectures where sizeof(long double) == sizeof(long),
which make the a separate "long double" version redundant.

However, the missing "long double" version breaks programs that use the
"long" version of the API. I could in principle rewrite the helper
program to support both; however this requires a lot of renaming and is
not really suitable for a Debian patch.

Therefore, I would ask to provide a "long double" version on all
machines which support the "long double" C data type.

Best regards

Ole

#942359#12
Date:
2019-10-15 17:30:57 UTC
From:
To:
This would require disabling the testsuite on these architectures as
with no real long doubles they will likely fail (which I think is the
original reason the package is not built, but I'd have to look it up).

Imo it is also dangerous to provide a long double numerical library on
platforms that do not really support it. You likely will just get wrong
results.

I think it would be better to just not build cubature on these platforms
depending on how significant the long double support is.
Have you engaged with upstream to check if they want to make long double
support optional?

#942359#17
Date:
2019-10-15 18:57:54 UTC
From:
To:
Hi Julian,

I think this would be a minor problem.

From my C understanding, "long double" is always implementation
dependent and is not guaranteed to be longer than "double". So, with a
"long double" library one gets only the accuracy that is expected for
the number of bits on that platform; this seems obvious to me.

The nominal precision (printed with 18 digits) will be a bit better.
However, when limiting to 15-16 digits (as they are finally converted to
double), almost all numbers are equal (a few deviate in the last digit
by 1). This looks acceptable for me.

Best

Ole