mat_index_test.cpp 1.3 KB

12345678910111213141516171819202122232425262728293031323334
  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 "test_qvm_matrix.hpp"
  5. int
  6. main()
  7. {
  8. using namespace boost::qvm;
  9. typedef test_qvm::matrix<M1,2,3> M;
  10. M m;
  11. m.a[0][0]=42.0f;
  12. m.a[0][1]=43.0f;
  13. m.a[0][2]=44.0f;
  14. m.a[1][0]=45.0f;
  15. m.a[1][1]=46.0f;
  16. m.a[1][2]=47.0f;
  17. BOOST_TEST(mat_traits<M>::read_element_idx(0,0,m)==m.a[0][0]);
  18. BOOST_TEST(mat_traits<M>::read_element_idx(0,1,m)==m.a[0][1]);
  19. BOOST_TEST(mat_traits<M>::read_element_idx(0,2,m)==m.a[0][2]);
  20. BOOST_TEST(mat_traits<M>::read_element_idx(1,0,m)==m.a[1][0]);
  21. BOOST_TEST(mat_traits<M>::read_element_idx(1,1,m)==m.a[1][1]);
  22. BOOST_TEST(mat_traits<M>::read_element_idx(1,2,m)==m.a[1][2]);
  23. BOOST_TEST(&mat_traits<M>::write_element_idx(0,0,m)==&m.a[0][0]);
  24. BOOST_TEST(&mat_traits<M>::write_element_idx(0,1,m)==&m.a[0][1]);
  25. BOOST_TEST(&mat_traits<M>::write_element_idx(0,2,m)==&m.a[0][2]);
  26. BOOST_TEST(&mat_traits<M>::write_element_idx(1,0,m)==&m.a[1][0]);
  27. BOOST_TEST(&mat_traits<M>::write_element_idx(1,1,m)==&m.a[1][1]);
  28. BOOST_TEST(&mat_traits<M>::write_element_idx(1,2,m)==&m.a[1][2]);
  29. return boost::report_errors();
  30. }