![]() |
mgcpp
A C++ Math Library Based on CUDA
|
Enumerations | |
| enum | fft_direction { fft_direction::forward = CUFFT_FORWARD, fft_direction::inverse = CUFFT_INVERSE } |
Functions | |
| outcome::result< void > | rfft (size_t n, float const *x, cuComplex *result) |
| outcome::result< void > | rfft (size_t n, double const *x, cuDoubleComplex *result) |
| outcome::result< void > | irfft (size_t n, cuComplex const *x, float *result) |
| outcome::result< void > | irfft (size_t n, cuDoubleComplex const *x, double *result) |
| outcome::result< void > | cfft (size_t n, cuComplex const *x, cuComplex *result, fft_direction direction) |
| outcome::result< void > | cfft (size_t n, cuDoubleComplex const *x, cuDoubleComplex *result, fft_direction direction) |
| outcome::result< void > | rfft2 (size_t n, size_t m, float const *x, cuComplex *result) |
| outcome::result< void > | rfft2 (size_t n, size_t m, double const *x, cuDoubleComplex *result) |
| outcome::result< void > | irfft2 (size_t n, size_t m, cuComplex const *x, float *result) |
| outcome::result< void > | irfft2 (size_t n, size_t m, cuDoubleComplex const *x, double *result) |
| outcome::result< void > | cfft2 (size_t n, size_t m, cuComplex const *x, cuComplex *result, fft_direction direction) |
| outcome::result< void > | cfft2 (size_t n, size_t m, cuDoubleComplex const *x, cuDoubleComplex *result, fft_direction direction) |
|
strong |
| outcome::result<void> mgcpp::cufft::cfft | ( | size_t | n, |
| cuComplex const * | x, | ||
| cuComplex * | result, | ||
| fft_direction | direction | ||
| ) |
Performs single-precision complex-to-complex FFT. Effectively calls the corresponding CuFFT function.
| n | fft size |
| x | input array of n complex values |
| result | the fft result, which is an array of n complex values. |
| direction | cufft::fft_direction::forward for forward FFT, or cufft::fft_direction::inverse to perform an inverse (unnormalized) FFT. |
| outcome::result<void> mgcpp::cufft::cfft | ( | size_t | n, |
| cuDoubleComplex const * | x, | ||
| cuDoubleComplex * | result, | ||
| fft_direction | direction | ||
| ) |
Performs double-precision complex-to-complex FFT. Effectively calls the corresponding CuFFT function.
| n | fft size |
| x | input array of n complex values |
| result | the fft result, which is an array of n complex values. |
| direction | cufft::fft_direction::forward for forward FFT, or cufft::fft_direction::inverse to perform an inverse (unnormalized) FFT. |
| outcome::result<void> mgcpp::cufft::cfft2 | ( | size_t | n, |
| size_t | m, | ||
| cuComplex const * | x, | ||
| cuComplex * | result, | ||
| fft_direction | direction | ||
| ) |
Performs two-dimensional single-precision complex-to-complex FFT. Effectively calls the corresponding CuFFT function.
| n | fastest-changing dimension |
| m | slowest-changing dimension |
| x | input array of n x m interleaved complex values |
| result | the fft result, which is an array of n x m real numbers. |
| direction | cufft::fft_direction::forward for forward FFT, or cufft::fft_direction::inverse to perform an inverse (unnormalized) FFT. |
| outcome::result<void> mgcpp::cufft::cfft2 | ( | size_t | n, |
| size_t | m, | ||
| cuDoubleComplex const * | x, | ||
| cuDoubleComplex * | result, | ||
| fft_direction | direction | ||
| ) |
Performs two-dimensional double-precision complex-to-complex FFT. Effectively calls the corresponding CuFFT function.
| n | fastest-changing dimension |
| m | slowest-changing dimension |
| x | input array of n x m interleaved complex values |
| result | the fft result, which is an array of n x m real numbers. |
| direction | cufft::fft_direction::forward for forward FFT, or cufft::fft_direction::inverse to perform an inverse (unnormalized) FFT. |
| outcome::result<void> mgcpp::cufft::irfft | ( | size_t | n, |
| cuComplex const * | x, | ||
| float * | result | ||
| ) |
Performs single-precision complex-to-real inverse unnormalized FFT. Effectively calls the corresponding CuFFT function.
| n | fft size |
| x | input array of floor(n/2)+1 interleaved complex values |
| result | the fft result, which is an array of n real numbers. |
| outcome::result<void> mgcpp::cufft::irfft | ( | size_t | n, |
| cuDoubleComplex const * | x, | ||
| double * | result | ||
| ) |
Performs double-precision complex-to-real inverse unnormalized FFT. Effectively calls the corresponding CuFFT function.
| n | fft size |
| x | input array of floor(n/2)+1 interleaved complex values |
| result | the fft result, which is an array of n real numbers. |
| outcome::result<void> mgcpp::cufft::irfft2 | ( | size_t | n, |
| size_t | m, | ||
| cuComplex const * | x, | ||
| float * | result | ||
| ) |
Performs two-dimensional single-precision complex-to-real inverse unnormalized FFT. Effectively calls the corresponding CuFFT function.
| n | fastest-changing dimension |
| m | slowest-changing dimension |
| x | input array of (floor(n/2)+1) x m interleaved complex values |
| result | the fft result, which is an array of n x m real numbers. |
| outcome::result<void> mgcpp::cufft::irfft2 | ( | size_t | n, |
| size_t | m, | ||
| cuDoubleComplex const * | x, | ||
| double * | result | ||
| ) |
Performs two-dimensional double-precision complex-to-real inverse unnormalized FFT. Effectively calls the corresponding CuFFT function.
| n | fastest-changing dimension |
| m | slowest-changing dimension |
| x | input array of (floor(n/2)+1) x m interleaved complex values |
| result | the fft result, which is an array of n x m real numbers. |
| outcome::result<void> mgcpp::cufft::rfft | ( | size_t | n, |
| float const * | x, | ||
| cuComplex * | result | ||
| ) |
Performs single-precision real-to-complex forward FFT. Effectively calls the corresponding CuFFT function.
| n | fft size |
| x | input array of n real values |
| result | the fft result, which is an array of floor(n/2)+1 complex numbers. |
| outcome::result<void> mgcpp::cufft::rfft | ( | size_t | n, |
| double const * | x, | ||
| cuDoubleComplex * | result | ||
| ) |
Performs double-precision real-to-complex forward FFT. Effectively calls the corresponding CuFFT function.
| n | fft size |
| x | input array of n real values |
| result | the fft result, which is an array of floor(n/2)+1 complex numbers. |
| outcome::result<void> mgcpp::cufft::rfft2 | ( | size_t | n, |
| size_t | m, | ||
| float const * | x, | ||
| cuComplex * | result | ||
| ) |
Performs two-dimensional single-precision real-to-complex forward FFT. Effectively calls the corresponding CuFFT function.
| n | fastest-changing dimension |
| m | slowest-changing dimension |
| x | input array of (n x m) real values |
| result | the fft result, which is an array of floor(n/2)+1 complex numbers. |
| outcome::result<void> mgcpp::cufft::rfft2 | ( | size_t | n, |
| size_t | m, | ||
| double const * | x, | ||
| cuDoubleComplex * | result | ||
| ) |
Performs two-dimensional double-precision real-to-complex forward FFT. Effectively calls the corresponding CuFFT function.
| n | fastest-changing dimension |
| m | slowest-changing dimension |
| x | input array of (n x m) real values |
| result | the fft result, which is an array of (floor(n/2)+1) x m complex numbers. |
1.8.13