On Wed, Feb 20, 2019 at 09:39:16AM -0600, Bruce Dubbs via blfs-dev wrote: > On 2/20/19 6:49 AM, Pierre Labastie via blfs-dev wrote: > > On 20/02/2019 09:32, Ken Moffat via blfs-dev wrote: > > > On Wed, Feb 20, 2019 at 08:05:46AM +0000, Ken Moffat via blfs-dev wrote: > > > > > > > > A few nits about the Command Explanations: > > > > > > > > For --enable-float we mention RawTherapee, and then say > > > > > > > > "These versions are not usable by packages in this book which use > > > > libfftw3 so if you need both you will need to build fftw twice." > > > > > > > > I think we should add Pulseaudio to the float option, and mention it > > > > first because it is in the book ? Or maybe just mention "e.g. > > > > pulse" since we are now building that version so it will be there > > > > for RawTherappe and anything else ? > > > > > > > > And drop that last sentence because we are now building it three > > > > times. > > > > > > > > But does anyone know what packages use the long double version ? > > > > All I can find is questions on Stack Overflow etc where people are > > > > writing their own C programs. > > > > > > > > Hmm, since single-precision is float (as compared to double which is > > > > not floating-point), and produces the libfftw3f* libs, make also > > > > change 'Now build single-precision' to 'Now build floating-point' ? > > > > > > > > > > Alternative suggestion: change "single precision" to "floating > > > point" and then just drop the explanation of --enable-float because > > > it should now be obvious, and maybe drop the additional explamation > > > of what uses the threaded double library. > > > > > > ĸen > > > > > > > Hi, > > > > Not sure what to do for the problem at hand. All I know is that double *is* > > floating point... > > > Short version: the 3 flavours of fftw are all floating point. > > Long version: > > C has had a long history. At the beginning, the only floating point format > > was > > 32 bit and named "float". The computers ability at the time did not allow > > more, although the accuracy is only about 7 digits, which is not enough for > > reliable calculations. Soon after came the 64 bit floating point format, > > which > > got named "double" in C (a short name for "double precision" (the fortran > > name), not "double float", as one could imagine). This allowed for more > > reliable number crunching, at the expanse of a computing time multiplied by > > 4. > > Then came the 80 bit format used in Intel math coprocessors (no special name > > in C), then 128 bit, more recently, named "long double" in C. Real time Fast > > Fourier Transform (FFT) still use the 32 bit format (float), because it's > > faster, but normal number crunching uses 64 bit, and 128 bit, or even MPFR > > when higher precision is needed. > > But the default libraries are double precision. Some modern CPUs have > 512-bit registers that can be used for extreme precision or can take 8 > doubles for parallel execution. > > I prefer to maintain the single precision terminology as teh term 'float' > can be overloaded to mean any floating point precision. > > -- bruce > Thanks to you both. How about, as a first step, extending the Note to:
We build fftw three times to provide libraries in different numerical provisions: the default double precision floating point, the older 32-bit version named float which sacrifices precision for speed, and the long double which offers increased precision at the cost of slower execution. ? ĸen -- The beauty of reading a page of de Selby is that it leads one inescapably to the conclusion that one is not, of all nincompoops, the greates. -- du Garbandier -- http://lists.linuxfromscratch.org/listinfo/blfs-dev FAQ: http://www.linuxfromscratch.org/blfs/faq.html Unsubscribe: See the above information page
