fork download
  1. #include <iostream>
  2.  
  3. typedef float mat4x4_t[16];
  4. typedef float mat3x3_t[9];
  5.  
  6. void setParameter(const float*, int count) {
  7. std::cout << "float[" << count << "]\n";
  8. }
  9. void setParameter(const mat3x3_t&) {
  10. std::cout << "mat3x3_t\n";
  11. }
  12. void setParameter(const mat4x4_t&) {
  13. std::cout << "mat4x4_t\n";
  14. }
  15. void setParameter(const mat3x3_t*, int count) {
  16. std::cout << "mat3x3_t[" << count << "]\n";
  17. }
  18. void setParameter(const mat4x4_t*, int count) {
  19. std::cout << "mat4x4_t[" << count << "]\n";
  20. }
  21.  
  22. int main()
  23. {
  24. setParameter(new float[9], 9);
  25.  
  26. mat3x3_t mat3 = {};
  27. setParameter(mat3);
  28.  
  29. mat4x4_t mat4 = {};
  30. setParameter(mat4);
  31.  
  32. mat3x3_t mat3_10[10] = {};
  33. setParameter(mat3_10, 10);
  34.  
  35. mat4x4_t mat4_10[10] = {};
  36. setParameter(mat4_10, 10);
  37.  
  38. return 0;
  39. }
Success #stdin #stdout 0s 3472KB
stdin
Standard input is empty
stdout
float[9]
mat3x3_t
mat4x4_t
mat3x3_t[10]
mat4x4_t[10]