/* * Copyright Nick Thompson, 2020 * Use, modification and distribution are subject to the * Boost Software License, Version 1.0. (See accompanying file * LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) */ #include #include #include int main() { using boost::math::quadrature::daubechies_wavelet_transform; double a = 1.3; auto f = [&a](double t) { if(t==0) { return double(0); } return std::sin(a/t); }; auto Wf = daubechies_wavelet_transform(f); double s = 7; double t = 0; auto g = [&a](double t)->std::complex { if (t==0) { return {0.0, 0.0}; } return std::exp(std::complex(0.0, a/t)); }; auto Wg = daubechies_wavelet_transform(g); std::cout << "W[f](s,t) = " << Wf(s,t) << "\n"; std::cout << "W[g](s,t) = " << Wg(s, t) << "\n"; std::cout << Wg(0.0, 3.5) << "\n"; std::cout << Wf(0.0, 4.8) << "\n"; std::cout << "W[f](-s,t) = " << Wf(-s, t) << "\n"; std::cout << "W[g](-s,t) = " << Wg(-s, t) << "\n"; }