EchoMap
2026-07-25 6d3977c
An experimental cross-platform digital signal processing application for sound-source localisation.
Toggle main menu visibility
Loading...
Searching...
No Matches
FFTWBuffers.hpp
Go to the documentation of this file.
1
9
10
#ifndef ECHOMAP_FFTWBUFFERS_HPP
11
#define ECHOMAP_FFTWBUFFERS_HPP
12
13
#include <
cstddef
>
14
#include <
optional
>
15
#include <
span
>
16
17
namespace
echomap
18
{
19
26
class
FFTWBuffers
27
{
28
using
fftwf_complex_fwd =
float
[2];
29
30
public
:
31
fftwf_complex_fwd*
const
coefficients
;
32
float
*
input
;
33
std::size_t
input_size
;
34
47
explicit
FFTWBuffers
(
48
std::size_t
size,
49
const
std::optional
<
std::span<const float>
>& inplace_input
50
);
51
55
~FFTWBuffers
() noexcept;
56
57
private:
58
bool
is_input_managed
;
59
};
60
61
}
// namespace echomap
62
63
#endif
// ECHOMAP_FFTWBUFFERS_HPP
echomap::FFTWBuffers::~FFTWBuffers
~FFTWBuffers() noexcept
Deallocate the buffers.
Definition
FFTWBuffers.cpp:48
echomap::FFTWBuffers::is_input_managed
bool is_input_managed
Are we responsible for the input buffer?
Definition
FFTWBuffers.hpp:58
echomap::FFTWBuffers::FFTWBuffers
FFTWBuffers(std::size_t size, const std::optional< std::span< const float > > &inplace_input)
Setup contextual buffers for FFTW.
Definition
FFTWBuffers.cpp:21
echomap::FFTWBuffers::input_size
std::size_t input_size
Size of the input vector.
Definition
FFTWBuffers.hpp:33
echomap::FFTWBuffers::coefficients
fftwf_complex_fwd *const coefficients
Complex coefficients (output of real-to-complex FFT).
Definition
FFTWBuffers.hpp:31
echomap::FFTWBuffers::input
float * input
Real-valued inputs, either managed by us or aliased by the user.
Definition
FFTWBuffers.hpp:32
cstddef
echomap
The main EchoMap outermost namespace for all non-exported symbols.
Definition
ActionController.hpp:20
optional
std::size_t
span
src
objects
factories
FFTWBuffers.hpp
Generated by
1.17.0