SIRIUS 7.5.0
Electronic structure library and applications
|
Contains helper functions for the interface with SpFFT library. More...
Go to the source code of this file.
Classes | |
struct | sirius::fft::SpFFT_Grid< T > |
Type traits to handle Spfft grid for different precision type. More... | |
struct | sirius::fft::SpFFT_Grid< double > |
struct | sirius::fft::SpFFT_Grid< std::complex< double > > |
struct | sirius::fft::SpFFT_Transform< T > |
Type traits to handle Spfft driver for different precision type. More... | |
struct | sirius::fft::SpFFT_Transform< double > |
struct | sirius::fft::SpFFT_Transform< std::complex< double > > |
Namespaces | |
module | sirius |
Namespace of the SIRIUS library. | |
namespace | sirius::fft |
FFT-related functions and objects. | |
Typedefs | |
template<typename T > | |
using | sirius::fft::spfft_grid_type = typename SpFFT_Grid< T >::type |
template<typename T > | |
using | sirius::fft::spfft_transform_type = typename SpFFT_Transform< T >::type |
template<typename F , typename T , typename ... Args> | |
using | sirius::fft::enable_return = typename std::enable_if< std::is_same< typename std::result_of< F(Args...)>::type, T >::value, void >::type |
Functions | |
template<typename T , typename F > | |
enable_return< F, T, int > | sirius::fft::spfft_input (spfft_transform_type< T > &spfft__, F &&fr__) |
Load data from real-valued lambda. More... | |
template<typename T , typename F > | |
enable_return< F, std::complex< T >, int > | sirius::fft::spfft_input (spfft_transform_type< T > &spfft__, F &&fr__) |
Load data from complex-valued lambda. More... | |
template<typename T > | |
void | sirius::fft::spfft_input (spfft_transform_type< T > &spfft__, T const *data__) |
Input CPU data to CPU buffer of SpFFT. More... | |
template<typename T , typename F > | |
void | sirius::fft::spfft_multiply (spfft_transform_type< T > &spfft__, F &&fr__) |
template<typename T > | |
void | sirius::fft::spfft_output (spfft_transform_type< T > &spfft__, T *data__) |
Output CPU data from the CPU buffer of SpFFT. More... | |
template<typename T > | |
void | sirius::fft::spfft_output (spfft_transform_type< T > &spfft__, std::complex< T > *data__) |
template<typename T > | |
size_t | sirius::fft::spfft_grid_size (T const &spfft__) |
Total size of the SpFFT transformation grid. More... | |
template<typename T > | |
size_t | sirius::fft::spfft_grid_size_local (T const &spfft__) |
Local size of the SpFFT transformation grid. More... | |
auto | sirius::fft::split_z_dimension (int size_z__, mpi::Communicator const &comm_fft__) |
Split z-dimenstion of size_z between MPI ranks of the FFT communicator. More... | |
Variables | |
const std::map< SpfftProcessingUnitType, sddk::memory_t > | sirius::fft::spfft_memory_t |
Contains helper functions for the interface with SpFFT library.
Definition in file fft.hpp.