Introduksjon til fftw
        
        
          FFTW er et C subrutinebibliotek for å beregne den diskrete Fourier
          transform (DFT) i en eller flere dimensjoner, av vilkårlig
          inngangsstørrelse, og av både reelle og komplekse data (så vel som
          partall/oddetallsdata, dvs diskrete cosinus/sinus transformasjoner
          eller DCT/DST).
        
        
          Denne pakken er kjent for å bygge og fungere riktig ved å bruke en
          LFS 12.0 plattform.
        
        
          Pakkeinformasjon
        
        
       
      
        
          Installasjon av fftw
        
        
          ![[Note]](../images/note.png) 
          
            Note
          
          
            Vi bygger fftw tre ganger for ulike biblioteker i ulike numeriske
            presisjoner: standard flytepunkt med dobbel presisjon, den eldre
            32-biters (enkel presisjon) versjon kalt float som ofrer
            presisjon for hastighet, og den lange doble som tilbyr økt
            presisjon på bekostning av tregere utførelse.
          
         
        
          Det første bygget er for aritmetikk med dobbel presisjon.
          Installere fftw ved å kjøre
          følgende kommandoer:
        
        ./configure --prefix=/usr    \
            --enable-shared  \
            --disable-static \
            --enable-threads \
            --enable-sse2    \
            --enable-avx     \
            --enable-avx2    &&
make
        
          For å teste resultatene, utsted: make
          check. På 32-bits systemer kan testene ta betydelig
          lengre tid enn de ville på 64-bits maskiner.
        
        
          Nå, som root bruker:
        
        make install
        
          Bygg nå enkeltpresisjon:
        
        make clean &&
./configure --prefix=/usr    \
            --enable-shared  \
            --disable-static \
            --enable-threads \
            --enable-sse2    \
            --enable-avx     \
            --enable-avx2    \
            --enable-float   &&
make
        
          Som root bruker:
        
        make install
        
          Bygg til slutt lang dobbel presisjon:
        
        make clean &&
./configure --prefix=/usr    \
            --enable-shared  \
            --disable-static \
            --enable-threads \
            --enable-long-double &&
make
        
          Som root bruker:
        
        make install
       
      
        
          Parameterforklaringer
        
        
          --enable-shared
          --disable-static: Bruk delte biblioteker i stedet for
          statiske biblioteker.
        
        
          --enable-threads: Dette
          aktiverer libfftw3_threads.so til å
          bli kompilert. Det brukes av f.eks. gimp programtillegget fra G'MIC.
        
        
          --enable-{sse2,avx,avx2}:
          Disse aktiverer bygging av de optimaliserte rutinene ved å bruke
          SSE2, AVX og AVX2 instruksjoner. FFTW vil sjekke om disse rutinene
          virkelig kan brukes på gjeldende CPU når FFTW biblioteket er
          lastet, så et FFTW bygg med disse rutinene aktivert kan fortsatt
          kjøre på en CPU uten SSE2, AVX eller AVX512. Disse alternativene er
          ikke kompatible med --enable-long-double.
        
        
          --enable-float: Dette
          aktiverer bygging av biblioteket som bruker enkeltpresisjon
          flytepunktaritmetikk. Det er raskere, men mindre presis enn
          standard dobbel presisjonsbibliotek. Biblioteket blir kalt
          libfftw3f.so som trengs av PulseAudio-16.1.
        
        
          --enable-long-double: Dette
          aktiverer bygging av biblioteket som bruker høyere presisjon
          lang-dobbel flytende punkt-aritmetikk. Biblioteket blir kalt
          libfftw3l.so.
        
        
          --enable-avx512: Dette aktiverer
          bygging av optimaliserte rutiner ved hjelp av AVX512F
          instruksjoner. FFTW vil sjekke om disse rutinene virkelig kan
          brukes på gjeldende CPU når FFTW biblioteket er lastet, så et FFTW
          bygg med disse rutinene aktivert kan fortsatt kjøres på en CPU uten
          AVX512F. Bruk dette alternativet hvis FFTW bygget skal brukes på en
          CPU med AVX512F. Dette alternativet er ikke kompatibelt med
          --enable-long-double.