nk 1.0.0
C++ Numerical Computing Runtime
Loading...
Searching...
No Matches
shape.hpp
Go to the documentation of this file.
1
3// toolboxes/wavelet/include/nk/wavelet/shape/shape.hpp
4//
5// Continuous wavelet shapes — analytical functions sampled on a grid.
6// Each returns (psi, x) where x is the time grid linspace(LB, UB, N)
7// and psi is the wavelet sampled at those points.
8
9#pragma once
10
11#include <memory_resource>
12#include <nk/value/value.hpp>
13#include <tuple>
14
15namespace nk::wavelet {
16
19
20
32std::tuple<Value, Value>
33mexihat(double lb, double ub, size_t N,
34 std::pmr::memory_resource *mr = nullptr);
35
46std::tuple<Value, Value>
47morlet(double lb, double ub, size_t N,
48 std::pmr::memory_resource *mr = nullptr);
49
59Value meyeraux(const Value &x, std::pmr::memory_resource *mr = nullptr);
60
74std::tuple<Value, Value>
75shanwavf(double lb, double ub, size_t N, double fb, double fc,
76 std::pmr::memory_resource *mr = nullptr);
77
83std::tuple<Value, Value>
84cmorwavf(double lb, double ub, size_t N, double fb, double fc,
85 std::pmr::memory_resource *mr = nullptr);
86
95std::tuple<Value, Value>
96fbspwavf(double lb, double ub, size_t N, int m, double fb, double fc,
97 std::pmr::memory_resource *mr = nullptr);
98
107std::tuple<Value, Value>
108gauswavf(double lb, double ub, size_t N, int p,
109 std::pmr::memory_resource *mr = nullptr);
110
118std::tuple<Value, Value>
119cgauwavf(double lb, double ub, size_t N, int p,
120 std::pmr::memory_resource *mr = nullptr);
121
122
124} // namespace nk::wavelet
Core MATLAB-compatible multidimensional array and scalar value type.
Definition value.hpp:61
Value meyeraux(const Value &x, std::pmr::memory_resource *mr=nullptr)
Meyer auxiliary function (y = meyeraux(x)).
std::tuple< Value, Value > shanwavf(double lb, double ub, size_t N, double fb, double fc, std::pmr::memory_resource *mr=nullptr)
Shannon wavelet ([psi, x] = shanwavf(LB, UB, N, fb, fc)).
std::tuple< Value, Value > morlet(double lb, double ub, size_t N, std::pmr::memory_resource *mr=nullptr)
Real Morlet wavelet ([psi, x] = morlet(LB, UB, N)).
std::tuple< Value, Value > fbspwavf(double lb, double ub, size_t N, int m, double fb, double fc, std::pmr::memory_resource *mr=nullptr)
Frequency B-spline wavelet ([psi, x] = fbspwavf(LB, UB, N, m, fb, fc)).
std::tuple< Value, Value > gauswavf(double lb, double ub, size_t N, int p, std::pmr::memory_resource *mr=nullptr)
Real Gaussian wavelet of order p ([psi, x] = gauswavf(LB, UB, N, p)).
std::tuple< Value, Value > cgauwavf(double lb, double ub, size_t N, int p, std::pmr::memory_resource *mr=nullptr)
Complex Gaussian wavelet of order p ([psi, x] = cgauwavf(LB, UB, N, p)).
std::tuple< Value, Value > mexihat(double lb, double ub, size_t N, std::pmr::memory_resource *mr=nullptr)
Mexican-hat wavelet sampled on a grid ([psi, x] = mexihat(LB, UB, N)).
std::tuple< Value, Value > cmorwavf(double lb, double ub, size_t N, double fb, double fc, std::pmr::memory_resource *mr=nullptr)
Complex Morlet wavelet ([psi, x] = cmorwavf(LB, UB, N, fb, fc)).