plus_eq_vv_test.cpp 963 B

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. //Copyright (c) 2008-2016 Emil Dotchevski and Reverge Studios, Inc.
  2. //Distributed under the Boost Software License, Version 1.0. (See accompanying
  3. //file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
  4. #include <boost/qvm/vec_operations.hpp>
  5. #include "test_qvm_vector.hpp"
  6. #include "gold.hpp"
  7. namespace
  8. {
  9. template <int Dim>
  10. void
  11. test()
  12. {
  13. using namespace boost::qvm::sfinae;
  14. test_qvm::vector<V1,Dim> x(42,2);
  15. {
  16. test_qvm::vector<V1,Dim> const y(42,1);
  17. test_qvm::add_v(x.b,x.a,y.a);
  18. x+=y;
  19. BOOST_QVM_TEST_EQ(x.a,x.b);
  20. }
  21. {
  22. test_qvm::vector<V2,Dim> const y(42,1);
  23. test_qvm::add_v(x.b,x.a,y.a);
  24. x+=y;
  25. BOOST_QVM_TEST_EQ(x.a,x.b);
  26. }
  27. }
  28. }
  29. int
  30. main()
  31. {
  32. test<2>();
  33. test<3>();
  34. test<4>();
  35. test<5>();
  36. return boost::report_errors();
  37. }