matrix_integer.inl 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738
  1. namespace glm{
  2. namespace detail
  3. {
  4. template<length_t C, length_t R, typename T, qualifier Q, bool Aligned>
  5. struct compute_matrixCompMult_type<C, R, T, Q, false, Aligned> {
  6. GLM_FUNC_QUALIFIER static mat<C, R, T, Q> call(mat<C, R, T, Q> const& x, mat<C, R, T, Q> const& y)
  7. {
  8. return detail::compute_matrixCompMult<C, R, T, Q, detail::is_aligned<Q>::value>::call(x, y);
  9. }
  10. };
  11. template<length_t DA, length_t DB, typename T, qualifier Q>
  12. struct compute_outerProduct_type<DA, DB, T, Q, false> {
  13. GLM_FUNC_QUALIFIER static typename detail::outerProduct_trait<DA, DB, T, Q>::type call(vec<DA, T, Q> const& c, vec<DB, T, Q> const& r)
  14. {
  15. return detail::compute_outerProduct<DA, DB, T, Q>::call(c, r);
  16. }
  17. };
  18. template<length_t C, length_t R, typename T, qualifier Q, bool Aligned>
  19. struct compute_transpose_type<C, R, T, Q, false, Aligned>
  20. {
  21. GLM_FUNC_QUALIFIER static mat<R, C, T, Q> call(mat<C, R, T, Q> const& m)
  22. {
  23. return detail::compute_transpose<C, R, T, Q, detail::is_aligned<Q>::value>::call(m);
  24. }
  25. };
  26. template<length_t C, length_t R, typename T, qualifier Q, bool Aligned>
  27. struct compute_determinant_type<C, R, T, Q, false, Aligned>{
  28. GLM_FUNC_QUALIFIER static T call(mat<C, R, T, Q> const& m)
  29. {
  30. return detail::compute_determinant<C, R, T, Q, detail::is_aligned<Q>::value>::call(m);
  31. }
  32. };
  33. }//namespace detail
  34. }//namespace glm