func_matrix.cpp 2.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081
  1. ///////////////////////////////////////////////////////////////////////////////////////////////////
  2. // OpenGL Mathematics Copyright (c) 2005 - 2010 G-Truc Creation (www.g-truc.net)
  3. ///////////////////////////////////////////////////////////////////////////////////////////////////
  4. // Created : 2008-08-31
  5. // Updated : 2008-08-31
  6. // Licence : This source is under MIT License
  7. // File : test/core/func_matrix.cpp
  8. ///////////////////////////////////////////////////////////////////////////////////////////////////
  9. #include "../precompiled.hpp"
  10. #include <glm/core/func_matrix.hpp>
  11. namespace glm{
  12. namespace test{
  13. bool test_matrixcompmult_2x2()
  14. {
  15. mat2 x = mat2(vec2(0, 1), vec2(2, 3));
  16. mat2 result = matrixCompMult(x, x);
  17. if(result[0][0] != 0 || result[0][1] != 1 ||
  18. result[1][0] != 4 || result[1][1] != 9)
  19. return false;
  20. return true;
  21. }
  22. bool test_matrixcompmult_3x3()
  23. {
  24. mat3 x = mat3(vec3(0, 0, 0),
  25. vec3(1, 1, 1),
  26. vec3(2, 2, 2));
  27. mat3 result = matrixCompMult(x, x);
  28. if(result[0][0] != 0 || result[0][1] != 0 || result[0][2] != 0 ||
  29. result[1][0] != 1 || result[1][1] != 1 || result[1][2] != 1 ||
  30. result[2][0] != 4 || result[2][1] != 4 || result[2][2] != 4)
  31. return false;
  32. return true;
  33. }
  34. bool test_matrixcompmult_4x4()
  35. {
  36. mat4 x = mat4(vec4(0, 0, 0, 0),
  37. vec4(1, 1, 1, 1),
  38. vec4(2, 2, 2, 2),
  39. vec4(3, 3, 3, 3));
  40. mat4 result = matrixCompMult(x, x);
  41. if(result[0][0] != 0 || result[0][1] != 0 || result[0][2] != 0 || result[0][3] != 0 ||
  42. result[1][0] != 1 || result[1][1] != 1 || result[1][2] != 1 || result[1][3] != 1 ||
  43. result[2][0] != 4 || result[2][1] != 4 || result[2][2] != 4 || result[2][3] != 4 ||
  44. result[3][0] != 9 || result[3][1] != 9 || result[3][2] != 9 || result[3][3] != 9)
  45. return false;
  46. return true;
  47. }
  48. bool test_outerProduct()
  49. {
  50. mat2x2 m0 = glm::outerProduct(vec2(1.f), vec2(1.f));
  51. return true;
  52. }
  53. bool test_transpose()
  54. {
  55. return true;
  56. }
  57. void main_core_func_matrix()
  58. {
  59. assert(test_matrixcompmult_2x2());
  60. assert(test_matrixcompmult_3x3());
  61. assert(test_matrixcompmult_4x4());
  62. assert(test_outerProduct());
  63. assert(test_transpose());
  64. }
  65. }//namespace test
  66. }//namespace glm