# fftw_flags

fftw関数の高速フーリエ変換の計算手法を設定する

## 呼び出し手順

    [a,[S]]=fftw_flags([x1;x2;...])

## パラメータ

[x1;x2;...]

  文字列および整数の行列. fftwのfft計算の手法を切替えるエントリ.

a

  整数. fftw関数のフラグのカレントの値を指定します.

S

  文字列行列. fftwフラグの文字列の値を指定します.

## 説明

この関数は, fftw関数で使用される `fftw_plan_guru_split_dft`関数の `unsigned flags`パラメータを変更します.

デフォルト値はFFTW_ESTIMATEです

以下のエントリが使用可能です :

- FFTW_MEASURE または 0

- FFTW_DESTROY_INPUT または 1

- FFTW_UNALIGNED または 2

- FFTW_CONSERVE_MEMORY または 4

- FFTW_EXHAUSTIVE または 8

- FFTW_PRESERVE_INPUT または 16

- FFTW_PATIENT または 32

- FFTW_ESTIMATE または 64

- FFTW_ESTIMATE_PATIENT または 128

- FFTW_BELIEVE_PCOST または 256

- FFTW_NO_DFT_R2HC または512

- FFTW_NO_NONTHREADED または 1024

- FFTW_NO_BUFFERING または 2048

- FFTW_NO_INDIRECT_OP または 4096

- FFTW_ALLOW_LARGE_GENERIC または 8192

- FFTW_NO_RANK_SPLITS または 16384

- FFTW_NO_VRANK_SPLITS または 32768

- FFTW_NO_VRECURSE または 65536

- FFTW_NO_SIMD または 131072

- FFTW_NO_SLOW または 262144

- FFTW_NO_FIXED_RADIX_LARGE_N または 524288

- FFTW_ALLOW_PRUNING または 1048576

注意 : FFTW_MEASURE/FFTW_PATIENT/FFTW_EXHAUSTIVE を使用した場合, fftwを2回コールする必要があります. (最初のコールは初期化のため, 二回目以降は計算のためです)

## 例

    //return the integer value of the flag
    fftw_flags()

    //change flags
    fftw_flags(["FFTW_MEASURE";"FFTW_CONSERVE_MEMORY"]);

    //change flags and display current value of fftw flags (both integer and strings)
    [a,S]=fftw_flags("FFTW_PATIENT")

## 参考

- fftw