Creates a descriptor for the templated precision and forward domain with configuration values. This routine belongs to the mkl::dft namespace.
descriptor<PRECISION, DOMAIN> desc (dimension);
descriptor<PRECISION, DOMAIN> desc ({dim1, dim2, ...});
This constructor initializes members to default values and throws an std::runtime_exception in the case that it fails. Note that the precision and 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 dimensions 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 MKL_LONG input for 1-D transforms, and an std::vector for N-D transforms.
Name |
Type |
Description |
---|---|---|
PRECISION |
mkl::dft::Precision |
mkl::dft::Precision::SINGLE or mkl::dft::Precision::DOUBLE are supported precisions. Double precision has limited GPU support and full CPU and Host support. |
DOMAIN |
mkl::dft::Domain |
mkl::dft::Domain::REAL or mkl::dft::Domain::COMPLEX are supported forward domains. |
Name |
Type |
Description |
---|---|---|
dimension |
MKL_LONG |
Dimension of the transform 1-D transform. |
Name |
Type |
Description |
---|---|---|
dimensions |
std::vector<MKL_LONG> |
Dimensions of the transform. |