1
0

ivec3.h 2.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183
  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_ivec3_h
  8. #define cglmc_ivec3_h
  9. #ifdef __cplusplus
  10. extern "C" {
  11. #endif
  12. #include "../cglm.h"
  13. CGLM_EXPORT
  14. void
  15. glmc_ivec3(ivec4 v4, ivec3 dest);
  16. CGLM_EXPORT
  17. void
  18. glmc_ivec3_copy(ivec3 a, ivec3 dest);
  19. CGLM_EXPORT
  20. void
  21. glmc_ivec3_zero(ivec3 v);
  22. CGLM_EXPORT
  23. void
  24. glmc_ivec3_one(ivec3 v);
  25. CGLM_EXPORT
  26. int
  27. glmc_ivec3_dot(ivec3 a, ivec3 b);
  28. CGLM_EXPORT
  29. int
  30. glmc_ivec3_norm2(ivec3 v);
  31. CGLM_EXPORT
  32. int
  33. glmc_ivec3_norm(ivec3 v);
  34. CGLM_EXPORT
  35. void
  36. glmc_ivec3_add(ivec3 a, ivec3 b, ivec3 dest);
  37. CGLM_EXPORT
  38. void
  39. glmc_ivec3_adds(ivec3 v, int s, ivec3 dest);
  40. CGLM_EXPORT
  41. void
  42. glmc_ivec3_sub(ivec3 a, ivec3 b, ivec3 dest);
  43. CGLM_EXPORT
  44. void
  45. glmc_ivec3_subs(ivec3 v, int s, ivec3 dest);
  46. CGLM_EXPORT
  47. void
  48. glmc_ivec3_mul(ivec3 a, ivec3 b, ivec3 dest);
  49. CGLM_EXPORT
  50. void
  51. glmc_ivec3_scale(ivec3 v, int s, ivec3 dest);
  52. CGLM_EXPORT
  53. void
  54. glmc_ivec3_div(ivec3 a, ivec3 b, ivec3 dest);
  55. CGLM_EXPORT
  56. void
  57. glmc_ivec3_divs(ivec3 v, int s, ivec3 dest);
  58. CGLM_EXPORT
  59. void
  60. glmc_ivec3_mod(ivec3 a, ivec3 b, ivec3 dest);
  61. CGLM_EXPORT
  62. void
  63. glmc_ivec3_addadd(ivec3 a, ivec3 b, ivec3 dest);
  64. CGLM_EXPORT
  65. void
  66. glmc_ivec3_addadds(ivec3 a, int s, ivec3 dest);
  67. CGLM_EXPORT
  68. void
  69. glmc_ivec3_subadd(ivec3 a, ivec3 b, ivec3 dest);
  70. CGLM_EXPORT
  71. void
  72. glmc_ivec3_subadds(ivec3 a, int s, ivec3 dest);
  73. CGLM_EXPORT
  74. void
  75. glmc_ivec3_muladd(ivec3 a, ivec3 b, ivec3 dest);
  76. CGLM_EXPORT
  77. void
  78. glmc_ivec3_muladds(ivec3 a, int s, ivec3 dest);
  79. CGLM_EXPORT
  80. void
  81. glmc_ivec3_maxadd(ivec3 a, ivec3 b, ivec3 dest);
  82. CGLM_EXPORT
  83. void
  84. glmc_ivec3_minadd(ivec3 a, ivec3 b, ivec3 dest);
  85. CGLM_EXPORT
  86. void
  87. glmc_ivec3_subsub(ivec3 a, ivec3 b, ivec3 dest);
  88. CGLM_EXPORT
  89. void
  90. glmc_ivec3_subsubs(ivec3 a, int s, ivec3 dest);
  91. CGLM_EXPORT
  92. void
  93. glmc_ivec3_addsub(ivec3 a, ivec3 b, ivec3 dest);
  94. CGLM_EXPORT
  95. void
  96. glmc_ivec3_addsubs(ivec3 a, int s, ivec3 dest);
  97. CGLM_EXPORT
  98. void
  99. glmc_ivec3_mulsub(ivec3 a, ivec3 b, ivec3 dest);
  100. CGLM_EXPORT
  101. void
  102. glmc_ivec3_mulsubs(ivec3 a, int s, ivec3 dest);
  103. CGLM_EXPORT
  104. void
  105. glmc_ivec3_maxsub(ivec3 a, ivec3 b, ivec3 dest);
  106. CGLM_EXPORT
  107. void
  108. glmc_ivec3_minsub(ivec3 a, ivec3 b, ivec3 dest);
  109. CGLM_EXPORT
  110. int
  111. glmc_ivec3_distance2(ivec3 a, ivec3 b);
  112. CGLM_EXPORT
  113. float
  114. glmc_ivec3_distance(ivec3 a, ivec3 b);
  115. CGLM_EXPORT
  116. void
  117. glmc_ivec3_fill(ivec3 v, int val);
  118. CGLM_EXPORT
  119. bool
  120. glmc_ivec3_eq(ivec3 v, int val);
  121. CGLM_EXPORT
  122. bool
  123. glmc_ivec3_eqv(ivec3 a, ivec3 b);
  124. CGLM_EXPORT
  125. void
  126. glmc_ivec3_maxv(ivec3 a, ivec3 b, ivec3 dest);
  127. CGLM_EXPORT
  128. void
  129. glmc_ivec3_minv(ivec3 a, ivec3 b, ivec3 dest);
  130. CGLM_EXPORT
  131. void
  132. glmc_ivec3_clamp(ivec3 v, int minVal, int maxVal);
  133. CGLM_EXPORT
  134. void
  135. glmc_ivec3_abs(ivec3 v, ivec3 dest);
  136. #ifdef __cplusplus
  137. }
  138. #endif
  139. #endif /* cglmc_ivec3_h */