22 #ifndef EDSP_FILTER_MOVING_MEDIAN_FILTER_H 23 #define EDSP_FILTER_MOVING_MEDIAN_FILTER_H 28 namespace edsp {
namespace filter {
42 template <
typename T,
typename Allocator = std::allocator<T>>
79 template <
typename InputIt,
typename OutputIt>
80 void filter(InputIt first, InputIt last, OutputIt d_first);
83 edsp::ring_buffer<T, Allocator> window_;
87 template <
typename T,
typename Allocator>
90 template <
typename T,
typename Allocator>
92 return window_.capacity();
95 template <
typename T,
typename Allocator>
100 template <
typename T,
typename Allocator>
101 template <
typename InputIt,
typename OutputIt>
103 for (; first != last; ++d_first, ++first) {
104 window_.push_back(*first);
109 template <
typename T,
typename Allocator>
116 #endif // EDSP_FILTER_MOVING_MEDIAN_FILTER_H
constexpr meta::value_type_t< ForwardIt > median(ForwardIt first, ForwardIt last)
Computes the median of the range [first, last)
Definition: median.hpp:44
Definition: amplifier.hpp:29