ivec4.h 2.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147
  1. /*
  2. * Copyright (c), Recep Aslantas.
  3. *
  4. * MIT License (MIT), http://opensource.org/licenses/MIT
  5. * Full license can be found in the LICENSE file
  6. */
  7. #ifndef cglmc_ivec4_h
  8. #define cglmc_ivec4_h
  9. #ifdef __cplusplus
  10. extern "C" {
  11. #endif
  12. #include "../cglm.h"
  13. CGLM_EXPORT
  14. void
  15. glmc_ivec4(ivec3 v3, int last, ivec4 dest);
  16. CGLM_EXPORT
  17. void
  18. glmc_ivec4_copy(ivec4 a, ivec4 dest);
  19. CGLM_EXPORT
  20. void
  21. glmc_ivec4_zero(ivec4 v);
  22. CGLM_EXPORT
  23. void
  24. glmc_ivec4_one(ivec4 v);
  25. CGLM_EXPORT
  26. void
  27. glmc_ivec4_add(ivec4 a, ivec4 b, ivec4 dest);
  28. CGLM_EXPORT
  29. void
  30. glmc_ivec4_adds(ivec4 v, int s, ivec4 dest);
  31. CGLM_EXPORT
  32. void
  33. glmc_ivec4_sub(ivec4 a, ivec4 b, ivec4 dest);
  34. CGLM_EXPORT
  35. void
  36. glmc_ivec4_subs(ivec4 v, int s, ivec4 dest);
  37. CGLM_EXPORT
  38. void
  39. glmc_ivec4_mul(ivec4 a, ivec4 b, ivec4 dest);
  40. CGLM_EXPORT
  41. void
  42. glmc_ivec4_scale(ivec4 v, int s, ivec4 dest);
  43. CGLM_EXPORT
  44. void
  45. glmc_ivec4_addadd(ivec4 a, ivec4 b, ivec4 dest);
  46. CGLM_EXPORT
  47. void
  48. glmc_ivec4_addadds(ivec4 a, int s, ivec4 dest);
  49. CGLM_EXPORT
  50. void
  51. glmc_ivec4_subadd(ivec4 a, ivec4 b, ivec4 dest);
  52. CGLM_EXPORT
  53. void
  54. glmc_ivec4_subadds(ivec4 a, int s, ivec4 dest);
  55. CGLM_EXPORT
  56. void
  57. glmc_ivec4_muladd(ivec4 a, ivec4 b, ivec4 dest);
  58. CGLM_EXPORT
  59. void
  60. glmc_ivec4_muladds(ivec4 a, int s, ivec4 dest);
  61. CGLM_EXPORT
  62. void
  63. glmc_ivec4_maxadd(ivec4 a, ivec4 b, ivec4 dest);
  64. CGLM_EXPORT
  65. void
  66. glmc_ivec4_minadd(ivec4 a, ivec4 b, ivec4 dest);
  67. CGLM_EXPORT
  68. void
  69. glmc_ivec4_subsub(ivec4 a, ivec4 b, ivec4 dest);
  70. CGLM_EXPORT
  71. void
  72. glmc_ivec4_subsubs(ivec4 a, int s, ivec4 dest);
  73. CGLM_EXPORT
  74. void
  75. glmc_ivec4_addsub(ivec4 a, ivec4 b, ivec4 dest);
  76. CGLM_EXPORT
  77. void
  78. glmc_ivec4_addsubs(ivec4 a, int s, ivec4 dest);
  79. CGLM_EXPORT
  80. void
  81. glmc_ivec4_mulsub(ivec4 a, ivec4 b, ivec4 dest);
  82. CGLM_EXPORT
  83. void
  84. glmc_ivec4_mulsubs(ivec4 a, int s, ivec4 dest);
  85. CGLM_EXPORT
  86. void
  87. glmc_ivec4_maxsub(ivec4 a, ivec4 b, ivec4 dest);
  88. CGLM_EXPORT
  89. void
  90. glmc_ivec4_minsub(ivec4 a, ivec4 b, ivec4 dest);
  91. CGLM_EXPORT
  92. int
  93. glmc_ivec4_distance2(ivec4 a, ivec4 b);
  94. CGLM_EXPORT
  95. float
  96. glmc_ivec4_distance(ivec4 a, ivec4 b);
  97. CGLM_EXPORT
  98. void
  99. glmc_ivec4_maxv(ivec4 a, ivec4 b, ivec4 dest);
  100. CGLM_EXPORT
  101. void
  102. glmc_ivec4_minv(ivec4 a, ivec4 b, ivec4 dest);
  103. CGLM_EXPORT
  104. void
  105. glmc_ivec4_clamp(ivec4 v, int minVal, int maxVal);
  106. CGLM_EXPORT
  107. void
  108. glmc_ivec4_abs(ivec4 v, ivec4 dest);
  109. #ifdef __cplusplus
  110. }
  111. #endif
  112. #endif /* cglmc_ivec4_h */