| 260 | |
| 261 | template <typename LHS, typename RHS> |
| 262 | void add_impl() { |
| 263 | auto a = prepare<LHS>(2); |
| 264 | auto b = prepare<RHS>(2); |
| 265 | if (std::is_same<RHS, void>::value) { |
| 266 | a += b; |
| 267 | BOOST_TEST_EQ(a[0].value(), 0); |
| 268 | BOOST_TEST_EQ(a[1].value(), 0); |
| 269 | } else { |
| 270 | b.increase(0); |
| 271 | b.increase(0); |
| 272 | a += b; |
| 273 | BOOST_TEST_EQ(a[0].value(), 2); |
| 274 | BOOST_TEST_EQ(a[0].variance(), 2); |
| 275 | BOOST_TEST_EQ(a[1].value(), 0); |
| 276 | } |
| 277 | } |
| 278 | |
| 279 | template <typename LHS> |
| 280 | void add_impl_all_rhs() { |