24 enum class DyadicMode : uint8_t { Even = 0, Odd };
31 enum class PaddingMode : uint8_t { Zeroes = 0, Symmetric };
58 static void Decompose(
const std::vector<double>* data,
const Wavelet* wavelet,
59 std::vector<double>* approx_coeffs,
60 std::vector<double>* details_coeffs,
61 DyadicMode dyadic_mode, PaddingMode padding_mode);
79 static void Reconstruct(
const std::vector<double>* coeffs,
80 const std::vector<double>* reconstruction_coeffs,
81 std::vector<double>* data,
const Wavelet* wavelet,
82 size_t data_size, DyadicMode dyadic_mode,
83 PaddingMode padding_mode);
104 std::vector<double>* data_upsampled,
105 DyadicMode dyadic_mode);
127 std::vector<double>* data_downsampled,
128 DyadicMode dyadic_mode);
137 static void Convolve(
const std::vector<double>* data,
138 const std::vector<double>* coeffs,
139 std::vector<double>* result);
164 static void Pad(
const std::vector<double>* data,
165 std::vector<double>* extended_data,
size_t pad_left,
166 size_t pad_right, PaddingMode padding_mode);
171 #endif // WAVELETMATH_H