Message-Id: <200409071828.i87ISCSu030890@delorie.com> From: "Juan Manuel Guerrero" Organization: Darmstadt University of Technology To: djgpp-announce AT delorie DOT com Date: Tue, 07 Sep 2004 20:06:20 +0200 Subject: ANNOUNCE: DJGPP port of FFTW 3.0.1 uploaded Content-description: Mail message body X-TUD-HRZ-MailScanner: Found to be clean X-TUD-HRZ-MailScanner-SpamCheck: This is a port of FFTW 3.0.1 to MSDOS/DJGPP. FFTW is a free collection of fast C routines for computing the Discrete Fourier Transform in one or more dimensions. It includes complex, real, symmetric, and parallel transforms, and can handle arbitrary array sizes efficiently. FFTW is typically faster than other publically-available FFT implementations, and is even competitive with vendor-tuned libraries. Please, read carefully the NEWS file to see the user visible changes and read the info or html docs to become familiar with the program. DJGPP specific changes. ======================= - Please note that this package **needs** long filename support to compile. If you are using Win98 with numerical tail aliases disabled, you will have to reenable it again to install the package. Thus this package can not be compiled on plain DOS. - Due to the 8.3 file name length restriction the libraries file names have been changed from: libfftw3X.a to libfftwX.a where X stands for the character `f' or for nothing. This should be remembered when reading the info docs or man pages and when linking. - The package provides two versions of the library: libfftwf.a (float precision version) libfftw.a (double precision version, default) The two libraries use the same header: fftw3.h. In your application you will have to replace function calls that starts with "fftw_" with "fftwf_" in the case of float. You can use both libraries at the same time in your appliction. This means that you can performe certain computation with single precision in some function and perform another computation with double precision in another or in the same function of your application. Please read the info docs to become familiar with this library. The original package offers a third version of the library, this is one with long double precision. This version can not be compiled with djgpp because it needs versions of trigonometric functions with long double precision that are not available in djgpp. - Also the package can be configured to take advantage of processor specific instruction set. The options are: --enable-3dnow (fallback for non AMD K7 compatible processor) --enable-k7 (enables K7 *and* 3dnow instruction set) --enable-sse --enable-sse2 Enabling one of the above options produces SIMD (single instruction multiple data) code. 3dnow and sse only work with --enable-float and k7 and sse2 optimizations only work with the double precision library. To make the package good for all djgpp installations, I have disabled all processor specific instruction set optimizations. This may make the library a little bit slower on modern processors but this produces smallest libraries and the programms linked against the library will work on all processors platforms. If you do not like this and you want to take advantage of your processor features, you will have to reconfigure and recompile the package. - This port will look for configuration files in /dev/env/DJGPP/etc/fftw instead of the hardcoded /etc/fftw path. Allowing for this djgpp specific prefix is the only change to the code. As usual, all djgpp specific files (config.bat, diffs, readme files, etc.) are located in the djgpp subdir. The port consists of the usual three packages that can be downloaded from ftp.delorie.com and mirrors as (timestamp 2004-09-07): FFTW 3.0.1 binary, info and man format documentation: ftp://ftp.delorie.com/pub/djgpp/current/v2tk/fftw301b.zip FFTW 3.0.1 dvi, html and ps format documentation: ftp://ftp.delorie.com/pub/djgpp/current/v2tk/fftw301d.zip FFTW 3.0.1 source: ftp://ftp.delorie.com/pub/djgpp/current/v2tk/fftw301s.zip Send Sed specific bug reports to . Send suggestions and bug reports concerning the DJGPP port to comp.os.msdos.djgpp or . Enjoy. Guerrero, Juan Manuel