3 #ifndef VISR_PML_TIME_FREQUENCY_PARAMETER_HPP_INCLUDED 4 #define VISR_PML_TIME_FREQUENCY_PARAMETER_HPP_INCLUDED 15 #include <initializer_list> 28 template<
typename ElementType>
struct TimeFrequencyParameterType {};
30 template<>
struct TimeFrequencyParameterType<float>
34 template<>
struct TimeFrequencyParameterType<double>
45 template<
typename ElementType >
77 std::size_t numDftSamples,
79 size_t alignment = 0 );
100 void resize( std::size_t dftSize, std::size_t numDftSamples, std::size_t numChannels );
102 std::size_t
alignment()
const {
return mData.alignmentElements(); }
104 std::size_t
dftSize()
const {
return mData.numberOfColumns(); }
106 std::size_t
dftSamples()
const {
return mData.numberOfRows() / mNumberOfChannels; }
114 std::complex< ElementType >
const *
dftSlice( std::size_t channelIdx, std::size_t dftSampleIdx )
const 116 return mData.row( dftSampleIdx * numberOfChannels() + channelIdx );
119 std::complex< ElementType > *
dftSlice( std::size_t channelIdx, std::size_t dftSampleIdx )
121 return mData.row( dftSampleIdx * numberOfChannels() + channelIdx );
126 std::size_t mNumberOfChannels;
135 #endif // VISR_PML_TIME_FREQUENCY_PARAMETER_HPP_INCLUDED std::complex< ElementType > * dftSlice(std::size_t channelIdx, std::size_t dftSampleIdx)
Definition: time_frequency_parameter.hpp:119
std::size_t const numChannels
Definition: delay_vector.cpp:21
std::size_t channelStride() const
Definition: time_frequency_parameter.hpp:108
uint64_t ParameterType
Definition: parameter_type.hpp:13
Definition: time_frequency_parameter.hpp:46
std::size_t dftSampleStride() const
Definition: time_frequency_parameter.hpp:110
constexpr uint64_t compileTimeHashFNV1(const char *s)
Definition: compile_time_hash_fnv1.hpp:25
std::size_t alignment() const
Definition: time_frequency_parameter.hpp:102
Definition: options.cpp:10
Definition: parameter_factory.hpp:20
Definition: parameter_config_base.hpp:22
Definition: time_frequency_parameter_config.hpp:20
#define DEFINE_PARAMETER_TYPE(ParameterClassType, ParameterId, ParameterConfigType)
Definition: parameter_type.hpp:60
std::complex< ElementType > const * dftSlice(std::size_t channelIdx, std::size_t dftSampleIdx) const
Definition: time_frequency_parameter.hpp:114
std::size_t dftSize() const
Definition: time_frequency_parameter.hpp:104
std::size_t numberOfChannels() const
Definition: time_frequency_parameter.hpp:112
Definition: init_filter_matrix.hpp:15
std::size_t dftSamples() const
Definition: time_frequency_parameter.hpp:106