diff options
Diffstat (limited to 'libs/cglm/test/tests.h')
-rw-r--r-- | libs/cglm/test/tests.h | 1672 |
1 files changed, 1672 insertions, 0 deletions
diff --git a/libs/cglm/test/tests.h b/libs/cglm/test/tests.h new file mode 100644 index 0000000..361b485 --- /dev/null +++ b/libs/cglm/test/tests.h @@ -0,0 +1,1672 @@ +/* + * Copyright (c), Recep Aslantas. + * + * MIT License (MIT), http://opensource.org/licenses/MIT + * Full license can be found in the LICENSE file + */ + +#ifndef tests_h +#define tests_h + +#include "include/common.h" + +/* + * To register a test: + * 1. use TEST_DECLARE() to forward declare test + * 2. use TEST_ENTRY() to add test to list + */ + +/* affine mat */ +TEST_DECLARE(glm_mul) +TEST_DECLARE(glm_mul) +TEST_DECLARE(glm_inv_tr) + +TEST_DECLARE(glmc_mul) +TEST_DECLARE(glmc_mul_rot) +TEST_DECLARE(glmc_inv_tr) + +/* affine */ +TEST_DECLARE(glm_translate) +TEST_DECLARE(glm_translate_to) +TEST_DECLARE(glm_translate_x) +TEST_DECLARE(glm_translate_y) +TEST_DECLARE(glm_translate_z) +TEST_DECLARE(glm_translate_make) +TEST_DECLARE(glm_scale_to) +TEST_DECLARE(glm_scale_make) +TEST_DECLARE(glm_scale) +TEST_DECLARE(glm_scale_uni) +TEST_DECLARE(glm_rotate_x) +TEST_DECLARE(glm_rotate_y) +TEST_DECLARE(glm_rotate_z) +TEST_DECLARE(glm_rotate_make) +TEST_DECLARE(glm_rotate) +TEST_DECLARE(glm_rotate_at) +TEST_DECLARE(glm_rotate_atm) +TEST_DECLARE(glm_decompose_scalev) +TEST_DECLARE(glm_uniscaled) +TEST_DECLARE(glm_decompose_rs) +TEST_DECLARE(glm_decompose) + +TEST_DECLARE(glmc_translate) +TEST_DECLARE(glmc_translate_to) +TEST_DECLARE(glmc_translate_x) +TEST_DECLARE(glmc_translate_y) +TEST_DECLARE(glmc_translate_z) +TEST_DECLARE(glmc_translate_make) +TEST_DECLARE(glmc_scale_to) +TEST_DECLARE(glmc_scale_make) +TEST_DECLARE(glmc_scale) +TEST_DECLARE(glmc_scale_uni) +TEST_DECLARE(glmc_rotate_x) +TEST_DECLARE(glmc_rotate_y) +TEST_DECLARE(glmc_rotate_z) +TEST_DECLARE(glmc_rotate_make) +TEST_DECLARE(glmc_rotate) +TEST_DECLARE(glmc_rotate_at) +TEST_DECLARE(glmc_rotate_atm) +TEST_DECLARE(glmc_decompose_scalev) +TEST_DECLARE(glmc_uniscaled) +TEST_DECLARE(glmc_decompose_rs) +TEST_DECLARE(glmc_decompose) + +/* affine 2d */ +TEST_DECLARE(glm_translate2d) +TEST_DECLARE(glm_translate2d_to) +TEST_DECLARE(glm_translate2d_x) +TEST_DECLARE(glm_translate2d_y) +TEST_DECLARE(glm_translate2d_make) +TEST_DECLARE(glm_scale2d_to) +TEST_DECLARE(glm_scale2d_make) +TEST_DECLARE(glm_scale2d) +TEST_DECLARE(glm_scale2d_uni) +TEST_DECLARE(glm_rotate2d_make) +TEST_DECLARE(glm_rotate2d) +TEST_DECLARE(glm_rotate2d_to) + +TEST_DECLARE(glmc_translate2d) +TEST_DECLARE(glmc_translate2d_to) +TEST_DECLARE(glmc_translate2d_x) +TEST_DECLARE(glmc_translate2d_y) +TEST_DECLARE(glmc_translate2d_make) +TEST_DECLARE(glmc_scale2d_to) +TEST_DECLARE(glmc_scale2d_make) +TEST_DECLARE(glmc_scale2d) +TEST_DECLARE(glmc_scale2d_uni) +TEST_DECLARE(glmc_rotate2d_make) +TEST_DECLARE(glmc_rotate2d) +TEST_DECLARE(glmc_rotate2d_to) + +/* mat4 */ +TEST_DECLARE(glm_mat4_ucopy) +TEST_DECLARE(glm_mat4_copy) +TEST_DECLARE(glm_mat4_identity) +TEST_DECLARE(glm_mat4_identity_array) +TEST_DECLARE(glm_mat4_zero) +TEST_DECLARE(glm_mat4_pick3) +TEST_DECLARE(glm_mat4_pick3t) +TEST_DECLARE(glm_mat4_ins3) +TEST_DECLARE(glm_mat4_mul) +TEST_DECLARE(glm_mat4_mulN) +TEST_DECLARE(glm_mat4_mulv) +TEST_DECLARE(glm_mat4_mulv3) +TEST_DECLARE(glm_mat4_trace) +TEST_DECLARE(glm_mat4_trace3) +TEST_DECLARE(glm_mat4_quat) +TEST_DECLARE(glm_mat4_transpose_to) +TEST_DECLARE(glm_mat4_transpose) +TEST_DECLARE(glm_mat4_scale_p) +TEST_DECLARE(glm_mat4_scale) +TEST_DECLARE(glm_mat4_det) +TEST_DECLARE(glm_mat4_inv) +TEST_DECLARE(glm_mat4_inv_fast) +TEST_DECLARE(glm_mat4_inv_precise) +TEST_DECLARE(glm_mat4_swap_col) +TEST_DECLARE(glm_mat4_swap_row) +TEST_DECLARE(glm_mat4_rmc) + +TEST_DECLARE(glmc_mat4_ucopy) +TEST_DECLARE(glmc_mat4_copy) +TEST_DECLARE(glmc_mat4_identity) +TEST_DECLARE(glmc_mat4_identity_array) +TEST_DECLARE(glmc_mat4_zero) +TEST_DECLARE(glmc_mat4_pick3) +TEST_DECLARE(glmc_mat4_pick3t) +TEST_DECLARE(glmc_mat4_ins3) +TEST_DECLARE(glmc_mat4_mul) +TEST_DECLARE(glmc_mat4_mulN) +TEST_DECLARE(glmc_mat4_mulv) +TEST_DECLARE(glmc_mat4_mulv3) +TEST_DECLARE(glmc_mat4_trace) +TEST_DECLARE(glmc_mat4_trace3) +TEST_DECLARE(glmc_mat4_quat) +TEST_DECLARE(glmc_mat4_transpose_to) +TEST_DECLARE(glmc_mat4_transpose) +TEST_DECLARE(glmc_mat4_scale_p) +TEST_DECLARE(glmc_mat4_scale) +TEST_DECLARE(glmc_mat4_det) +TEST_DECLARE(glmc_mat4_inv) +TEST_DECLARE(glmc_mat4_inv_fast) +TEST_DECLARE(glmc_mat4_swap_col) +TEST_DECLARE(glmc_mat4_swap_row) +TEST_DECLARE(glmc_mat4_rmc) + +/* mat3 */ +TEST_DECLARE(glm_mat3_copy) +TEST_DECLARE(glm_mat3_identity) +TEST_DECLARE(glm_mat3_identity_array) +TEST_DECLARE(glm_mat3_zero) +TEST_DECLARE(glm_mat3_mul) +TEST_DECLARE(glm_mat3_mulv) +TEST_DECLARE(glm_mat3_trace) +TEST_DECLARE(glm_mat3_quat) +TEST_DECLARE(glm_mat3_transpose_to) +TEST_DECLARE(glm_mat3_transpose) +TEST_DECLARE(glm_mat3_scale) +TEST_DECLARE(glm_mat3_det) +TEST_DECLARE(glm_mat3_inv) +TEST_DECLARE(glm_mat3_swap_col) +TEST_DECLARE(glm_mat3_swap_row) +TEST_DECLARE(glm_mat3_rmc) + +TEST_DECLARE(glmc_mat3_copy) +TEST_DECLARE(glmc_mat3_identity) +TEST_DECLARE(glmc_mat3_identity_array) +TEST_DECLARE(glmc_mat3_zero) +TEST_DECLARE(glmc_mat3_mul) +TEST_DECLARE(glmc_mat3_mulv) +TEST_DECLARE(glmc_mat3_trace) +TEST_DECLARE(glmc_mat3_quat) +TEST_DECLARE(glmc_mat3_transpose_to) +TEST_DECLARE(glmc_mat3_transpose) +TEST_DECLARE(glmc_mat3_scale) +TEST_DECLARE(glmc_mat3_det) +TEST_DECLARE(glmc_mat3_inv) +TEST_DECLARE(glmc_mat3_swap_col) +TEST_DECLARE(glmc_mat3_swap_row) +TEST_DECLARE(glmc_mat3_rmc) + +TEST_DECLARE(MACRO_GLM_MAT2_IDENTITY_INIT) +TEST_DECLARE(MACRO_GLM_MAT2_ZERO_INIT) +TEST_DECLARE(MACRO_GLM_MAT2_IDENTITY) +TEST_DECLARE(MACRO_GLM_MAT2_ZERO) +TEST_DECLARE(glm_mat2_copy) +TEST_DECLARE(glm_mat2_identity) +TEST_DECLARE(glm_mat2_identity_array) +TEST_DECLARE(glm_mat2_zero) +TEST_DECLARE(glm_mat2_mul) +TEST_DECLARE(glm_mat2_transpose_to) +TEST_DECLARE(glm_mat2_transpose) +TEST_DECLARE(glm_mat2_mulv) +TEST_DECLARE(glm_mat2_trace) +TEST_DECLARE(glm_mat2_scale) +TEST_DECLARE(glm_mat2_det) +TEST_DECLARE(glm_mat2_inv) +TEST_DECLARE(glm_mat2_swap_col) +TEST_DECLARE(glm_mat2_swap_row) +TEST_DECLARE(glm_mat2_rmc) + +TEST_DECLARE(glmc_mat2_copy) +TEST_DECLARE(glmc_mat2_identity) +TEST_DECLARE(glmc_mat2_identity_array) +TEST_DECLARE(glmc_mat2_zero) +TEST_DECLARE(glmc_mat2_mul) +TEST_DECLARE(glmc_mat2_transpose_to) +TEST_DECLARE(glmc_mat2_transpose) +TEST_DECLARE(glmc_mat2_mulv) +TEST_DECLARE(glmc_mat2_trace) +TEST_DECLARE(glmc_mat2_scale) +TEST_DECLARE(glmc_mat2_det) +TEST_DECLARE(glmc_mat2_inv) +TEST_DECLARE(glmc_mat2_swap_col) +TEST_DECLARE(glmc_mat2_swap_row) +TEST_DECLARE(glmc_mat2_rmc) + +/* camera (incl [LR]H cross [NZ]O) */ +TEST_DECLARE(perspective_lh_zo) +TEST_DECLARE(perspective_rh_zo) +TEST_DECLARE(perspective_lh_no) +TEST_DECLARE(perspective_rh_no) +TEST_DECLARE(camera_lookat) +TEST_DECLARE(camera_decomp) + +TEST_DECLARE(glm_frustum) + +TEST_DECLARE(glmc_frustum) + +/* project */ +TEST_DECLARE(glm_unprojecti) +TEST_DECLARE(glm_unproject) +TEST_DECLARE(glm_project) + +TEST_DECLARE(glmc_unprojecti) +TEST_DECLARE(glmc_unproject) +TEST_DECLARE(glmc_project) + +/* plane */ +TEST_DECLARE(glm_plane_normalize) +TEST_DECLARE(glmc_plane_normalize) + +/* utils */ +TEST_DECLARE(clamp) + +/* euler */ +TEST_DECLARE(euler) + +/* ray */ +TEST_DECLARE(glm_ray_triangle) +TEST_DECLARE(glmc_ray_triangle) + +/* quat */ +TEST_DECLARE(MACRO_GLM_QUAT_IDENTITY_INIT) +TEST_DECLARE(MACRO_GLM_QUAT_IDENTITY) + +TEST_DECLARE(glm_quat_identity) +TEST_DECLARE(glm_quat_identity_array) +TEST_DECLARE(glm_quat_init) +TEST_DECLARE(glm_quatv) +TEST_DECLARE(glm_quat) +TEST_DECLARE(glm_quat_copy) +TEST_DECLARE(glm_quat_norm) +TEST_DECLARE(glm_quat_normalize_to) +TEST_DECLARE(glm_quat_normalize) +TEST_DECLARE(glm_quat_dot) +TEST_DECLARE(glm_quat_conjugate) +TEST_DECLARE(glm_quat_inv) +TEST_DECLARE(glm_quat_add) +TEST_DECLARE(glm_quat_sub) +TEST_DECLARE(glm_quat_real) +TEST_DECLARE(glm_quat_imag) +TEST_DECLARE(glm_quat_imagn) +TEST_DECLARE(glm_quat_imaglen) +TEST_DECLARE(glm_quat_angle) +TEST_DECLARE(glm_quat_axis) +TEST_DECLARE(glm_quat_mul) +TEST_DECLARE(glm_quat_mat4) +TEST_DECLARE(glm_quat_mat4t) +TEST_DECLARE(glm_quat_mat3) +TEST_DECLARE(glm_quat_mat3t) +TEST_DECLARE(glm_quat_lerp) +TEST_DECLARE(glm_quat_lerpc) +TEST_DECLARE(glm_quat_nlerp) +TEST_DECLARE(glm_quat_slerp) +TEST_DECLARE(glm_quat_look) +TEST_DECLARE(glm_quat_for) +TEST_DECLARE(glm_quat_forp) +TEST_DECLARE(glm_quat_rotatev) +TEST_DECLARE(glm_quat_rotate) +TEST_DECLARE(glm_quat_rotate_at) +TEST_DECLARE(glm_quat_rotate_atm) +TEST_DECLARE(glm_quat_from_vecs) + +TEST_DECLARE(glmc_quat_identity) +TEST_DECLARE(glmc_quat_identity_array) +TEST_DECLARE(glmc_quat_init) +TEST_DECLARE(glmc_quatv) +TEST_DECLARE(glmc_quat) +TEST_DECLARE(glmc_quat_copy) +TEST_DECLARE(glmc_quat_norm) +TEST_DECLARE(glmc_quat_normalize_to) +TEST_DECLARE(glmc_quat_normalize) +TEST_DECLARE(glmc_quat_dot) +TEST_DECLARE(glmc_quat_conjugate) +TEST_DECLARE(glmc_quat_inv) +TEST_DECLARE(glmc_quat_add) +TEST_DECLARE(glmc_quat_sub) +TEST_DECLARE(glmc_quat_real) +TEST_DECLARE(glmc_quat_imag) +TEST_DECLARE(glmc_quat_imagn) +TEST_DECLARE(glmc_quat_imaglen) +TEST_DECLARE(glmc_quat_angle) +TEST_DECLARE(glmc_quat_axis) +TEST_DECLARE(glmc_quat_mul) +TEST_DECLARE(glmc_quat_mat4) +TEST_DECLARE(glmc_quat_mat4t) +TEST_DECLARE(glmc_quat_mat3) +TEST_DECLARE(glmc_quat_mat3t) +TEST_DECLARE(glmc_quat_lerp) +TEST_DECLARE(glmc_quat_lerpc) +TEST_DECLARE(glmc_quat_nlerp) +TEST_DECLARE(glmc_quat_slerp) +TEST_DECLARE(glmc_quat_look) +TEST_DECLARE(glmc_quat_for) +TEST_DECLARE(glmc_quat_forp) +TEST_DECLARE(glmc_quat_rotatev) +TEST_DECLARE(glmc_quat_rotate) +TEST_DECLARE(glmc_quat_rotate_at) +TEST_DECLARE(glmc_quat_rotate_atm) +TEST_DECLARE(glmc_quat_from_vecs) + +/* bezier */ +TEST_DECLARE(bezier) + +/* vec2 */ +TEST_DECLARE(MACRO_GLM_VEC2_ONE_INIT) +TEST_DECLARE(MACRO_GLM_VEC2_ZERO_INIT) +TEST_DECLARE(MACRO_GLM_VEC2_ONE) +TEST_DECLARE(MACRO_GLM_VEC2_ZERO) + +TEST_DECLARE(glm_vec2) +TEST_DECLARE(glm_vec2_copy) +TEST_DECLARE(glm_vec2_zero) +TEST_DECLARE(glm_vec2_one) +TEST_DECLARE(glm_vec2_dot) +TEST_DECLARE(glm_vec2_cross) +TEST_DECLARE(glm_vec2_norm2) +TEST_DECLARE(glm_vec2_norm) +TEST_DECLARE(glm_vec2_add) +TEST_DECLARE(glm_vec2_adds) +TEST_DECLARE(glm_vec2_sub) +TEST_DECLARE(glm_vec2_subs) +TEST_DECLARE(glm_vec2_mul) +TEST_DECLARE(glm_vec2_scale) +TEST_DECLARE(glm_vec2_scale_as) +TEST_DECLARE(glm_vec2_div) +TEST_DECLARE(glm_vec2_divs) +TEST_DECLARE(glm_vec2_addadd) +TEST_DECLARE(glm_vec2_subadd) +TEST_DECLARE(glm_vec2_muladd) +TEST_DECLARE(glm_vec2_muladds) +TEST_DECLARE(glm_vec2_maxadd) +TEST_DECLARE(glm_vec2_minadd) +TEST_DECLARE(glm_vec2_negate_to) +TEST_DECLARE(glm_vec2_negate) +TEST_DECLARE(glm_vec2_normalize) +TEST_DECLARE(glm_vec2_normalize_to) +TEST_DECLARE(glm_vec2_rotate) +TEST_DECLARE(glm_vec2_distance2) +TEST_DECLARE(glm_vec2_distance) +TEST_DECLARE(glm_vec2_maxv) +TEST_DECLARE(glm_vec2_minv) +TEST_DECLARE(glm_vec2_clamp) +TEST_DECLARE(glm_vec2_lerp) +TEST_DECLARE(glm_vec2_complex_mul) +TEST_DECLARE(glm_vec2_complex_div) + +TEST_DECLARE(glmc_vec2) +TEST_DECLARE(glmc_vec2_copy) +TEST_DECLARE(glmc_vec2_zero) +TEST_DECLARE(glmc_vec2_one) +TEST_DECLARE(glmc_vec2_dot) +TEST_DECLARE(glmc_vec2_cross) +TEST_DECLARE(glmc_vec2_norm2) +TEST_DECLARE(glmc_vec2_norm) +TEST_DECLARE(glmc_vec2_add) +TEST_DECLARE(glmc_vec2_adds) +TEST_DECLARE(glmc_vec2_sub) +TEST_DECLARE(glmc_vec2_subs) +TEST_DECLARE(glmc_vec2_mul) +TEST_DECLARE(glmc_vec2_scale) +TEST_DECLARE(glmc_vec2_scale_as) +TEST_DECLARE(glmc_vec2_div) +TEST_DECLARE(glmc_vec2_divs) +TEST_DECLARE(glmc_vec2_addadd) +TEST_DECLARE(glmc_vec2_subadd) +TEST_DECLARE(glmc_vec2_muladd) +TEST_DECLARE(glmc_vec2_muladds) +TEST_DECLARE(glmc_vec2_maxadd) +TEST_DECLARE(glmc_vec2_minadd) +TEST_DECLARE(glmc_vec2_negate_to) +TEST_DECLARE(glmc_vec2_negate) +TEST_DECLARE(glmc_vec2_normalize) +TEST_DECLARE(glmc_vec2_normalize_to) +TEST_DECLARE(glmc_vec2_rotate) +TEST_DECLARE(glmc_vec2_distance2) +TEST_DECLARE(glmc_vec2_distance) +TEST_DECLARE(glmc_vec2_maxv) +TEST_DECLARE(glmc_vec2_minv) +TEST_DECLARE(glmc_vec2_clamp) +TEST_DECLARE(glmc_vec2_lerp) +TEST_DECLARE(glmc_vec2_complex_mul) +TEST_DECLARE(glmc_vec2_complex_div) + +/* vec3 */ +TEST_DECLARE(MACRO_GLM_VEC3_ONE_INIT) +TEST_DECLARE(MACRO_GLM_VEC3_ZERO_INIT) +TEST_DECLARE(MACRO_GLM_VEC3_ONE) +TEST_DECLARE(MACRO_GLM_VEC3_ZERO) +TEST_DECLARE(MACRO_GLM_YUP) +TEST_DECLARE(MACRO_GLM_ZUP) +TEST_DECLARE(MACRO_GLM_XUP) +TEST_DECLARE(MACRO_GLM_FORWARD_RH) +TEST_DECLARE(MACRO_GLM_SHUFFLE3) +TEST_DECLARE(MACRO_GLM_XXX) +TEST_DECLARE(MACRO_GLM_YYY) +TEST_DECLARE(MACRO_GLM_ZZZ) +TEST_DECLARE(MACRO_GLM_ZYX) + +TEST_DECLARE(MACRO_glm_vec3_dup) +TEST_DECLARE(MACRO_glm_vec3_flipsign) +TEST_DECLARE(MACRO_glm_vec3_flipsign_to) +TEST_DECLARE(MACRO_glm_vec3_inv) +TEST_DECLARE(MACRO_glm_vec3_inv_to) +TEST_DECLARE(MACRO_glm_vec3_mulv) + +TEST_DECLARE(glm_vec3) +TEST_DECLARE(glm_vec3_copy) +TEST_DECLARE(glm_vec3_zero) +TEST_DECLARE(glm_vec3_one) +TEST_DECLARE(glm_vec3_dot) +TEST_DECLARE(glm_dot) +TEST_DECLARE(glm_vec3_norm2) +TEST_DECLARE(glm_vec3_norm) +TEST_DECLARE(glm_vec3_norm_one) +TEST_DECLARE(glm_vec3_norm_inf) +TEST_DECLARE(glm_vec3_add) +TEST_DECLARE(glm_vec3_adds) +TEST_DECLARE(glm_vec3_sub) +TEST_DECLARE(glm_vec3_subs) +TEST_DECLARE(glm_vec3_mul) +TEST_DECLARE(glm_vec3_scale) +TEST_DECLARE(glm_vec3_scale_as) +TEST_DECLARE(glm_vec3_div) +TEST_DECLARE(glm_vec3_divs) +TEST_DECLARE(glm_vec3_addadd) +TEST_DECLARE(glm_vec3_subadd) +TEST_DECLARE(glm_vec3_muladd) +TEST_DECLARE(glm_vec3_muladds) +TEST_DECLARE(glm_vec3_maxadd) +TEST_DECLARE(glm_vec3_minadd) +TEST_DECLARE(glm_vec3_negate_to) +TEST_DECLARE(glm_vec3_negate) +TEST_DECLARE(glm_vec3_normalize) +TEST_DECLARE(glm_vec3_normalize_to) +TEST_DECLARE(glm_normalize) +TEST_DECLARE(glm_normalize_to) +TEST_DECLARE(glm_vec3_cross) +TEST_DECLARE(glm_vec3_crossn) +TEST_DECLARE(glm_cross) +TEST_DECLARE(glm_vec3_angle) +TEST_DECLARE(glm_vec3_rotate) +TEST_DECLARE(glm_vec3_rotate_m4) +TEST_DECLARE(glm_vec3_rotate_m3) +TEST_DECLARE(glm_vec3_proj) +TEST_DECLARE(glm_vec3_center) +TEST_DECLARE(glm_vec3_distance2) +TEST_DECLARE(glm_vec3_distance) +TEST_DECLARE(glm_vec3_maxv) +TEST_DECLARE(glm_vec3_minv) +TEST_DECLARE(glm_vec3_ortho) +TEST_DECLARE(glm_vec3_clamp) +TEST_DECLARE(glm_vec3_mix) +TEST_DECLARE(glm_vec3_mixc) +TEST_DECLARE(glm_vec3_step_uni) +TEST_DECLARE(glm_vec3_step) +TEST_DECLARE(glm_vec3_smoothstep_uni) +TEST_DECLARE(glm_vec3_smoothstep) +TEST_DECLARE(glm_vec3_smoothinterp) +TEST_DECLARE(glm_vec3_smoothinterpc) +TEST_DECLARE(glm_vec3_swizzle) +TEST_DECLARE(glm_vec3_broadcast) +TEST_DECLARE(glm_vec3_fill) +TEST_DECLARE(glm_vec3_eq) +TEST_DECLARE(glm_vec3_eq_eps) +TEST_DECLARE(glm_vec3_eq_all) +TEST_DECLARE(glm_vec3_eqv) +TEST_DECLARE(glm_vec3_eqv_eps) +TEST_DECLARE(glm_vec3_max) +TEST_DECLARE(glm_vec3_min) +TEST_DECLARE(glm_vec3_isnan) +TEST_DECLARE(glm_vec3_isinf) +TEST_DECLARE(glm_vec3_isvalid) +TEST_DECLARE(glm_vec3_sign) +TEST_DECLARE(glm_vec3_abs) +TEST_DECLARE(glm_vec3_fract) +TEST_DECLARE(glm_vec3_hadd) +TEST_DECLARE(glm_vec3_sqrt) + +TEST_DECLARE(glmc_vec3) +TEST_DECLARE(glmc_vec3_copy) +TEST_DECLARE(glmc_vec3_zero) +TEST_DECLARE(glmc_vec3_one) +TEST_DECLARE(glmc_vec3_dot) +TEST_DECLARE(glmc_vec3_norm2) +TEST_DECLARE(glmc_vec3_norm) +TEST_DECLARE(glmc_vec3_norm_one) +TEST_DECLARE(glmc_vec3_norm_inf) +TEST_DECLARE(glmc_vec3_add) +TEST_DECLARE(glmc_vec3_adds) +TEST_DECLARE(glmc_vec3_sub) +TEST_DECLARE(glmc_vec3_subs) +TEST_DECLARE(glmc_vec3_mul) +TEST_DECLARE(glmc_vec3_scale) +TEST_DECLARE(glmc_vec3_scale_as) +TEST_DECLARE(glmc_vec3_div) +TEST_DECLARE(glmc_vec3_divs) +TEST_DECLARE(glmc_vec3_addadd) +TEST_DECLARE(glmc_vec3_subadd) +TEST_DECLARE(glmc_vec3_muladd) +TEST_DECLARE(glmc_vec3_muladds) +TEST_DECLARE(glmc_vec3_maxadd) +TEST_DECLARE(glmc_vec3_minadd) +TEST_DECLARE(glmc_vec3_negate_to) +TEST_DECLARE(glmc_vec3_negate) +TEST_DECLARE(glmc_vec3_normalize) +TEST_DECLARE(glmc_vec3_normalize_to) +TEST_DECLARE(glmc_vec3_cross) +TEST_DECLARE(glmc_vec3_crossn) +TEST_DECLARE(glmc_vec3_angle) +TEST_DECLARE(glmc_vec3_rotate) +TEST_DECLARE(glmc_vec3_rotate_m4) +TEST_DECLARE(glmc_vec3_rotate_m3) +TEST_DECLARE(glmc_vec3_proj) +TEST_DECLARE(glmc_vec3_center) +TEST_DECLARE(glmc_vec3_distance2) +TEST_DECLARE(glmc_vec3_distance) +TEST_DECLARE(glmc_vec3_maxv) +TEST_DECLARE(glmc_vec3_minv) +TEST_DECLARE(glmc_vec3_ortho) +TEST_DECLARE(glmc_vec3_clamp) +TEST_DECLARE(glmc_vec3_mix) +TEST_DECLARE(glmc_vec3_mixc) +TEST_DECLARE(glmc_vec3_step_uni) +TEST_DECLARE(glmc_vec3_step) +TEST_DECLARE(glmc_vec3_smoothstep_uni) +TEST_DECLARE(glmc_vec3_smoothstep) +TEST_DECLARE(glmc_vec3_smoothinterp) +TEST_DECLARE(glmc_vec3_smoothinterpc) +TEST_DECLARE(glmc_vec3_swizzle) +TEST_DECLARE(glmc_vec3_broadcast) +TEST_DECLARE(glmc_vec3_fill) +TEST_DECLARE(glmc_vec3_eq) +TEST_DECLARE(glmc_vec3_eq_eps) +TEST_DECLARE(glmc_vec3_eq_all) +TEST_DECLARE(glmc_vec3_eqv) +TEST_DECLARE(glmc_vec3_eqv_eps) +TEST_DECLARE(glmc_vec3_max) +TEST_DECLARE(glmc_vec3_min) +TEST_DECLARE(glmc_vec3_isnan) +TEST_DECLARE(glmc_vec3_isinf) +TEST_DECLARE(glmc_vec3_isvalid) +TEST_DECLARE(glmc_vec3_sign) +TEST_DECLARE(glmc_vec3_abs) +TEST_DECLARE(glmc_vec3_fract) +TEST_DECLARE(glmc_vec3_hadd) +TEST_DECLARE(glmc_vec3_sqrt) + +/* vec4 */ +TEST_DECLARE(MACRO_GLM_VEC4_ONE_INIT) +TEST_DECLARE(MACRO_GLM_VEC4_ZERO_INIT) +TEST_DECLARE(MACRO_GLM_VEC4_ONE) +TEST_DECLARE(MACRO_GLM_VEC4_ZERO) +TEST_DECLARE(MACRO_GLM_XXXX) +TEST_DECLARE(MACRO_GLM_YYYY) +TEST_DECLARE(MACRO_GLM_ZZZZ) +TEST_DECLARE(MACRO_GLM_WZYX) +TEST_DECLARE(MACRO_glm_vec4_dup) +TEST_DECLARE(MACRO_glm_vec4_flipsign) +TEST_DECLARE(MACRO_glm_vec4_flipsign_to) +TEST_DECLARE(MACRO_glm_vec4_inv) +TEST_DECLARE(MACRO_glm_vec4_inv_to) +TEST_DECLARE(MACRO_glm_vec4_mulv) + +TEST_DECLARE(glm_vec4) +TEST_DECLARE(glm_vec4_copy3) +TEST_DECLARE(glm_vec4_copy) +TEST_DECLARE(glm_vec4_ucopy) +TEST_DECLARE(glm_vec4_zero) +TEST_DECLARE(glm_vec4_one) +TEST_DECLARE(glm_vec4_dot) +TEST_DECLARE(glm_vec4_norm2) +TEST_DECLARE(glm_vec4_norm) +TEST_DECLARE(glm_vec4_norm_one) +TEST_DECLARE(glm_vec4_norm_inf) +TEST_DECLARE(glm_vec4_add) +TEST_DECLARE(glm_vec4_adds) +TEST_DECLARE(glm_vec4_sub) +TEST_DECLARE(glm_vec4_subs) +TEST_DECLARE(glm_vec4_mul) +TEST_DECLARE(glm_vec4_scale) +TEST_DECLARE(glm_vec4_scale_as) +TEST_DECLARE(glm_vec4_div) +TEST_DECLARE(glm_vec4_divs) +TEST_DECLARE(glm_vec4_addadd) +TEST_DECLARE(glm_vec4_subadd) +TEST_DECLARE(glm_vec4_muladd) +TEST_DECLARE(glm_vec4_muladds) +TEST_DECLARE(glm_vec4_maxadd) +TEST_DECLARE(glm_vec4_minadd) +TEST_DECLARE(glm_vec4_negate_to) +TEST_DECLARE(glm_vec4_negate) +TEST_DECLARE(glm_vec4_normalize) +TEST_DECLARE(glm_vec4_normalize_to) +TEST_DECLARE(glm_vec4_distance2) +TEST_DECLARE(glm_vec4_distance) +TEST_DECLARE(glm_vec4_maxv) +TEST_DECLARE(glm_vec4_minv) +TEST_DECLARE(glm_vec4_clamp) +TEST_DECLARE(glm_vec4_lerp) +TEST_DECLARE(glm_vec4_lerpc) +TEST_DECLARE(glm_vec4_mix) +TEST_DECLARE(glm_vec4_mixc) +TEST_DECLARE(glm_vec4_step_uni) +TEST_DECLARE(glm_vec4_step) +TEST_DECLARE(glm_vec4_smoothstep_uni) +TEST_DECLARE(glm_vec4_smoothstep) +TEST_DECLARE(glm_vec4_smoothinterp) +TEST_DECLARE(glm_vec4_smoothinterpc) +TEST_DECLARE(glm_vec4_cubic) +TEST_DECLARE(glm_vec4_swizzle) +TEST_DECLARE(glm_vec4_broadcast) +TEST_DECLARE(glm_vec4_fill) +TEST_DECLARE(glm_vec4_eq) +TEST_DECLARE(glm_vec4_eq_eps) +TEST_DECLARE(glm_vec4_eq_all) +TEST_DECLARE(glm_vec4_eqv) +TEST_DECLARE(glm_vec4_eqv_eps) +TEST_DECLARE(glm_vec4_max) +TEST_DECLARE(glm_vec4_min) +TEST_DECLARE(glm_vec4_isnan) +TEST_DECLARE(glm_vec4_isinf) +TEST_DECLARE(glm_vec4_isvalid) +TEST_DECLARE(glm_vec4_sign) +TEST_DECLARE(glm_vec4_abs) +TEST_DECLARE(glm_vec4_fract) +TEST_DECLARE(glm_vec4_hadd) +TEST_DECLARE(glm_vec4_sqrt) + +TEST_DECLARE(glmc_vec4) +TEST_DECLARE(glmc_vec4_copy3) +TEST_DECLARE(glmc_vec4_copy) +TEST_DECLARE(glmc_vec4_ucopy) +TEST_DECLARE(glmc_vec4_zero) +TEST_DECLARE(glmc_vec4_one) +TEST_DECLARE(glmc_vec4_dot) +TEST_DECLARE(glmc_vec4_norm2) +TEST_DECLARE(glmc_vec4_norm) +TEST_DECLARE(glmc_vec4_norm_one) +TEST_DECLARE(glmc_vec4_norm_inf) +TEST_DECLARE(glmc_vec4_add) +TEST_DECLARE(glmc_vec4_adds) +TEST_DECLARE(glmc_vec4_sub) +TEST_DECLARE(glmc_vec4_subs) +TEST_DECLARE(glmc_vec4_mul) +TEST_DECLARE(glmc_vec4_scale) +TEST_DECLARE(glmc_vec4_scale_as) +TEST_DECLARE(glmc_vec4_div) +TEST_DECLARE(glmc_vec4_divs) +TEST_DECLARE(glmc_vec4_addadd) +TEST_DECLARE(glmc_vec4_subadd) +TEST_DECLARE(glmc_vec4_muladd) +TEST_DECLARE(glmc_vec4_muladds) +TEST_DECLARE(glmc_vec4_maxadd) +TEST_DECLARE(glmc_vec4_minadd) +TEST_DECLARE(glmc_vec4_negate_to) +TEST_DECLARE(glmc_vec4_negate) +TEST_DECLARE(glmc_vec4_normalize) +TEST_DECLARE(glmc_vec4_normalize_to) +TEST_DECLARE(glmc_vec4_distance2) +TEST_DECLARE(glmc_vec4_distance) +TEST_DECLARE(glmc_vec4_maxv) +TEST_DECLARE(glmc_vec4_minv) +TEST_DECLARE(glmc_vec4_clamp) +TEST_DECLARE(glmc_vec4_lerp) +TEST_DECLARE(glmc_vec4_lerpc) +TEST_DECLARE(glmc_vec4_mix) +TEST_DECLARE(glmc_vec4_mixc) +TEST_DECLARE(glmc_vec4_step_uni) +TEST_DECLARE(glmc_vec4_step) +TEST_DECLARE(glmc_vec4_smoothstep_uni) +TEST_DECLARE(glmc_vec4_smoothstep) +TEST_DECLARE(glmc_vec4_smoothinterp) +TEST_DECLARE(glmc_vec4_smoothinterpc) +TEST_DECLARE(glmc_vec4_cubic) +TEST_DECLARE(glmc_vec4_swizzle) +TEST_DECLARE(glmc_vec4_broadcast) +TEST_DECLARE(glmc_vec4_fill) +TEST_DECLARE(glmc_vec4_eq) +TEST_DECLARE(glmc_vec4_eq_eps) +TEST_DECLARE(glmc_vec4_eq_all) +TEST_DECLARE(glmc_vec4_eqv) +TEST_DECLARE(glmc_vec4_eqv_eps) +TEST_DECLARE(glmc_vec4_max) +TEST_DECLARE(glmc_vec4_min) +TEST_DECLARE(glmc_vec4_isnan) +TEST_DECLARE(glmc_vec4_isinf) +TEST_DECLARE(glmc_vec4_isvalid) +TEST_DECLARE(glmc_vec4_sign) +TEST_DECLARE(glmc_vec4_abs) +TEST_DECLARE(glmc_vec4_fract) +TEST_DECLARE(glmc_vec4_hadd) +TEST_DECLARE(glmc_vec4_sqrt) + +/* ivec2 */ +TEST_DECLARE(glm_ivec2) +TEST_DECLARE(glm_ivec2_copy) +TEST_DECLARE(glm_ivec2_zero) +TEST_DECLARE(glm_ivec2_one) +TEST_DECLARE(glm_ivec2_add) +TEST_DECLARE(glm_ivec2_adds) +TEST_DECLARE(glm_ivec2_sub) +TEST_DECLARE(glm_ivec2_subs) +TEST_DECLARE(glm_ivec2_mul) +TEST_DECLARE(glm_ivec2_scale) +TEST_DECLARE(glm_ivec2_distance2) +TEST_DECLARE(glm_ivec2_distance) +TEST_DECLARE(glm_ivec2_maxv) +TEST_DECLARE(glm_ivec2_minv) +TEST_DECLARE(glm_ivec2_clamp) + +TEST_DECLARE(glmc_ivec2) +TEST_DECLARE(glmc_ivec2_copy) +TEST_DECLARE(glmc_ivec2_zero) +TEST_DECLARE(glmc_ivec2_one) +TEST_DECLARE(glmc_ivec2_add) +TEST_DECLARE(glmc_ivec2_adds) +TEST_DECLARE(glmc_ivec2_sub) +TEST_DECLARE(glmc_ivec2_subs) +TEST_DECLARE(glmc_ivec2_mul) +TEST_DECLARE(glmc_ivec2_scale) +TEST_DECLARE(glmc_ivec2_distance2) +TEST_DECLARE(glmc_ivec2_distance) +TEST_DECLARE(glmc_ivec2_maxv) +TEST_DECLARE(glmc_ivec2_minv) +TEST_DECLARE(glmc_ivec2_clamp) + +/* ivec3 */ +TEST_DECLARE(glm_ivec3) +TEST_DECLARE(glm_ivec3_copy) +TEST_DECLARE(glm_ivec3_zero) +TEST_DECLARE(glm_ivec3_one) +TEST_DECLARE(glm_ivec3_add) +TEST_DECLARE(glm_ivec3_adds) +TEST_DECLARE(glm_ivec3_sub) +TEST_DECLARE(glm_ivec3_subs) +TEST_DECLARE(glm_ivec3_mul) +TEST_DECLARE(glm_ivec3_scale) +TEST_DECLARE(glm_ivec3_distance2) +TEST_DECLARE(glm_ivec3_distance) +TEST_DECLARE(glm_ivec3_maxv) +TEST_DECLARE(glm_ivec3_minv) +TEST_DECLARE(glm_ivec3_clamp) + +TEST_DECLARE(glmc_ivec3) +TEST_DECLARE(glmc_ivec3_copy) +TEST_DECLARE(glmc_ivec3_zero) +TEST_DECLARE(glmc_ivec3_one) +TEST_DECLARE(glmc_ivec3_add) +TEST_DECLARE(glmc_ivec3_adds) +TEST_DECLARE(glmc_ivec3_sub) +TEST_DECLARE(glmc_ivec3_subs) +TEST_DECLARE(glmc_ivec3_mul) +TEST_DECLARE(glmc_ivec3_scale) +TEST_DECLARE(glmc_ivec3_distance2) +TEST_DECLARE(glmc_ivec3_distance) +TEST_DECLARE(glmc_ivec3_maxv) +TEST_DECLARE(glmc_ivec3_minv) +TEST_DECLARE(glmc_ivec3_clamp) + +/* ivec4 */ +TEST_DECLARE(glm_ivec4) +TEST_DECLARE(glm_ivec4_copy) +TEST_DECLARE(glm_ivec4_zero) +TEST_DECLARE(glm_ivec4_one) +TEST_DECLARE(glm_ivec4_add) +TEST_DECLARE(glm_ivec4_adds) +TEST_DECLARE(glm_ivec4_sub) +TEST_DECLARE(glm_ivec4_subs) +TEST_DECLARE(glm_ivec4_mul) +TEST_DECLARE(glm_ivec4_scale) +TEST_DECLARE(glm_ivec4_distance2) +TEST_DECLARE(glm_ivec4_distance) +TEST_DECLARE(glm_ivec4_maxv) +TEST_DECLARE(glm_ivec4_minv) +TEST_DECLARE(glm_ivec4_clamp) + +TEST_DECLARE(glmc_ivec4) +TEST_DECLARE(glmc_ivec4_copy) +TEST_DECLARE(glmc_ivec4_zero) +TEST_DECLARE(glmc_ivec4_one) +TEST_DECLARE(glmc_ivec4_add) +TEST_DECLARE(glmc_ivec4_adds) +TEST_DECLARE(glmc_ivec4_sub) +TEST_DECLARE(glmc_ivec4_subs) +TEST_DECLARE(glmc_ivec4_mul) +TEST_DECLARE(glmc_ivec4_scale) +TEST_DECLARE(glmc_ivec4_distance2) +TEST_DECLARE(glmc_ivec4_distance) +TEST_DECLARE(glmc_ivec4_maxv) +TEST_DECLARE(glmc_ivec4_minv) +TEST_DECLARE(glmc_ivec4_clamp) + +/* structs */ +TEST_DECLARE(mat3s_identity_init) +TEST_DECLARE(mat3s_zero_init) +TEST_DECLARE(mat4s_identity_init) +TEST_DECLARE(mat4s_zero_init) +TEST_DECLARE(quats_zero_init) +TEST_DECLARE(vec3s_one_init) +TEST_DECLARE(vec3s_zero_init) +TEST_DECLARE(vec4s_black_init) +TEST_DECLARE(vec4s_one_init) +TEST_DECLARE(vec4s_zero_init) + +/*****************************************************************************/ + +TEST_LIST { + /* affine mat */ + TEST_ENTRY(glm_mul) + TEST_ENTRY(glm_mul) + TEST_ENTRY(glm_inv_tr) + + TEST_ENTRY(glmc_mul) + TEST_ENTRY(glmc_mul_rot) + TEST_ENTRY(glmc_inv_tr) + + /* affine */ + TEST_ENTRY(glm_translate) + TEST_ENTRY(glm_translate_to) + TEST_ENTRY(glm_translate_x) + TEST_ENTRY(glm_translate_y) + TEST_ENTRY(glm_translate_z) + TEST_ENTRY(glm_translate_make) + TEST_ENTRY(glm_scale_to) + TEST_ENTRY(glm_scale_make) + TEST_ENTRY(glm_scale) + TEST_ENTRY(glm_scale_uni) + TEST_ENTRY(glm_rotate_x) + TEST_ENTRY(glm_rotate_y) + TEST_ENTRY(glm_rotate_z) + TEST_ENTRY(glm_rotate_make) + TEST_ENTRY(glm_rotate) + TEST_ENTRY(glm_rotate_at) + TEST_ENTRY(glm_rotate_atm) + TEST_ENTRY(glm_decompose_scalev) + TEST_ENTRY(glm_uniscaled) + TEST_ENTRY(glm_decompose_rs) + TEST_ENTRY(glm_decompose) + + TEST_ENTRY(glmc_translate) + TEST_ENTRY(glmc_translate_to) + TEST_ENTRY(glmc_translate_x) + TEST_ENTRY(glmc_translate_y) + TEST_ENTRY(glmc_translate_z) + TEST_ENTRY(glmc_translate_make) + TEST_ENTRY(glmc_scale_to) + TEST_ENTRY(glmc_scale_make) + TEST_ENTRY(glmc_scale) + TEST_ENTRY(glmc_scale_uni) + TEST_ENTRY(glmc_rotate_x) + TEST_ENTRY(glmc_rotate_y) + TEST_ENTRY(glmc_rotate_z) + TEST_ENTRY(glmc_rotate_make) + TEST_ENTRY(glmc_rotate) + TEST_ENTRY(glmc_rotate_at) + TEST_ENTRY(glmc_rotate_atm) + TEST_ENTRY(glmc_decompose_scalev) + TEST_ENTRY(glmc_uniscaled) + TEST_ENTRY(glmc_decompose_rs) + TEST_ENTRY(glmc_decompose) + + /* affine 2d */ + TEST_ENTRY(glm_translate2d) + TEST_ENTRY(glm_translate2d_to) + TEST_ENTRY(glm_translate2d_x) + TEST_ENTRY(glm_translate2d_y) + TEST_ENTRY(glm_translate2d_make) + TEST_ENTRY(glm_scale2d_to) + TEST_ENTRY(glm_scale2d_make) + TEST_ENTRY(glm_scale2d) + TEST_ENTRY(glm_scale2d_uni) + TEST_ENTRY(glm_rotate2d_make) + TEST_ENTRY(glm_rotate2d) + TEST_ENTRY(glm_rotate2d_to) + + TEST_ENTRY(glmc_translate2d) + TEST_ENTRY(glmc_translate2d_to) + TEST_ENTRY(glmc_translate2d_x) + TEST_ENTRY(glmc_translate2d_y) + TEST_ENTRY(glmc_translate2d_make) + TEST_ENTRY(glmc_scale2d_to) + TEST_ENTRY(glmc_scale2d_make) + TEST_ENTRY(glmc_scale2d) + TEST_ENTRY(glmc_scale2d_uni) + TEST_ENTRY(glmc_rotate2d_make) + TEST_ENTRY(glmc_rotate2d) + TEST_ENTRY(glmc_rotate2d_to) + + /* mat4 */ + TEST_ENTRY(glm_mat4_ucopy) + TEST_ENTRY(glm_mat4_copy) + TEST_ENTRY(glm_mat4_identity) + TEST_ENTRY(glm_mat4_identity_array) + TEST_ENTRY(glm_mat4_zero) + TEST_ENTRY(glm_mat4_pick3) + TEST_ENTRY(glm_mat4_pick3t) + TEST_ENTRY(glm_mat4_ins3) + TEST_ENTRY(glm_mat4_mul) + TEST_ENTRY(glm_mat4_mulN) + TEST_ENTRY(glm_mat4_mulv) + TEST_ENTRY(glm_mat4_mulv3) + TEST_ENTRY(glm_mat4_trace) + TEST_ENTRY(glm_mat4_trace3) + TEST_ENTRY(glm_mat4_quat) + TEST_ENTRY(glm_mat4_transpose_to) + TEST_ENTRY(glm_mat4_transpose) + TEST_ENTRY(glm_mat4_scale_p) + TEST_ENTRY(glm_mat4_scale) + TEST_ENTRY(glm_mat4_det) + TEST_ENTRY(glm_mat4_inv) + TEST_ENTRY(glm_mat4_inv_fast) + TEST_ENTRY(glm_mat4_inv_precise) + TEST_ENTRY(glm_mat4_swap_col) + TEST_ENTRY(glm_mat4_swap_row) + TEST_ENTRY(glm_mat4_rmc) + + TEST_ENTRY(glmc_mat4_ucopy) + TEST_ENTRY(glmc_mat4_copy) + TEST_ENTRY(glmc_mat4_identity) + TEST_ENTRY(glmc_mat4_identity_array) + TEST_ENTRY(glmc_mat4_zero) + TEST_ENTRY(glmc_mat4_pick3) + TEST_ENTRY(glmc_mat4_pick3t) + TEST_ENTRY(glmc_mat4_ins3) + TEST_ENTRY(glmc_mat4_mul) + TEST_ENTRY(glmc_mat4_mulN) + TEST_ENTRY(glmc_mat4_mulv) + TEST_ENTRY(glmc_mat4_mulv3) + TEST_ENTRY(glmc_mat4_trace) + TEST_ENTRY(glmc_mat4_trace3) + TEST_ENTRY(glmc_mat4_quat) + TEST_ENTRY(glmc_mat4_transpose_to) + TEST_ENTRY(glmc_mat4_transpose) + TEST_ENTRY(glmc_mat4_scale_p) + TEST_ENTRY(glmc_mat4_scale) + TEST_ENTRY(glmc_mat4_det) + TEST_ENTRY(glmc_mat4_inv) + TEST_ENTRY(glmc_mat4_inv_fast) + TEST_ENTRY(glmc_mat4_swap_col) + TEST_ENTRY(glmc_mat4_swap_row) + TEST_ENTRY(glmc_mat4_rmc) + + /* mat3 */ + TEST_ENTRY(glm_mat3_copy) + TEST_ENTRY(glm_mat3_identity) + TEST_ENTRY(glm_mat3_identity_array) + TEST_ENTRY(glm_mat3_zero) + TEST_ENTRY(glm_mat3_mul) + TEST_ENTRY(glm_mat3_mulv) + TEST_ENTRY(glm_mat3_trace) + TEST_ENTRY(glm_mat3_quat) + TEST_ENTRY(glm_mat3_transpose_to) + TEST_ENTRY(glm_mat3_transpose) + TEST_ENTRY(glm_mat3_scale) + TEST_ENTRY(glm_mat3_det) + TEST_ENTRY(glm_mat3_inv) + TEST_ENTRY(glm_mat3_swap_col) + TEST_ENTRY(glm_mat3_swap_row) + TEST_ENTRY(glm_mat3_rmc) + + TEST_ENTRY(glmc_mat3_copy) + TEST_ENTRY(glmc_mat3_identity) + TEST_ENTRY(glmc_mat3_identity_array) + TEST_ENTRY(glmc_mat3_zero) + TEST_ENTRY(glmc_mat3_mul) + TEST_ENTRY(glmc_mat3_mulv) + TEST_ENTRY(glmc_mat3_trace) + TEST_ENTRY(glmc_mat3_quat) + TEST_ENTRY(glmc_mat3_transpose_to) + TEST_ENTRY(glmc_mat3_transpose) + TEST_ENTRY(glmc_mat3_scale) + TEST_ENTRY(glmc_mat3_det) + TEST_ENTRY(glmc_mat3_inv) + TEST_ENTRY(glmc_mat3_swap_col) + TEST_ENTRY(glmc_mat3_swap_row) + TEST_ENTRY(glmc_mat3_rmc) + + TEST_ENTRY(MACRO_GLM_MAT2_IDENTITY_INIT) + TEST_ENTRY(MACRO_GLM_MAT2_ZERO_INIT) + TEST_ENTRY(MACRO_GLM_MAT2_IDENTITY) + TEST_ENTRY(MACRO_GLM_MAT2_ZERO) + TEST_ENTRY(glm_mat2_copy) + TEST_ENTRY(glm_mat2_identity) + TEST_ENTRY(glm_mat2_identity_array) + TEST_ENTRY(glm_mat2_zero) + TEST_ENTRY(glm_mat2_mul) + TEST_ENTRY(glm_mat2_transpose_to) + TEST_ENTRY(glm_mat2_transpose) + TEST_ENTRY(glm_mat2_mulv) + TEST_ENTRY(glm_mat2_trace) + TEST_ENTRY(glm_mat2_scale) + TEST_ENTRY(glm_mat2_det) + TEST_ENTRY(glm_mat2_inv) + TEST_ENTRY(glm_mat2_swap_col) + TEST_ENTRY(glm_mat2_swap_row) + TEST_ENTRY(glm_mat2_rmc) + + TEST_ENTRY(glmc_mat2_copy) + TEST_ENTRY(glmc_mat2_identity) + TEST_ENTRY(glmc_mat2_identity_array) + TEST_ENTRY(glmc_mat2_zero) + TEST_ENTRY(glmc_mat2_mul) + TEST_ENTRY(glmc_mat2_transpose_to) + TEST_ENTRY(glmc_mat2_transpose) + TEST_ENTRY(glmc_mat2_mulv) + TEST_ENTRY(glmc_mat2_trace) + TEST_ENTRY(glmc_mat2_scale) + TEST_ENTRY(glmc_mat2_det) + TEST_ENTRY(glmc_mat2_inv) + TEST_ENTRY(glmc_mat2_swap_col) + TEST_ENTRY(glmc_mat2_swap_row) + TEST_ENTRY(glmc_mat2_rmc) + + /* camera (incl [LR]H cross [NZ]O) */ + TEST_ENTRY(perspective_lh_zo) + TEST_ENTRY(perspective_rh_zo) + TEST_ENTRY(perspective_lh_no) + TEST_ENTRY(perspective_rh_no) + TEST_ENTRY(camera_lookat) + TEST_ENTRY(camera_decomp) + + TEST_ENTRY(glm_frustum) + + TEST_ENTRY(glmc_frustum) + + /* project */ + TEST_ENTRY(glm_unprojecti) + TEST_ENTRY(glm_unproject) + TEST_ENTRY(glm_project) + + TEST_ENTRY(glmc_unprojecti) + TEST_ENTRY(glmc_unproject) + TEST_ENTRY(glmc_project) + + /* plane */ + TEST_ENTRY(glm_plane_normalize) + TEST_ENTRY(glmc_plane_normalize) + + /* utils */ + TEST_ENTRY(clamp) + + /* euler */ + TEST_ENTRY(euler) + + /* ray */ + TEST_ENTRY(glm_ray_triangle) + TEST_ENTRY(glmc_ray_triangle) + + /* quat */ + TEST_ENTRY(MACRO_GLM_QUAT_IDENTITY_INIT) + TEST_ENTRY(MACRO_GLM_QUAT_IDENTITY) + + TEST_ENTRY(glm_quat_identity) + TEST_ENTRY(glm_quat_identity_array) + TEST_ENTRY(glm_quat_init) + TEST_ENTRY(glm_quatv) + TEST_ENTRY(glm_quat) + TEST_ENTRY(glm_quat_copy) + TEST_ENTRY(glm_quat_norm) + TEST_ENTRY(glm_quat_normalize_to) + TEST_ENTRY(glm_quat_normalize) + TEST_ENTRY(glm_quat_dot) + TEST_ENTRY(glm_quat_conjugate) + TEST_ENTRY(glm_quat_inv) + TEST_ENTRY(glm_quat_add) + TEST_ENTRY(glm_quat_sub) + TEST_ENTRY(glm_quat_real) + TEST_ENTRY(glm_quat_imag) + TEST_ENTRY(glm_quat_imagn) + TEST_ENTRY(glm_quat_imaglen) + TEST_ENTRY(glm_quat_angle) + TEST_ENTRY(glm_quat_axis) + TEST_ENTRY(glm_quat_mul) + TEST_ENTRY(glm_quat_mat4) + TEST_ENTRY(glm_quat_mat4t) + TEST_ENTRY(glm_quat_mat3) + TEST_ENTRY(glm_quat_mat3t) + TEST_ENTRY(glm_quat_lerp) + TEST_ENTRY(glm_quat_lerpc) + TEST_ENTRY(glm_quat_nlerp) + TEST_ENTRY(glm_quat_slerp) + TEST_ENTRY(glm_quat_look) + TEST_ENTRY(glm_quat_for) + TEST_ENTRY(glm_quat_forp) + TEST_ENTRY(glm_quat_rotatev) + TEST_ENTRY(glm_quat_rotate) + TEST_ENTRY(glm_quat_rotate_at) + TEST_ENTRY(glm_quat_rotate_atm) + TEST_ENTRY(glm_quat_from_vecs) + + TEST_ENTRY(glmc_quat_identity) + TEST_ENTRY(glmc_quat_identity_array) + TEST_ENTRY(glmc_quat_init) + TEST_ENTRY(glmc_quatv) + TEST_ENTRY(glmc_quat) + TEST_ENTRY(glmc_quat_copy) + TEST_ENTRY(glmc_quat_norm) + TEST_ENTRY(glmc_quat_normalize_to) + TEST_ENTRY(glmc_quat_normalize) + TEST_ENTRY(glmc_quat_dot) + TEST_ENTRY(glmc_quat_conjugate) + TEST_ENTRY(glmc_quat_inv) + TEST_ENTRY(glmc_quat_add) + TEST_ENTRY(glmc_quat_sub) + TEST_ENTRY(glmc_quat_real) + TEST_ENTRY(glmc_quat_imag) + TEST_ENTRY(glmc_quat_imagn) + TEST_ENTRY(glmc_quat_imaglen) + TEST_ENTRY(glmc_quat_angle) + TEST_ENTRY(glmc_quat_axis) + TEST_ENTRY(glmc_quat_mul) + TEST_ENTRY(glmc_quat_mat4) + TEST_ENTRY(glmc_quat_mat4t) + TEST_ENTRY(glmc_quat_mat3) + TEST_ENTRY(glmc_quat_mat3t) + TEST_ENTRY(glmc_quat_lerp) + TEST_ENTRY(glmc_quat_lerpc) + TEST_ENTRY(glmc_quat_nlerp) + TEST_ENTRY(glmc_quat_slerp) + TEST_ENTRY(glmc_quat_look) + TEST_ENTRY(glmc_quat_for) + TEST_ENTRY(glmc_quat_forp) + TEST_ENTRY(glmc_quat_rotatev) + TEST_ENTRY(glmc_quat_rotate) + TEST_ENTRY(glmc_quat_rotate_at) + TEST_ENTRY(glmc_quat_rotate_atm) + TEST_ENTRY(glmc_quat_from_vecs) + + /* bezier */ + TEST_ENTRY(bezier) + + /* vec2 */ + TEST_ENTRY(MACRO_GLM_VEC2_ONE_INIT) + TEST_ENTRY(MACRO_GLM_VEC2_ZERO_INIT) + TEST_ENTRY(MACRO_GLM_VEC2_ONE) + TEST_ENTRY(MACRO_GLM_VEC2_ZERO) + + TEST_ENTRY(glm_vec2) + TEST_ENTRY(glm_vec2_copy) + TEST_ENTRY(glm_vec2_zero) + TEST_ENTRY(glm_vec2_one) + TEST_ENTRY(glm_vec2_dot) + TEST_ENTRY(glm_vec2_cross) + TEST_ENTRY(glm_vec2_norm2) + TEST_ENTRY(glm_vec2_norm) + TEST_ENTRY(glm_vec2_add) + TEST_ENTRY(glm_vec2_adds) + TEST_ENTRY(glm_vec2_sub) + TEST_ENTRY(glm_vec2_subs) + TEST_ENTRY(glm_vec2_mul) + TEST_ENTRY(glm_vec2_scale) + TEST_ENTRY(glm_vec2_scale_as) + TEST_ENTRY(glm_vec2_div) + TEST_ENTRY(glm_vec2_divs) + TEST_ENTRY(glm_vec2_addadd) + TEST_ENTRY(glm_vec2_subadd) + TEST_ENTRY(glm_vec2_muladd) + TEST_ENTRY(glm_vec2_muladds) + TEST_ENTRY(glm_vec2_maxadd) + TEST_ENTRY(glm_vec2_minadd) + TEST_ENTRY(glm_vec2_negate_to) + TEST_ENTRY(glm_vec2_negate) + TEST_ENTRY(glm_vec2_normalize) + TEST_ENTRY(glm_vec2_normalize_to) + TEST_ENTRY(glm_vec2_rotate) + TEST_ENTRY(glm_vec2_distance2) + TEST_ENTRY(glm_vec2_distance) + TEST_ENTRY(glm_vec2_maxv) + TEST_ENTRY(glm_vec2_minv) + TEST_ENTRY(glm_vec2_clamp) + TEST_ENTRY(glm_vec2_lerp) + TEST_ENTRY(glm_vec2_complex_mul) + TEST_ENTRY(glm_vec2_complex_div) + + TEST_ENTRY(glmc_vec2) + TEST_ENTRY(glmc_vec2_copy) + TEST_ENTRY(glmc_vec2_zero) + TEST_ENTRY(glmc_vec2_one) + TEST_ENTRY(glmc_vec2_dot) + TEST_ENTRY(glmc_vec2_cross) + TEST_ENTRY(glmc_vec2_norm2) + TEST_ENTRY(glmc_vec2_norm) + TEST_ENTRY(glmc_vec2_add) + TEST_ENTRY(glmc_vec2_adds) + TEST_ENTRY(glmc_vec2_sub) + TEST_ENTRY(glmc_vec2_subs) + TEST_ENTRY(glmc_vec2_mul) + TEST_ENTRY(glmc_vec2_scale) + TEST_ENTRY(glmc_vec2_scale_as) + TEST_ENTRY(glmc_vec2_div) + TEST_ENTRY(glmc_vec2_divs) + TEST_ENTRY(glmc_vec2_addadd) + TEST_ENTRY(glmc_vec2_subadd) + TEST_ENTRY(glmc_vec2_muladd) + TEST_ENTRY(glmc_vec2_muladds) + TEST_ENTRY(glmc_vec2_maxadd) + TEST_ENTRY(glmc_vec2_minadd) + TEST_ENTRY(glmc_vec2_negate_to) + TEST_ENTRY(glmc_vec2_negate) + TEST_ENTRY(glmc_vec2_normalize) + TEST_ENTRY(glmc_vec2_normalize_to) + TEST_ENTRY(glmc_vec2_rotate) + TEST_ENTRY(glmc_vec2_distance2) + TEST_ENTRY(glmc_vec2_distance) + TEST_ENTRY(glmc_vec2_maxv) + TEST_ENTRY(glmc_vec2_minv) + TEST_ENTRY(glmc_vec2_clamp) + TEST_ENTRY(glmc_vec2_lerp) + TEST_ENTRY(glmc_vec2_complex_mul) + TEST_ENTRY(glmc_vec2_complex_div) + + /* vec3 */ + TEST_ENTRY(MACRO_GLM_VEC3_ONE_INIT) + TEST_ENTRY(MACRO_GLM_VEC3_ZERO_INIT) + TEST_ENTRY(MACRO_GLM_VEC3_ONE) + TEST_ENTRY(MACRO_GLM_VEC3_ZERO) + TEST_ENTRY(MACRO_GLM_YUP) + TEST_ENTRY(MACRO_GLM_ZUP) + TEST_ENTRY(MACRO_GLM_XUP) + TEST_ENTRY(MACRO_GLM_FORWARD_RH) + TEST_ENTRY(MACRO_GLM_SHUFFLE3) + TEST_ENTRY(MACRO_GLM_XXX) + TEST_ENTRY(MACRO_GLM_YYY) + TEST_ENTRY(MACRO_GLM_ZZZ) + TEST_ENTRY(MACRO_GLM_ZYX) + TEST_ENTRY(MACRO_glm_vec3_dup) + TEST_ENTRY(MACRO_glm_vec3_flipsign) + TEST_ENTRY(MACRO_glm_vec3_flipsign_to) + TEST_ENTRY(MACRO_glm_vec3_inv) + TEST_ENTRY(MACRO_glm_vec3_inv_to) + TEST_ENTRY(MACRO_glm_vec3_mulv) + + TEST_ENTRY(glm_vec3) + TEST_ENTRY(glm_vec3_copy) + TEST_ENTRY(glm_vec3_zero) + TEST_ENTRY(glm_vec3_one) + TEST_ENTRY(glm_vec3_dot) + TEST_ENTRY(glm_dot) + TEST_ENTRY(glm_vec3_norm2) + TEST_ENTRY(glm_vec3_norm) + TEST_ENTRY(glm_vec3_norm_one) + TEST_ENTRY(glm_vec3_norm_inf) + TEST_ENTRY(glm_vec3_add) + TEST_ENTRY(glm_vec3_adds) + TEST_ENTRY(glm_vec3_sub) + TEST_ENTRY(glm_vec3_subs) + TEST_ENTRY(glm_vec3_mul) + TEST_ENTRY(glm_vec3_scale) + TEST_ENTRY(glm_vec3_scale_as) + TEST_ENTRY(glm_vec3_div) + TEST_ENTRY(glm_vec3_divs) + TEST_ENTRY(glm_vec3_addadd) + TEST_ENTRY(glm_vec3_subadd) + TEST_ENTRY(glm_vec3_muladd) + TEST_ENTRY(glm_vec3_muladds) + TEST_ENTRY(glm_vec3_maxadd) + TEST_ENTRY(glm_vec3_minadd) + TEST_ENTRY(glm_vec3_negate_to) + TEST_ENTRY(glm_vec3_negate) + TEST_ENTRY(glm_vec3_normalize) + TEST_ENTRY(glm_vec3_normalize_to) + TEST_ENTRY(glm_normalize) + TEST_ENTRY(glm_normalize_to) + TEST_ENTRY(glm_vec3_cross) + TEST_ENTRY(glm_vec3_crossn) + TEST_ENTRY(glm_cross) + TEST_ENTRY(glm_vec3_angle) + TEST_ENTRY(glm_vec3_rotate) + TEST_ENTRY(glm_vec3_rotate_m4) + TEST_ENTRY(glm_vec3_rotate_m3) + TEST_ENTRY(glm_vec3_proj) + TEST_ENTRY(glm_vec3_center) + TEST_ENTRY(glmc_vec3_distance2) + TEST_ENTRY(glmc_vec3_distance) + TEST_ENTRY(glm_vec3_maxv) + TEST_ENTRY(glm_vec3_minv) + TEST_ENTRY(glm_vec3_ortho) + TEST_ENTRY(glm_vec3_clamp) + TEST_ENTRY(glm_vec3_mix) + TEST_ENTRY(glm_vec3_mixc) + TEST_ENTRY(glm_vec3_step_uni) + TEST_ENTRY(glm_vec3_step) + TEST_ENTRY(glm_vec3_smoothstep_uni) + TEST_ENTRY(glm_vec3_smoothstep) + TEST_ENTRY(glm_vec3_smoothinterp) + TEST_ENTRY(glm_vec3_smoothinterpc) + TEST_ENTRY(glm_vec3_swizzle) + TEST_ENTRY(glm_vec3_broadcast) + TEST_ENTRY(glm_vec3_fill) + TEST_ENTRY(glm_vec3_eq) + TEST_ENTRY(glm_vec3_eq_eps) + TEST_ENTRY(glm_vec3_eq_all) + TEST_ENTRY(glm_vec3_eqv) + TEST_ENTRY(glm_vec3_eqv_eps) + TEST_ENTRY(glm_vec3_max) + TEST_ENTRY(glm_vec3_min) + TEST_ENTRY(glm_vec3_isnan) + TEST_ENTRY(glm_vec3_isinf) + TEST_ENTRY(glm_vec3_isvalid) + TEST_ENTRY(glm_vec3_sign) + TEST_ENTRY(glm_vec3_abs) + TEST_ENTRY(glm_vec3_fract) + TEST_ENTRY(glm_vec3_hadd) + TEST_ENTRY(glm_vec3_sqrt) + + TEST_ENTRY(glmc_vec3) + TEST_ENTRY(glmc_vec3_copy) + TEST_ENTRY(glmc_vec3_zero) + TEST_ENTRY(glmc_vec3_one) + TEST_ENTRY(glmc_vec3_dot) + TEST_ENTRY(glmc_vec3_norm2) + TEST_ENTRY(glmc_vec3_norm) + TEST_ENTRY(glmc_vec3_norm_one) + TEST_ENTRY(glmc_vec3_norm_inf) + TEST_ENTRY(glmc_vec3_add) + TEST_ENTRY(glmc_vec3_adds) + TEST_ENTRY(glmc_vec3_sub) + TEST_ENTRY(glmc_vec3_subs) + TEST_ENTRY(glmc_vec3_mul) + TEST_ENTRY(glmc_vec3_scale) + TEST_ENTRY(glmc_vec3_scale_as) + TEST_ENTRY(glmc_vec3_div) + TEST_ENTRY(glmc_vec3_divs) + TEST_ENTRY(glmc_vec3_addadd) + TEST_ENTRY(glmc_vec3_subadd) + TEST_ENTRY(glmc_vec3_muladd) + TEST_ENTRY(glmc_vec3_muladds) + TEST_ENTRY(glmc_vec3_maxadd) + TEST_ENTRY(glmc_vec3_minadd) + TEST_ENTRY(glmc_vec3_negate_to) + TEST_ENTRY(glmc_vec3_negate) + TEST_ENTRY(glmc_vec3_normalize) + TEST_ENTRY(glmc_vec3_normalize_to) + TEST_ENTRY(glmc_vec3_cross) + TEST_ENTRY(glmc_vec3_crossn) + TEST_ENTRY(glmc_vec3_angle) + TEST_ENTRY(glmc_vec3_rotate) + TEST_ENTRY(glmc_vec3_rotate_m4) + TEST_ENTRY(glmc_vec3_rotate_m3) + TEST_ENTRY(glmc_vec3_proj) + TEST_ENTRY(glmc_vec3_center) + TEST_ENTRY(glmc_vec3_distance2) + TEST_ENTRY(glmc_vec3_distance) + TEST_ENTRY(glmc_vec3_maxv) + TEST_ENTRY(glmc_vec3_minv) + TEST_ENTRY(glmc_vec3_ortho) + TEST_ENTRY(glmc_vec3_clamp) + TEST_ENTRY(glmc_vec3_mix) + TEST_ENTRY(glmc_vec3_mixc) + TEST_ENTRY(glmc_vec3_step_uni) + TEST_ENTRY(glmc_vec3_step) + TEST_ENTRY(glmc_vec3_smoothstep_uni) + TEST_ENTRY(glmc_vec3_smoothstep) + TEST_ENTRY(glmc_vec3_smoothinterp) + TEST_ENTRY(glmc_vec3_smoothinterpc) + TEST_ENTRY(glmc_vec3_swizzle) + TEST_ENTRY(glmc_vec3_broadcast) + TEST_ENTRY(glmc_vec3_fill) + TEST_ENTRY(glmc_vec3_eq) + TEST_ENTRY(glmc_vec3_eq_eps) + TEST_ENTRY(glmc_vec3_eq_all) + TEST_ENTRY(glmc_vec3_eqv) + TEST_ENTRY(glmc_vec3_eqv_eps) + TEST_ENTRY(glmc_vec3_max) + TEST_ENTRY(glmc_vec3_min) + TEST_ENTRY(glmc_vec3_isnan) + TEST_ENTRY(glmc_vec3_isinf) + TEST_ENTRY(glmc_vec3_isvalid) + TEST_ENTRY(glmc_vec3_sign) + TEST_ENTRY(glmc_vec3_abs) + TEST_ENTRY(glmc_vec3_fract) + TEST_ENTRY(glmc_vec3_hadd) + TEST_ENTRY(glmc_vec3_sqrt) + + /* vec4 */ + TEST_ENTRY(MACRO_GLM_VEC4_ONE_INIT) + TEST_ENTRY(MACRO_GLM_VEC4_ZERO_INIT) + TEST_ENTRY(MACRO_GLM_VEC4_ONE) + TEST_ENTRY(MACRO_GLM_VEC4_ZERO) + TEST_ENTRY(MACRO_GLM_XXXX) + TEST_ENTRY(MACRO_GLM_YYYY) + TEST_ENTRY(MACRO_GLM_ZZZZ) + TEST_ENTRY(MACRO_GLM_WZYX) + TEST_ENTRY(MACRO_glm_vec4_dup) + TEST_ENTRY(MACRO_glm_vec4_flipsign) + TEST_ENTRY(MACRO_glm_vec4_flipsign_to) + TEST_ENTRY(MACRO_glm_vec4_inv) + TEST_ENTRY(MACRO_glm_vec4_inv_to) + TEST_ENTRY(MACRO_glm_vec4_mulv) + + TEST_ENTRY(glm_vec4) + TEST_ENTRY(glm_vec4_copy3) + TEST_ENTRY(glm_vec4_copy) + TEST_ENTRY(glm_vec4_ucopy) + TEST_ENTRY(glm_vec4_zero) + TEST_ENTRY(glm_vec4_one) + TEST_ENTRY(glm_vec4_dot) + TEST_ENTRY(glm_vec4_norm2) + TEST_ENTRY(glm_vec4_norm) + TEST_ENTRY(glm_vec4_norm_one) + TEST_ENTRY(glm_vec4_norm_inf) + TEST_ENTRY(glm_vec4_add) + TEST_ENTRY(glm_vec4_adds) + TEST_ENTRY(glm_vec4_sub) + TEST_ENTRY(glm_vec4_subs) + TEST_ENTRY(glm_vec4_mul) + TEST_ENTRY(glm_vec4_scale) + TEST_ENTRY(glm_vec4_scale_as) + TEST_ENTRY(glm_vec4_div) + TEST_ENTRY(glm_vec4_divs) + TEST_ENTRY(glm_vec4_addadd) + TEST_ENTRY(glm_vec4_subadd) + TEST_ENTRY(glm_vec4_muladd) + TEST_ENTRY(glm_vec4_muladds) + TEST_ENTRY(glm_vec4_maxadd) + TEST_ENTRY(glm_vec4_minadd) + TEST_ENTRY(glm_vec4_negate_to) + TEST_ENTRY(glm_vec4_negate) + TEST_ENTRY(glm_vec4_normalize) + TEST_ENTRY(glm_vec4_normalize_to) + TEST_ENTRY(glm_vec4_distance2) + TEST_ENTRY(glm_vec4_distance) + TEST_ENTRY(glm_vec4_maxv) + TEST_ENTRY(glm_vec4_minv) + TEST_ENTRY(glm_vec4_clamp) + TEST_ENTRY(glm_vec4_lerp) + TEST_ENTRY(glm_vec4_lerpc) + TEST_ENTRY(glm_vec4_mix) + TEST_ENTRY(glm_vec4_mixc) + TEST_ENTRY(glm_vec4_step_uni) + TEST_ENTRY(glm_vec4_step) + TEST_ENTRY(glm_vec4_smoothstep_uni) + TEST_ENTRY(glm_vec4_smoothstep) + TEST_ENTRY(glm_vec4_smoothinterp) + TEST_ENTRY(glm_vec4_smoothinterpc) + TEST_ENTRY(glm_vec4_cubic) + TEST_ENTRY(glm_vec4_swizzle) + TEST_ENTRY(glm_vec4_broadcast) + TEST_ENTRY(glm_vec4_fill) + TEST_ENTRY(glm_vec4_eq) + TEST_ENTRY(glm_vec4_eq_eps) + TEST_ENTRY(glm_vec4_eq_all) + TEST_ENTRY(glm_vec4_eqv) + TEST_ENTRY(glm_vec4_eqv_eps) + TEST_ENTRY(glm_vec4_max) + TEST_ENTRY(glm_vec4_min) + TEST_ENTRY(glm_vec4_isnan) + TEST_ENTRY(glm_vec4_isinf) + TEST_ENTRY(glm_vec4_isvalid) + TEST_ENTRY(glm_vec4_sign) + TEST_ENTRY(glm_vec4_abs) + TEST_ENTRY(glm_vec4_fract) + TEST_ENTRY(glm_vec4_hadd) + TEST_ENTRY(glm_vec4_sqrt) + + TEST_ENTRY(glmc_vec4) + TEST_ENTRY(glmc_vec4_copy3) + TEST_ENTRY(glmc_vec4_copy) + TEST_ENTRY(glmc_vec4_ucopy) + TEST_ENTRY(glmc_vec4_zero) + TEST_ENTRY(glmc_vec4_one) + TEST_ENTRY(glmc_vec4_dot) + TEST_ENTRY(glmc_vec4_norm2) + TEST_ENTRY(glmc_vec4_norm) + TEST_ENTRY(glmc_vec4_norm_one) + TEST_ENTRY(glmc_vec4_norm_inf) + TEST_ENTRY(glmc_vec4_add) + TEST_ENTRY(glmc_vec4_adds) + TEST_ENTRY(glmc_vec4_sub) + TEST_ENTRY(glmc_vec4_subs) + TEST_ENTRY(glmc_vec4_mul) + TEST_ENTRY(glmc_vec4_scale) + TEST_ENTRY(glmc_vec4_scale_as) + TEST_ENTRY(glmc_vec4_div) + TEST_ENTRY(glmc_vec4_divs) + TEST_ENTRY(glmc_vec4_addadd) + TEST_ENTRY(glmc_vec4_subadd) + TEST_ENTRY(glmc_vec4_muladd) + TEST_ENTRY(glmc_vec4_muladds) + TEST_ENTRY(glmc_vec4_maxadd) + TEST_ENTRY(glmc_vec4_minadd) + TEST_ENTRY(glmc_vec4_negate_to) + TEST_ENTRY(glmc_vec4_negate) + TEST_ENTRY(glmc_vec4_normalize) + TEST_ENTRY(glmc_vec4_normalize_to) + TEST_ENTRY(glmc_vec4_distance2) + TEST_ENTRY(glmc_vec4_distance) + TEST_ENTRY(glmc_vec4_maxv) + TEST_ENTRY(glmc_vec4_minv) + TEST_ENTRY(glmc_vec4_clamp) + TEST_ENTRY(glmc_vec4_lerp) + TEST_ENTRY(glmc_vec4_lerpc) + TEST_ENTRY(glmc_vec4_mix) + TEST_ENTRY(glmc_vec4_mixc) + TEST_ENTRY(glmc_vec4_step_uni) + TEST_ENTRY(glmc_vec4_step) + TEST_ENTRY(glmc_vec4_smoothstep_uni) + TEST_ENTRY(glmc_vec4_smoothstep) + TEST_ENTRY(glmc_vec4_smoothinterp) + TEST_ENTRY(glmc_vec4_smoothinterpc) + TEST_ENTRY(glmc_vec4_cubic) + TEST_ENTRY(glmc_vec4_swizzle) + TEST_ENTRY(glmc_vec4_broadcast) + TEST_ENTRY(glmc_vec4_fill) + TEST_ENTRY(glmc_vec4_eq) + TEST_ENTRY(glmc_vec4_eq_eps) + TEST_ENTRY(glmc_vec4_eq_all) + TEST_ENTRY(glmc_vec4_eqv) + TEST_ENTRY(glmc_vec4_eqv_eps) + TEST_ENTRY(glmc_vec4_max) + TEST_ENTRY(glmc_vec4_min) + TEST_ENTRY(glmc_vec4_isnan) + TEST_ENTRY(glmc_vec4_isinf) + TEST_ENTRY(glmc_vec4_isvalid) + TEST_ENTRY(glmc_vec4_sign) + TEST_ENTRY(glmc_vec4_abs) + TEST_ENTRY(glmc_vec4_fract) + TEST_ENTRY(glmc_vec4_hadd) + TEST_ENTRY(glmc_vec4_sqrt) + + /* ivec2 */ + TEST_ENTRY(glm_ivec2) + TEST_ENTRY(glm_ivec2_copy) + TEST_ENTRY(glm_ivec2_zero) + TEST_ENTRY(glm_ivec2_one) + TEST_ENTRY(glm_ivec2_add) + TEST_ENTRY(glm_ivec2_adds) + TEST_ENTRY(glm_ivec2_sub) + TEST_ENTRY(glm_ivec2_subs) + TEST_ENTRY(glm_ivec2_mul) + TEST_ENTRY(glm_ivec2_scale) + TEST_ENTRY(glm_ivec2_distance2) + TEST_ENTRY(glm_ivec2_distance) + TEST_ENTRY(glm_ivec2_maxv) + TEST_ENTRY(glm_ivec2_minv) + TEST_ENTRY(glm_ivec2_clamp) + + TEST_ENTRY(glmc_ivec2) + TEST_ENTRY(glmc_ivec2_copy) + TEST_ENTRY(glmc_ivec2_zero) + TEST_ENTRY(glmc_ivec2_one) + TEST_ENTRY(glmc_ivec2_add) + TEST_ENTRY(glmc_ivec2_adds) + TEST_ENTRY(glmc_ivec2_sub) + TEST_ENTRY(glmc_ivec2_subs) + TEST_ENTRY(glmc_ivec2_mul) + TEST_ENTRY(glmc_ivec2_scale) + TEST_ENTRY(glmc_ivec2_distance2) + TEST_ENTRY(glmc_ivec2_distance) + TEST_ENTRY(glmc_ivec2_maxv) + TEST_ENTRY(glmc_ivec2_minv) + TEST_ENTRY(glmc_ivec2_clamp) + + /* ivec3 */ + TEST_ENTRY(glm_ivec3) + TEST_ENTRY(glm_ivec3_copy) + TEST_ENTRY(glm_ivec3_zero) + TEST_ENTRY(glm_ivec3_one) + TEST_ENTRY(glm_ivec3_add) + TEST_ENTRY(glm_ivec3_adds) + TEST_ENTRY(glm_ivec3_sub) + TEST_ENTRY(glm_ivec3_subs) + TEST_ENTRY(glm_ivec3_mul) + TEST_ENTRY(glm_ivec3_scale) + TEST_ENTRY(glm_ivec3_distance2) + TEST_ENTRY(glm_ivec3_distance) + TEST_ENTRY(glm_ivec3_maxv) + TEST_ENTRY(glm_ivec3_minv) + TEST_ENTRY(glm_ivec3_clamp) + + TEST_ENTRY(glmc_ivec3) + TEST_ENTRY(glmc_ivec3_copy) + TEST_ENTRY(glmc_ivec3_zero) + TEST_ENTRY(glmc_ivec3_one) + TEST_ENTRY(glmc_ivec3_add) + TEST_ENTRY(glmc_ivec3_adds) + TEST_ENTRY(glmc_ivec3_sub) + TEST_ENTRY(glmc_ivec3_subs) + TEST_ENTRY(glmc_ivec3_mul) + TEST_ENTRY(glmc_ivec3_scale) + TEST_ENTRY(glmc_ivec3_distance2) + TEST_ENTRY(glmc_ivec3_distance) + TEST_ENTRY(glmc_ivec3_maxv) + TEST_ENTRY(glmc_ivec3_minv) + TEST_ENTRY(glmc_ivec3_clamp) + + /* ivec4 */ + TEST_ENTRY(glm_ivec4) + TEST_ENTRY(glm_ivec4_copy) + TEST_ENTRY(glm_ivec4_zero) + TEST_ENTRY(glm_ivec4_one) + TEST_ENTRY(glm_ivec4_add) + TEST_ENTRY(glm_ivec4_adds) + TEST_ENTRY(glm_ivec4_sub) + TEST_ENTRY(glm_ivec4_subs) + TEST_ENTRY(glm_ivec4_mul) + TEST_ENTRY(glm_ivec4_scale) + TEST_ENTRY(glm_ivec4_distance2) + TEST_ENTRY(glm_ivec4_distance) + TEST_ENTRY(glm_ivec4_maxv) + TEST_ENTRY(glm_ivec4_minv) + TEST_ENTRY(glm_ivec4_clamp) + + TEST_ENTRY(glmc_ivec4) + TEST_ENTRY(glmc_ivec4_copy) + TEST_ENTRY(glmc_ivec4_zero) + TEST_ENTRY(glmc_ivec4_one) + TEST_ENTRY(glmc_ivec4_add) + TEST_ENTRY(glmc_ivec4_adds) + TEST_ENTRY(glmc_ivec4_sub) + TEST_ENTRY(glmc_ivec4_subs) + TEST_ENTRY(glmc_ivec4_mul) + TEST_ENTRY(glmc_ivec4_scale) + TEST_ENTRY(glmc_ivec4_distance2) + TEST_ENTRY(glmc_ivec4_distance) + TEST_ENTRY(glmc_ivec4_maxv) + TEST_ENTRY(glmc_ivec4_minv) + TEST_ENTRY(glmc_ivec4_clamp) + + /* structs */ + TEST_ENTRY(mat3s_identity_init) + TEST_ENTRY(mat3s_zero_init) + TEST_ENTRY(mat4s_identity_init) + TEST_ENTRY(mat4s_zero_init) + TEST_ENTRY(quats_zero_init) + TEST_ENTRY(vec3s_one_init) + TEST_ENTRY(vec3s_zero_init) + TEST_ENTRY(vec4s_black_init) + TEST_ENTRY(vec4s_one_init) + TEST_ENTRY(vec4s_zero_init) +}; + +#endif /* tests_h */ |