コンストラクターとデストラクター#
このページでは、oneapi::mkl::dft 名前空間に属し、oneapi/mkl/dft.hpp (インクルードするファイル) で宣言されている descriptor クラス・テンプレートのコンストラクターとデストラクターについて説明します。
namespace oneapi::mkl::dft {
template <precision prec, domain dom>
class descriptor {
public:
// パラメーター化されたコンストラクター:
descriptor(std::int64_t length); // 1D DFT のみ
descriptor(std::vector<std::int64_t> lengths);
// デストラクター:
~descriptor();descriptor();
}
}簡潔にするため、先頭に付加された名前空間指定子 oneapi::mkl::dft は以下では省略されています。
パラメーター化されたコンストラクター#
任意の descriptor クラスのパラメーター化されたコンストラクターは、オブジェクトのデータ構造にメモリーを割り当て、定義する変換の精度、順方向ドメイン、および長さに合わせてデフォルトに設定します。これらのコンストラクターは、オブジェクトの作成時に定義する DFT の準備において、計算ワークをトリガーしません。このようなすべてのタスクは、オブジェクトが DFT 定義と特定の sycl::queue インスタンスにコミットされたときに実行されます。
入力パラメーター#
どちらのコンストラクターの入力パラメーターも、以下の表に詳細が示されています。表では、オブジェクトによって定義された DFT 操作のパラメータを参照するときに、概要で示した表記法に従います。
名前 |
タイプ |
説明 |
|---|---|---|
|
|
\(n_{1}\) の値 (1 次元 DFT の長さ) |
名前 |
タイプ |
説明 |
|---|---|---|
|
|
サイズ \(d\) のベクトルで、 \(\lbrace n_{1}, n_{2}, \ldots, n_{d} \rbrace\) をこの順序で含む (DFT の長さ) |
例外#
パラメーター化されたコンストラクターは、
\(d > 3\);
の場合に std::runtime_error をスローする可能性があります。
descriptorオブジェクトの構築で、必要なリソースの割り当てに失敗します。
デストラクター#
任意の descriptor クラスのデストラクターは、そのクラスのオブジェクトに割り当てられたすべてのリソースを解放します。