Main Content

coder.fftw.StandaloneFFTW3Interface.getNumThreads

クラス: coder.fftw.StandaloneFFTW3Interface
名前空間: coder.fftw

FFTW ライブラリの呼び出しに使用するスレッド数を返す

構文

coder.fftw.StandaloneFFTW3Interface.getNumThreads()

説明

coder.fftw.StandaloneFFTW3Interface.getNumThreads() は、特定の FFTW ライブラリの呼び出しに使用するスレッド数を返します。

coder.fftw.StandaloneFFTW3Interface クラスから派生する FFT ライブラリ コールバック クラスは、使用する FFTW ライブラリを指定します。

すべて展開する

coder.fft.StandaloneFFTW3Interface から派生するクラスで、使用する FFTW ライブラリのスレッド数を返すメソッド getNumThreads を実装します。

この例の coder.fftw.StandaloneFFTW3Interface クラスでは、テンプレートとして getNumThreads メソッドを使用します。

% copyright 2017 The MathWorks, Inc.

classdef useMyFFTW < coder.fftw.StandaloneFFTW3Interface
     
    methods (Static)
        function th = getNumThreads
            coder.inline('always');
            th = int32(coder.const(1));
        end
                
        function updateBuildInfo(buildInfo, ctx)
            fftwLocation = '/usr/lib/fftw';
            includePath = fullfile(fftwLocation, 'include');
            buildInfo.addIncludePaths(includePath);
            libPath = fullfile(fftwLocation, 'lib');
            
            %Double
            libName1 = 'libfftw3-3';
            [~, libExt] = ctx.getStdLibInfo();
            libName1 = [libName1 libExt];
            addLinkObjects(buildInfo, libName1, libPath, 1000, true, true);
            
            %Single
             libName2 = 'libfftw3f-3';
            [~, libExt] = ctx.getStdLibInfo();
            libName2 = [libName2 libExt];
            addLinkObjects(buildInfo, libName2, libPath, 1000, true, true);
        end
    end           
end

getNumThreads メソッドでは、th を使用するスレッド数に設定します。たとえば、次のコードは 3 つのスレッドを指定します。

th = int32(coder.const(3))

バージョン履歴

R2017b で導入