Visible to Intel only — GUID: GUID-F3AC39C4-7817-40FA-9649-0F4ED63791E5
Visible to Intel only — GUID: GUID-F3AC39C4-7817-40FA-9649-0F4ED63791E5
descriptor<precision, domain>
Creates a descriptor for the templated precision and forward domain with configuration values. This routine belongs to the oneapi::mkl::dft namespace.
Description
This constructor initializes members to default values and throws an std::runtime_exception if it fails. Note that the precision and forward domain are determined via templating. This function allocates memory for the descriptor data structure and instantiates it with all the default configuration settings for the precision, forward domain, and length(s) of the transform.
This function does not perform any significant computational work such as computation of twiddle factors. The function descriptor::commit does this work after the function descriptor::set_value has set values of all necessary parameters.
The interface supports a single std::int64_t input for 1-D transforms, and an std::vector<std::int64_t> for N-D transforms.
API
Syntax
namespace oneapi::mkl::dft{
descriptor<precision, domain> desc (length)
}
namespace oneapi::mkl::dft{
descriptor<precision, domain> desc ({length_1, length_2, ...})
}
Include Files
oneapi/mkl/dfti.hpp
Template Parameters
Name |
Type |
Description |
---|---|---|
precision |
oneapi::mkl::dft::precision |
oneapi::mkl::dft::precision::SINGLE or oneapi::mkl::dft::precision::DOUBLE are supported precisions. Double precision has limited GPU support and full CPU support. |
domain |
oneapi::mkl::dft::domain |
oneapi::mkl::dft::domain::REAL or oneapi::mkl::dft::domain::COMPLEX are supported forward domains. |
Descriptor objects specialized with value oneapi::mkl::dft::precision::SINGLE (resp. oneapi::mkl::dft::precision::DOUBLE) for template parameter precision are referred to as “single-precision descriptors” (resp. “double-precision descriptors”). Similarly, descriptor objects specialized with value oneapi::mkl::dft::domain::COMPLEX (resp. oneapi::mkl::dft::domain::REAL) for template parameter domain are referred to as “complex descriptors” (resp. “real descriptors”).
Input Parameters: 1-Dimensional
Name |
Type |
Description |
---|---|---|
length |
std::int64_t |
Length of the 1-D transform. |
Input Parameters: N-Dimensional
Name |
Type |
Description |
---|---|---|
lengths |
std::vector<std::int64_t> |
Lengths of the transform. |