]>
git.proxmox.com Git - ceph.git/blob - ceph/src/boost/libs/math/example/daubechies_wavelets/daubechies_scaling_memory_occupation.cpp
2 #include <boost/math/special_functions/daubechies_scaling.hpp>
3 #include <boost/core/demangle.hpp>
4 #include <boost/hana/for_each.hpp>
5 #include <boost/hana/ext/std/integer_sequence.hpp>
9 boost::hana::for_each(std::make_index_sequence
<18>(),
11 std::cout
<< std::right
;
12 auto daub
= boost::math::daubechies_scaling
<float, i
+2>();
13 std::cout
<< "The Daubechies " << std::setw(2) << i
+ 2 << " scaling function occupies "
14 << std::setw(12) << daub
.bytes()/1000.0 << " kilobytes in relative accuracy mode in "
15 << boost::core::demangle(typeid(float).name()) << " precision\n";
18 std::cout
<< std::endl
;
19 std::cout
<< std::endl
;
20 std::cout
<< std::endl
;
22 boost::hana::for_each(std::make_index_sequence
<18>(),
24 std::cout
<< std::right
;
25 auto daub
= boost::math::daubechies_scaling
<float, i
+2>(-2);
26 std::cout
<< "The Daubechies " << std::setw(2) << i
+ 2 << " scaling function occupies "
27 << std::setw(12) << daub
.bytes()/1000.0 << " kilobytes in absolute accuracy mode in "
28 << boost::core::demangle(typeid(float).name()) << " precision\n";
31 std::cout
<< std::endl
;
32 std::cout
<< std::endl
;
33 std::cout
<< std::endl
;
36 boost::hana::for_each(std::make_index_sequence
<18>(),
38 std::cout
<< std::right
;
39 auto daub
= boost::math::daubechies_scaling
<double, i
+2>();
40 std::cout
<< "The Daubechies " << std::setw(2) << i
+ 2 << " scaling function occupies "
41 << std::setw(12) << daub
.bytes()/1000.0 << " kilobytes in relative accuracy mode in "
42 << boost::core::demangle(typeid(double).name()) << " precision\n";
45 std::cout
<< std::endl
;
46 std::cout
<< std::endl
;
47 std::cout
<< std::endl
;
49 boost::hana::for_each(std::make_index_sequence
<18>(),
51 std::cout
<< std::right
;
52 auto daub
= boost::math::daubechies_scaling
<double, i
+2>(-2);
53 std::cout
<< "The Daubechies " << std::setw(2) << i
+ 2 << " scaling function occupies "
54 << std::setw(12) << daub
.bytes()/1000.0 << " kilobytes in absolute accuracy mode in "
55 << boost::core::demangle(typeid(double).name()) << " precision\n";