コンストラクターとデストラクター#

このページでは、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 操作のパラメータを参照するときに、概要で示した表記法に従います。

1 次元DFTを定義する descriptor オブジェクトのパラメーター化されたコンストラクターの入力パラメーター \(d = 1\)#

名前

タイプ

説明

length

std::int64_t

\(n_{1}\) の値 (1 次元 DFT の長さ)

任意の descriptor オブジェクトのパラメーター化されたコンストラクターの入力パラメーター#

名前

タイプ

説明

lengths

std::vector<std::int64_t>

サイズ \(d\) のベクトルで、 \(\lbrace n_{1}, n_{2}, \ldots, n_{d} \rbrace\) をこの順序で含む (DFT の長さ)

例外#

パラメーター化されたコンストラクターは、

  • \(d > 3\);

  • の場合に std::runtime_error をスローする可能性があります。descriptor オブジェクトの構築で、必要なリソースの割り当てに失敗します。

デストラクター#

任意の descriptor クラスのデストラクターは、そのクラスのオブジェクトに割り当てられたすべてのリソースを解放します。