matrix_int4x3_sized.hpp 2.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273
  1. /// @ref ext_matrix_int4x3_sized
  2. /// @file glm/ext/matrix_int4x3_sized.hpp
  3. ///
  4. /// @see core (dependence)
  5. ///
  6. /// @defgroup ext_matrix_int4x3_sized GLM_EXT_matrix_int4x3_sized
  7. /// @ingroup ext
  8. ///
  9. /// Include <glm/ext/matrix_int4x3_sized.hpp> to use the features of this extension.
  10. ///
  11. /// Defines a number of matrices with integer types.
  12. #pragma once
  13. // Dependency:
  14. #include "../mat4x3.hpp"
  15. #include "../ext/scalar_int_sized.hpp"
  16. #if GLM_MESSAGES == GLM_ENABLE && !defined(GLM_EXT_INCLUDED)
  17. # pragma message("GLM: GLM_EXT_matrix_int4x3_sized extension included")
  18. #endif
  19. namespace glm
  20. {
  21. /// @addtogroup ext_matrix_int4x3_sized
  22. /// @{
  23. /// 8 bit signed integer 4x3 matrix.
  24. ///
  25. /// @see ext_matrix_int4x3_sized
  26. typedef mat<4, 3, int8, defaultp> i8mat4x3;
  27. /// 16 bit signed integer 4x3 matrix.
  28. ///
  29. /// @see ext_matrix_int4x3_sized
  30. typedef mat<4, 3, int16, defaultp> i16mat4x3;
  31. /// 32 bit signed integer 4x3 matrix.
  32. ///
  33. /// @see ext_matrix_int4x3_sized
  34. typedef mat<4, 3, int32, defaultp> i32mat4x3;
  35. /// 64 bit signed integer 4x3 matrix.
  36. ///
  37. /// @see ext_matrix_int4x3_sized
  38. typedef mat<4, 3, int64, defaultp> i64mat4x3;
  39. /// @}
  40. }//namespace glm
  41. #if GLM_CONFIG_CTOR_INIT == GLM_DISABLE
  42. static_assert(std::is_trivially_default_constructible<glm::i8mat4x3>::value);
  43. static_assert(std::is_trivially_default_constructible<glm::i16mat4x3>::value);
  44. static_assert(std::is_trivially_default_constructible<glm::i32mat4x3>::value);
  45. static_assert(std::is_trivially_default_constructible<glm::i64mat4x3>::value);
  46. #endif
  47. static_assert(std::is_trivially_copy_assignable<glm::i8mat4x3>::value);
  48. static_assert(std::is_trivially_copy_assignable<glm::i16mat4x3>::value);
  49. static_assert(std::is_trivially_copy_assignable<glm::i32mat4x3>::value);
  50. static_assert(std::is_trivially_copy_assignable<glm::i64mat4x3>::value);
  51. static_assert(std::is_trivially_copyable<glm::i8mat4x3>::value);
  52. static_assert(std::is_trivially_copyable<glm::i16mat4x3>::value);
  53. static_assert(std::is_trivially_copyable<glm::i32mat4x3>::value);
  54. static_assert(std::is_trivially_copyable<glm::i64mat4x3>::value);
  55. static_assert(std::is_copy_constructible<glm::i8mat4x3>::value);
  56. static_assert(std::is_copy_constructible<glm::i16mat4x3>::value);
  57. static_assert(std::is_copy_constructible<glm::i32mat4x3>::value);
  58. static_assert(std::is_copy_constructible<glm::i64mat4x3>::value);
  59. static_assert(glm::i8mat4x3::length() == 4);
  60. static_assert(glm::i16mat4x3::length() == 4);
  61. static_assert(glm::i32mat4x3::length() == 4);
  62. static_assert(glm::i64mat4x3::length() == 4);