3 #define DISPLAY_DUAL(x) \
4 std::cout << #x << std::endl; \
5 std::cout << " " << x.getValue() << std::endl; \
7 for (auto iter = std::begin(x.getDerivative()); iter != std::end(x.getDerivative()); ++iter) { \
8 std::cout << *iter << " "; \
10 std::cout << std::endl;
12 #define DISPLAY_VECTOR_DUAL(vector) \
13 std::cout << #vector << std::endl; \
14 for (std::size_t i = 0; i < vector.size(); ++i) { \
15 std::cout << " " << #vector << "(" << i << ")" << std::endl; \
16 std::cout << " " << vector(i).getValue() << std::endl; \
18 for (auto& derivative : vector(i).getDerivative()) { \
19 std::cout << derivative << " "; \
21 std::cout << std::endl; \
23 std::cout << std::endl;
25 #define DISPLAY_JACOBIAN_DUAL(jac) \
26 std::cout << #jac << std::endl; \
27 for (std::size_t ri = 0; ri < jac.size1(); ++ri) { \
28 for (std::size_t ci = 0; ci < jac.size2(); ++ci) { \
29 std::cout << jac(ri, ci) << " "; \
31 std::cout << std::endl; \
33 std::cout << std::endl;
35 #define DISPLAY_INTEGRAL(x) \
36 std::cout << #x << std::endl; \
37 std::cout << " " << x << std::endl;
39 #define DISPLAY_VECTOR(vector) \
40 std::cout << #vector << std::endl; \
42 for (std::size_t i = 0; i < vector.size(); ++i) { \
43 std::cout << vector(i) << " "; \
45 std::cout << std::endl;