| 139 | |
| 140 | template <typename T> |
| 141 | void increase_and_grow_impl() { |
| 142 | auto tmax = std::numeric_limits<T>::max(); |
| 143 | auto s = prepare(2, tmax); |
| 144 | auto n = s; |
| 145 | auto n2 = s; |
| 146 | |
| 147 | n.increase(0); |
| 148 | |
| 149 | auto x = prepare<void>(2); |
| 150 | x.increase(0); |
| 151 | n2.add(0, x[0].value()); |
| 152 | |
| 153 | double v = tmax; |
| 154 | ++v; |
| 155 | BOOST_TEST_EQ(n[0].value(), v); |
| 156 | BOOST_TEST_EQ(n2[0].value(), v); |
| 157 | BOOST_TEST_EQ(n[1].value(), 0.0); |
| 158 | BOOST_TEST_EQ(n2[1].value(), 0.0); |
| 159 | } |
| 160 | |
| 161 | template <> |
| 162 | void increase_and_grow_impl<void>() { |