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 
8 #include "../include/cglm/cglm.h"
9 #include "../include/cglm/call.h"
10 
11 CGLM_EXPORT
12 void
glmc_vec3(vec4 v4,vec3 dest)13 glmc_vec3(vec4 v4, vec3 dest) {
14   glm_vec3(v4, dest);
15 }
16 
17 CGLM_EXPORT
18 void
glmc_vec3_copy(vec3 a,vec3 dest)19 glmc_vec3_copy(vec3 a, vec3 dest) {
20   glm_vec3_copy(a, dest);
21 }
22 
23 CGLM_EXPORT
24 void
glmc_vec3_zero(vec3 v)25 glmc_vec3_zero(vec3 v) {
26   glm_vec3_zero(v);
27 }
28 
29 CGLM_EXPORT
30 void
glmc_vec3_one(vec3 v)31 glmc_vec3_one(vec3 v) {
32   glm_vec3_one(v);
33 }
34 
35 CGLM_EXPORT
36 float
glmc_vec3_dot(vec3 a,vec3 b)37 glmc_vec3_dot(vec3 a, vec3 b) {
38   return glm_vec3_dot(a, b);
39 }
40 
41 CGLM_EXPORT
42 void
glmc_vec3_cross(vec3 a,vec3 b,vec3 dest)43 glmc_vec3_cross(vec3 a, vec3 b, vec3 dest) {
44   glm_vec3_cross(a, b, dest);
45 }
46 
47 CGLM_EXPORT
48 void
glmc_vec3_crossn(vec3 a,vec3 b,vec3 dest)49 glmc_vec3_crossn(vec3 a, vec3 b, vec3 dest) {
50   glm_vec3_crossn(a, b, dest);
51 }
52 
53 CGLM_EXPORT
54 float
glmc_vec3_norm(vec3 v)55 glmc_vec3_norm(vec3 v) {
56   return glm_vec3_norm(v);
57 }
58 
59 CGLM_EXPORT
60 void
glmc_vec3_normalize_to(vec3 v,vec3 dest)61 glmc_vec3_normalize_to(vec3 v, vec3 dest) {
62   glm_vec3_normalize_to(v, dest);
63 }
64 
65 CGLM_EXPORT
66 void
glmc_vec3_normalize(vec3 v)67 glmc_vec3_normalize(vec3 v) {
68   glm_vec3_normalize(v);
69 }
70 
71 CGLM_EXPORT
72 float
glmc_vec3_norm2(vec3 v)73 glmc_vec3_norm2(vec3 v) {
74   return glm_vec3_norm2(v);
75 }
76 
77 CGLM_EXPORT
78 float
glmc_vec3_norm_one(vec3 v)79 glmc_vec3_norm_one(vec3 v) {
80   return glm_vec3_norm_one(v);
81 }
82 
83 CGLM_EXPORT
84 float
glmc_vec3_norm_inf(vec3 v)85 glmc_vec3_norm_inf(vec3 v) {
86   return glm_vec3_norm_inf(v);
87 }
88 
89 CGLM_EXPORT
90 void
glmc_vec3_add(vec3 a,vec3 b,vec3 dest)91 glmc_vec3_add(vec3 a, vec3 b, vec3 dest) {
92   glm_vec3_add(a, b, dest);
93 }
94 
95 CGLM_EXPORT
96 void
glmc_vec3_adds(vec3 v,float s,vec3 dest)97 glmc_vec3_adds(vec3 v, float s, vec3 dest) {
98   glm_vec3_adds(v, s, dest);
99 }
100 
101 CGLM_EXPORT
102 void
glmc_vec3_sub(vec3 a,vec3 b,vec3 dest)103 glmc_vec3_sub(vec3 a, vec3 b, vec3 dest) {
104   glm_vec3_sub(a, b, dest);
105 }
106 
107 CGLM_EXPORT
108 void
glmc_vec3_subs(vec3 v,float s,vec3 dest)109 glmc_vec3_subs(vec3 v, float s, vec3 dest) {
110   glm_vec3_subs(v, s, dest);
111 }
112 
113 CGLM_EXPORT
114 void
glmc_vec3_mul(vec3 a,vec3 b,vec3 d)115 glmc_vec3_mul(vec3 a, vec3 b, vec3 d) {
116   glm_vec3_mul(a, b, d);
117 }
118 
119 CGLM_EXPORT
120 void
glmc_vec3_scale(vec3 v,float s,vec3 dest)121 glmc_vec3_scale(vec3 v, float s, vec3 dest) {
122   glm_vec3_scale(v, s, dest);
123 }
124 
125 CGLM_EXPORT
126 void
glmc_vec3_scale_as(vec3 v,float s,vec3 dest)127 glmc_vec3_scale_as(vec3 v, float s, vec3 dest) {
128   glm_vec3_scale_as(v, s, dest);
129 }
130 
131 CGLM_EXPORT
132 void
glmc_vec3_div(vec3 a,vec3 b,vec3 dest)133 glmc_vec3_div(vec3 a, vec3 b, vec3 dest) {
134   glm_vec3_div(a, b, dest);
135 }
136 
137 CGLM_EXPORT
138 void
glmc_vec3_divs(vec3 a,float s,vec3 dest)139 glmc_vec3_divs(vec3 a, float s, vec3 dest) {
140   glm_vec3_divs(a, s, dest);
141 }
142 
143 CGLM_EXPORT
144 void
glmc_vec3_addadd(vec3 a,vec3 b,vec3 dest)145 glmc_vec3_addadd(vec3 a, vec3 b, vec3 dest) {
146   glm_vec3_addadd(a, b, dest);
147 }
148 
149 CGLM_EXPORT
150 void
glmc_vec3_subadd(vec3 a,vec3 b,vec3 dest)151 glmc_vec3_subadd(vec3 a, vec3 b, vec3 dest) {
152   glm_vec3_subadd(a, b, dest);
153 }
154 
155 CGLM_EXPORT
156 void
glmc_vec3_muladd(vec3 a,vec3 b,vec3 dest)157 glmc_vec3_muladd(vec3 a, vec3 b, vec3 dest) {
158   glm_vec3_muladd(a, b, dest);
159 }
160 
161 CGLM_EXPORT
162 void
glmc_vec3_muladds(vec3 a,float s,vec3 dest)163 glmc_vec3_muladds(vec3 a, float s, vec3 dest) {
164   glm_vec3_muladds(a, s, dest);
165 }
166 
167 CGLM_EXPORT
168 void
glmc_vec3_maxadd(vec3 a,vec3 b,vec3 dest)169 glmc_vec3_maxadd(vec3 a, vec3 b, vec3 dest) {
170   glm_vec3_maxadd(a, b, dest);
171 }
172 
173 CGLM_EXPORT
174 void
glmc_vec3_minadd(vec3 a,vec3 b,vec3 dest)175 glmc_vec3_minadd(vec3 a, vec3 b, vec3 dest) {
176   glm_vec3_minadd(a, b, dest);
177 }
178 
179 CGLM_EXPORT
180 void
glmc_vec3_negate(vec3 v)181 glmc_vec3_negate(vec3 v) {
182   glm_vec3_negate(v);
183 }
184 
185 CGLM_EXPORT
186 void
glmc_vec3_negate_to(vec3 v,vec3 dest)187 glmc_vec3_negate_to(vec3 v, vec3 dest) {
188   glm_vec3_negate_to(v, dest);
189 }
190 
191 CGLM_EXPORT
192 float
glmc_vec3_angle(vec3 a,vec3 b)193 glmc_vec3_angle(vec3 a, vec3 b) {
194   return glm_vec3_angle(a, b);
195 }
196 
197 CGLM_EXPORT
198 void
glmc_vec3_rotate(vec3 v,float angle,vec3 axis)199 glmc_vec3_rotate(vec3 v, float angle, vec3 axis) {
200   glm_vec3_rotate(v, angle, axis);
201 }
202 
203 CGLM_EXPORT
204 void
glmc_vec3_rotate_m4(mat4 m,vec3 v,vec3 dest)205 glmc_vec3_rotate_m4(mat4 m, vec3 v, vec3 dest) {
206   glm_vec3_rotate_m4(m, v, dest);
207 }
208 
209 CGLM_EXPORT
210 void
glmc_vec3_rotate_m3(mat3 m,vec3 v,vec3 dest)211 glmc_vec3_rotate_m3(mat3 m, vec3 v, vec3 dest) {
212   glm_vec3_rotate_m3(m, v, dest);
213 }
214 
215 CGLM_EXPORT
216 void
glmc_vec3_proj(vec3 a,vec3 b,vec3 dest)217 glmc_vec3_proj(vec3 a, vec3 b, vec3 dest) {
218   glm_vec3_proj(a, b, dest);
219 }
220 
221 CGLM_EXPORT
222 void
glmc_vec3_center(vec3 a,vec3 b,vec3 dest)223 glmc_vec3_center(vec3 a, vec3 b, vec3 dest) {
224   glm_vec3_center(a, b, dest);
225 }
226 
227 CGLM_EXPORT
228 float
glmc_vec3_distance(vec3 a,vec3 b)229 glmc_vec3_distance(vec3 a, vec3 b) {
230   return glm_vec3_distance(a, b);
231 }
232 
233 CGLM_EXPORT
234 float
glmc_vec3_distance2(vec3 a,vec3 b)235 glmc_vec3_distance2(vec3 a, vec3 b) {
236   return glm_vec3_distance2(a, b);
237 }
238 
239 CGLM_EXPORT
240 void
glmc_vec3_maxv(vec3 a,vec3 b,vec3 dest)241 glmc_vec3_maxv(vec3 a, vec3 b, vec3 dest) {
242   glm_vec3_maxv(a, b, dest);
243 }
244 
245 CGLM_EXPORT
246 void
glmc_vec3_minv(vec3 a,vec3 b,vec3 dest)247 glmc_vec3_minv(vec3 a, vec3 b, vec3 dest) {
248   glm_vec3_minv(a, b, dest);
249 }
250 
251 CGLM_EXPORT
252 void
glmc_vec3_clamp(vec3 v,float minVal,float maxVal)253 glmc_vec3_clamp(vec3 v, float minVal, float maxVal) {
254   glm_vec3_clamp(v, minVal, maxVal);
255 }
256 
257 CGLM_EXPORT
258 void
glmc_vec3_ortho(vec3 v,vec3 dest)259 glmc_vec3_ortho(vec3 v, vec3 dest) {
260   glm_vec3_ortho(v, dest);
261 }
262 
263 CGLM_EXPORT
264 void
glmc_vec3_lerp(vec3 from,vec3 to,float t,vec3 dest)265 glmc_vec3_lerp(vec3 from, vec3 to, float t, vec3 dest) {
266   glm_vec3_lerp(from, to, t, dest);
267 }
268 
269 CGLM_EXPORT
270 void
glmc_vec3_lerpc(vec3 from,vec3 to,float t,vec3 dest)271 glmc_vec3_lerpc(vec3 from, vec3 to, float t, vec3 dest) {
272   glm_vec3_lerpc(from, to, t, dest);
273 }
274 
275 CGLM_EXPORT
276 void
glmc_vec3_step_uni(float edge,vec3 x,vec3 dest)277 glmc_vec3_step_uni(float edge, vec3 x, vec3 dest) {
278   glm_vec3_step_uni(edge, x, dest);
279 }
280 
281 CGLM_EXPORT
282 void
glmc_vec3_step(vec3 edge,vec3 x,vec3 dest)283 glmc_vec3_step(vec3 edge, vec3 x, vec3 dest) {
284   glm_vec3_step(edge, x, dest);
285 }
286 
287 CGLM_EXPORT
288 void
glmc_vec3_smoothstep_uni(float edge0,float edge1,vec3 x,vec3 dest)289 glmc_vec3_smoothstep_uni(float edge0, float edge1, vec3 x, vec3 dest) {
290   glm_vec3_smoothstep_uni(edge0, edge1, x, dest);
291 }
292 
293 CGLM_EXPORT
294 void
glmc_vec3_smoothstep(vec3 edge0,vec3 edge1,vec3 x,vec3 dest)295 glmc_vec3_smoothstep(vec3 edge0, vec3 edge1, vec3 x, vec3 dest) {
296   glm_vec3_smoothstep(edge0, edge1, x, dest);
297 }
298 
299 CGLM_EXPORT
300 void
glmc_vec3_smoothinterp(vec3 from,vec3 to,float t,vec3 dest)301 glmc_vec3_smoothinterp(vec3 from, vec3 to, float t, vec3 dest) {
302   glm_vec3_smoothinterp(from, to, t, dest);
303 }
304 
305 CGLM_EXPORT
306 void
glmc_vec3_smoothinterpc(vec3 from,vec3 to,float t,vec3 dest)307 glmc_vec3_smoothinterpc(vec3 from, vec3 to, float t, vec3 dest) {
308   glm_vec3_smoothinterpc(from, to, t, dest);
309 }
310 
311 /* ext */
312 
313 CGLM_EXPORT
314 void
glmc_vec3_mulv(vec3 a,vec3 b,vec3 d)315 glmc_vec3_mulv(vec3 a, vec3 b, vec3 d) {
316   glm_vec3_mulv(a, b, d);
317 }
318 
319 CGLM_EXPORT
320 void
glmc_vec3_broadcast(float val,vec3 d)321 glmc_vec3_broadcast(float val, vec3 d) {
322   glm_vec3_broadcast(val, d);
323 }
324 
325 CGLM_EXPORT
326 void
glmc_vec3_fill(vec3 v,float val)327 glmc_vec3_fill(vec3 v, float val) {
328   glm_vec3_fill(v, val);
329 }
330 
331 CGLM_EXPORT
332 bool
glmc_vec3_eq(vec3 v,float val)333 glmc_vec3_eq(vec3 v, float val) {
334   return glm_vec3_eq(v, val);
335 }
336 
337 CGLM_EXPORT
338 bool
glmc_vec3_eq_eps(vec3 v,float val)339 glmc_vec3_eq_eps(vec3 v, float val) {
340   return glm_vec3_eq_eps(v, val);
341 }
342 
343 CGLM_EXPORT
344 bool
glmc_vec3_eq_all(vec3 v)345 glmc_vec3_eq_all(vec3 v) {
346   return glm_vec3_eq_all(v);
347 }
348 
349 CGLM_EXPORT
350 bool
glmc_vec3_eqv(vec3 a,vec3 b)351 glmc_vec3_eqv(vec3 a, vec3 b) {
352   return glm_vec3_eqv(a, b);
353 }
354 
355 CGLM_EXPORT
356 bool
glmc_vec3_eqv_eps(vec3 a,vec3 b)357 glmc_vec3_eqv_eps(vec3 a, vec3 b) {
358   return glm_vec3_eqv_eps(a, b);
359 }
360 
361 CGLM_EXPORT
362 float
glmc_vec3_max(vec3 v)363 glmc_vec3_max(vec3 v) {
364   return glm_vec3_max(v);
365 }
366 
367 CGLM_EXPORT
368 float
glmc_vec3_min(vec3 v)369 glmc_vec3_min(vec3 v) {
370   return glm_vec3_min(v);
371 }
372 
373 CGLM_EXPORT
374 bool
glmc_vec3_isnan(vec3 v)375 glmc_vec3_isnan(vec3 v) {
376   return glm_vec3_isnan(v);
377 }
378 
379 CGLM_EXPORT
380 bool
glmc_vec3_isinf(vec3 v)381 glmc_vec3_isinf(vec3 v) {
382   return glm_vec3_isinf(v);
383 }
384 
385 CGLM_EXPORT
386 bool
glmc_vec3_isvalid(vec3 v)387 glmc_vec3_isvalid(vec3 v) {
388   return glm_vec3_isvalid(v);
389 }
390 
391 CGLM_EXPORT
392 void
glmc_vec3_sign(vec3 v,vec3 dest)393 glmc_vec3_sign(vec3 v, vec3 dest) {
394   glm_vec3_sign(v, dest);
395 }
396 
397 CGLM_EXPORT
398 void
glmc_vec3_abs(vec3 v,vec3 dest)399 glmc_vec3_abs(vec3 v, vec3 dest) {
400   glm_vec3_abs(v, dest);
401 }
402 
403 CGLM_EXPORT
404 void
glmc_vec3_fract(vec3 v,vec3 dest)405 glmc_vec3_fract(vec3 v, vec3 dest) {
406   glm_vec3_fract(v, dest);
407 }
408 
409 CGLM_EXPORT
410 float
glmc_vec3_hadd(vec3 v)411 glmc_vec3_hadd(vec3 v) {
412   return glm_vec3_hadd(v);
413 }
414 
415 CGLM_EXPORT
416 void
glmc_vec3_sqrt(vec3 v,vec3 dest)417 glmc_vec3_sqrt(vec3 v, vec3 dest) {
418   glm_vec3_sqrt(v, dest);
419 }
420