math_fwd.hpp 726 B

12345678910111213141516171819202122232425262728293031323334353637383940
  1. //
  2. // vector_typedefs.hpp
  3. // math
  4. //
  5. // Created by Sam Jaffe on 7/5/16.
  6. //
  7. #pragma once
  8. #include <cstdint>
  9. namespace math {
  10. namespace vector {
  11. template <typename, size_t> class vector;
  12. }
  13. namespace matrix {
  14. template <typename, size_t, size_t> class matrix;
  15. template <typename T, size_t N>
  16. using square_matrix = matrix<T, N, N>;
  17. }
  18. struct line;
  19. struct circle;
  20. struct quad;
  21. struct rectangle;
  22. struct square;
  23. struct degree;
  24. struct radian;
  25. }
  26. namespace math {
  27. using vec2i = vector::vector<int, 2>;
  28. using vec2 = vector::vector<float, 2>;
  29. using vec3 = vector::vector<float, 3>;
  30. using rgba = vector::vector<uint8_t, 4>;
  31. using matr4 = matrix::matrix<float, 4, 4>;
  32. }