FFTW: Różnice pomiędzy wersjami

[wersja nieprzejrzana][wersja przejrzana]
Usunięta treść Dodana treść
gramatyka
Jdx (dyskusja | edycje)
m poprawa linków do przek., drobne redakcyjne
Linia 1:
{{Dopracować|źródła=2014-12}}
'''FFTW''' (''Fastest Fourier Transform in the West'') to bardzo szybka [[bibliotekaBiblioteka (informatyka)programistyczna|biblioteka]] do obliczania [[TransformacjaDyskretna transformata Fouriera|dyskretnych transformat Fouriera]].
 
'''FFTW''' jest najszybszą niezależną od sprzętu biblioteką tego typu. Inne biblioteki o porównywalnych osiągnięciachosiągach składają się z ręcznie optymalizowanego kodu [[asembler]]owego, natomiast większość kodu FFTW jest [[generatory kodu|generowana]] z zapisu w języku [[OcamlOCaml]]. Ponadto FFTW w czasie wykonania w fazie zwanej "planowaniem"„planowaniem” dostosowuje się do właściwości danej maszyny - nie tylko procesora, ale również wykorzystuje cechy [[Pamięć podręczna|pamięci cache]]. Wykorzystuje do tego optymalizator który stara się zdekomponować problem na prostsze podproblemy. FFTW wykorzystuje poza standardowymi wariantami algorytmu FFT Cooley-Tukey'a (dobry dla potęg 2), również algorytmy przydatne dla potęg dużych liczb pierwszych (takie jak algorytm FFT Rader'a oraz algorytm FFT Bluestein'a).
 
FFTW jest biblioteką języka [[C (język programowania)|C]], ale można jej używać także z [[Fortran]]u, [[C++]], oraz [[D (język programowania)|D]].
 
Istnieją wersje FFTW dla [[Wieloprocesorowość_symetrycznaWieloprocesorowość symetryczna|SMP]], a także dla obliczeń rozproszonych.
 
FFTW od wersji 1.3 jest dostępna na licencji [[GNU General Public License|GPL]] (wcześniej była darmowa dla użytku niekomercyjnego); autorzy umożliwiają również uzyskania FFTW na innej, niewolnej licencji.
 
Programy używające FFTW to m.in. [[GNU Octave]] i [[MatlabMATLAB]].
 
== Przykład użycia ==