From d3c50147cb6a8df5ce797cab63da3e956d822c50 Mon Sep 17 00:00:00 2001 From: Carsten Hartenfels Date: Wed, 19 Sep 2018 20:42:05 +0200 Subject: [PATCH 1/7] Replace non-standard M_PI* constants with literals M_PI, M_PI_2 and M_PI_4 aren't part of the C standard. If you put your gcc into strict standards mode, like `-std=c11`, you won't get these constants and including cglm.h will fail. This commit replaces those constants with their literal values. The cast to a float remains, to keep exactly the same behavior as before. --- include/cglm/types.h | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/include/cglm/types.h b/include/cglm/types.h index 76c3646..49b65e4 100644 --- a/include/cglm/types.h +++ b/include/cglm/types.h @@ -48,8 +48,8 @@ typedef CGLM_ALIGN_IF(16) vec4 mat4[4]; typedef vec4 versor; -#define CGLM_PI ((float)M_PI) -#define CGLM_PI_2 ((float)M_PI_2) -#define CGLM_PI_4 ((float)M_PI_4) +#define CGLM_PI ((float)3.14159265358979323846) +#define CGLM_PI_2 ((float)1.57079632679489661923) +#define CGLM_PI_4 ((float)0.78539816339744830962) #endif /* cglm_types_h */ From b00f2b9ccc8a96b8c1b1a84bd93d7e014bc24343 Mon Sep 17 00:00:00 2001 From: Carsten Hartenfels Date: Wed, 19 Sep 2018 20:46:37 +0200 Subject: [PATCH 2/7] Replace M_PI_4 in test_affine with CGLM_PI_4 As in the previous commit, because it's non-standard and depending on your settings it can fail to compile because of it. --- test/src/test_affine.c | 32 ++++++++++++++++---------------- 1 file changed, 16 insertions(+), 16 deletions(-) diff --git a/test/src/test_affine.c b/test/src/test_affine.c index a625a30..aebd0ff 100644 --- a/test/src/test_affine.c +++ b/test/src/test_affine.c @@ -12,7 +12,7 @@ test_affine(void **state) { mat4 t1, t2, t3, t4, t5; /* test translate is postmultiplied */ - glmc_rotate_make(t1, M_PI_4, GLM_YUP); + glmc_rotate_make(t1, CGLM_PI_4, GLM_YUP); glm_translate_make(t2, (vec3){34, 57, 36}); glmc_mat4_mul(t1, t2, t3); /* R * T */ @@ -21,16 +21,16 @@ test_affine(void **state) { test_assert_mat4_eq(t1, t3); /* test rotate is postmultiplied */ - glmc_rotate_make(t1, M_PI_4, GLM_YUP); + glmc_rotate_make(t1, CGLM_PI_4, GLM_YUP); glm_translate_make(t2, (vec3){34, 57, 36}); glmc_mat4_mul(t2, t1, t3); /* T * R */ - glm_rotate(t2, M_PI_4, GLM_YUP); + glm_rotate(t2, CGLM_PI_4, GLM_YUP); test_assert_mat4_eq(t2, t3); /* test scale is postmultiplied */ - glmc_rotate_make(t1, M_PI_4, GLM_YUP); + glmc_rotate_make(t1, CGLM_PI_4, GLM_YUP); glm_translate_make(t2, (vec3){34, 57, 36}); glm_scale_make(t4, (vec3){3, 5, 6}); @@ -41,7 +41,7 @@ test_affine(void **state) { test_assert_mat4_eq(t3, t5); /* test translate_x */ - glmc_rotate_make(t1, M_PI_4, GLM_YUP); + glmc_rotate_make(t1, CGLM_PI_4, GLM_YUP); glm_translate_make(t2, (vec3){34, 0, 0}); glmc_mat4_mul(t1, t2, t3); /* R * T */ @@ -49,7 +49,7 @@ test_affine(void **state) { test_assert_mat4_eq(t1, t3); /* test translate_y */ - glmc_rotate_make(t1, M_PI_4, GLM_YUP); + glmc_rotate_make(t1, CGLM_PI_4, GLM_YUP); glm_translate_make(t2, (vec3){0, 57, 0}); glmc_mat4_mul(t1, t2, t3); /* R * T */ @@ -57,7 +57,7 @@ test_affine(void **state) { test_assert_mat4_eq(t1, t3); /* test translate_z */ - glmc_rotate_make(t1, M_PI_4, GLM_YUP); + glmc_rotate_make(t1, CGLM_PI_4, GLM_YUP); glm_translate_make(t2, (vec3){0, 0, 36}); glmc_mat4_mul(t1, t2, t3); /* R * T */ @@ -65,43 +65,43 @@ test_affine(void **state) { test_assert_mat4_eq(t1, t3); /* test rotate_x */ - glmc_rotate_make(t1, M_PI_4, (vec3){1, 0, 0}); + glmc_rotate_make(t1, CGLM_PI_4, (vec3){1, 0, 0}); glm_translate_make(t2, (vec3){34, 57, 36}); glmc_mat4_mul(t2, t1, t3); /* T * R */ - glm_rotate_x(t2, M_PI_4, t2); + glm_rotate_x(t2, CGLM_PI_4, t2); test_assert_mat4_eq(t2, t3); /* test rotate_y */ - glmc_rotate_make(t1, M_PI_4, (vec3){0, 1, 0}); + glmc_rotate_make(t1, CGLM_PI_4, (vec3){0, 1, 0}); glm_translate_make(t2, (vec3){34, 57, 36}); glmc_mat4_mul(t2, t1, t3); /* T * R */ - glm_rotate_y(t2, M_PI_4, t2); + glm_rotate_y(t2, CGLM_PI_4, t2); test_assert_mat4_eq(t2, t3); /* test rotate_z */ - glmc_rotate_make(t1, M_PI_4, (vec3){0, 0, 1}); + glmc_rotate_make(t1, CGLM_PI_4, (vec3){0, 0, 1}); glm_translate_make(t2, (vec3){34, 57, 36}); glmc_mat4_mul(t2, t1, t3); /* T * R */ - glm_rotate_z(t2, M_PI_4, t2); + glm_rotate_z(t2, CGLM_PI_4, t2); test_assert_mat4_eq(t2, t3); /* test rotate */ - glmc_rotate_make(t1, M_PI_4, (vec3){0, 0, 1}); + glmc_rotate_make(t1, CGLM_PI_4, (vec3){0, 0, 1}); glm_translate_make(t2, (vec3){34, 57, 36}); glmc_mat4_mul(t2, t1, t3); /* T * R */ - glmc_rotate(t2, M_PI_4, (vec3){0, 0, 1}); + glmc_rotate(t2, CGLM_PI_4, (vec3){0, 0, 1}); test_assert_mat4_eq(t3, t2); /* test scale_uni */ - glmc_rotate_make(t1, M_PI_4, GLM_YUP); + glmc_rotate_make(t1, CGLM_PI_4, GLM_YUP); glm_translate_make(t2, (vec3){34, 57, 36}); glm_scale_make(t4, (vec3){3, 3, 3}); From 59ee8c1fd2a402530231ea6984091804446d1faf Mon Sep 17 00:00:00 2001 From: Carsten Hartenfels Date: Fri, 21 Sep 2018 07:26:55 +0200 Subject: [PATCH 3/7] Use even more precise definitions for pi constants See https://github.com/recp/cglm/pull/61#issuecomment-422955122 --- include/cglm/types.h | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/include/cglm/types.h b/include/cglm/types.h index 49b65e4..e9b177c 100644 --- a/include/cglm/types.h +++ b/include/cglm/types.h @@ -48,8 +48,8 @@ typedef CGLM_ALIGN_IF(16) vec4 mat4[4]; typedef vec4 versor; -#define CGLM_PI ((float)3.14159265358979323846) -#define CGLM_PI_2 ((float)1.57079632679489661923) -#define CGLM_PI_4 ((float)0.78539816339744830962) +#define CGLM_PI ((float)3.14159265358979323846264338327950288) +#define CGLM_PI_2 ((float)1.57079632679489661923132169163975144) +#define CGLM_PI_4 ((float)0.785398163397448309615660845819875721) #endif /* cglm_types_h */ From 3fd12032e60afbe8cf430aafdafcbc160a431e7c Mon Sep 17 00:00:00 2001 From: Carsten Hartenfels Date: Fri, 21 Sep 2018 07:29:54 +0200 Subject: [PATCH 4/7] Clean up pi constants, deprecating the old names GLM_PI* is now used for the double versions, GLM_PI*f for the float versions. The CGLM_ prefixed versions are now deprecated, since that prefix is kinda only used for constants. See https://github.com/recp/cglm/pull/61#issuecomment-423069770 --- include/cglm/types.h | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/include/cglm/types.h b/include/cglm/types.h index e9b177c..72852e1 100644 --- a/include/cglm/types.h +++ b/include/cglm/types.h @@ -48,8 +48,17 @@ typedef CGLM_ALIGN_IF(16) vec4 mat4[4]; typedef vec4 versor; -#define CGLM_PI ((float)3.14159265358979323846264338327950288) -#define CGLM_PI_2 ((float)1.57079632679489661923132169163975144) -#define CGLM_PI_4 ((float)0.785398163397448309615660845819875721) +#define GLM_PI 3.14159265358979323846264338327950288 +#define GLM_PI_2 1.57079632679489661923132169163975144 +#define GLM_PI_4 0.785398163397448309615660845819875721 + +#define GLM_PIf ((float)GLM_PI) +#define GLM_PI_2f ((float)GLM_PI_2) +#define GLM_PI_4f ((float)GLM_PI_4) + +/* DEPRECATED! use GLM_PI and friends */ +#define CGLM_PI GLM_PIf +#define CGLM_PI_2 GLM_PI_2f +#define CGLM_PI_4 GLM_PI_4f #endif /* cglm_types_h */ From b9021978cb1628de4f5b15d4ff4dc08482e2f8df Mon Sep 17 00:00:00 2001 From: Carsten Hartenfels Date: Fri, 21 Sep 2018 07:34:05 +0200 Subject: [PATCH 5/7] Replace the use of deprecated CGLM_PI* constants --- include/cglm/cam.h | 2 +- include/cglm/ease.h | 14 +++++++------- include/cglm/euler.h | 4 ++-- include/cglm/quat.h | 2 +- include/cglm/util.h | 8 ++++---- test/src/test_affine.c | 32 ++++++++++++++++---------------- 6 files changed, 31 insertions(+), 31 deletions(-) diff --git a/include/cglm/cam.h b/include/cglm/cam.h index 6e5fc16..6ce5754 100644 --- a/include/cglm/cam.h +++ b/include/cglm/cam.h @@ -293,7 +293,7 @@ CGLM_INLINE void glm_perspective_default(float aspect, mat4 dest) { - glm_perspective((float)CGLM_PI_4, + glm_perspective(GLM_PI_4f, aspect, 0.01f, 100.0f, diff --git a/include/cglm/ease.h b/include/cglm/ease.h index 30ecf9b..b40b75e 100644 --- a/include/cglm/ease.h +++ b/include/cglm/ease.h @@ -19,19 +19,19 @@ glm_ease_linear(float t) { CGLM_INLINE float glm_ease_sine_in(float t) { - return sinf((t - 1.0f) * CGLM_PI_2) + 1.0f; + return sinf((t - 1.0f) * GLM_PI_2f) + 1.0f; } CGLM_INLINE float glm_ease_sine_out(float t) { - return sinf(t * CGLM_PI_2); + return sinf(t * GLM_PI_2f); } CGLM_INLINE float glm_ease_sine_inout(float t) { - return 0.5f * (1.0f - cosf(t * CGLM_PI)); + return 0.5f * (1.0f - cosf(t * GLM_PIf)); } CGLM_INLINE @@ -254,13 +254,13 @@ glm_ease_back_inout(float t) { CGLM_INLINE float glm_ease_elast_in(float t) { - return sinf(13.0f * CGLM_PI_2 * t) * powf(2.0f, 10.0f * (t - 1.0f)); + return sinf(13.0f * GLM_PI_2f * t) * powf(2.0f, 10.0f * (t - 1.0f)); } CGLM_INLINE float glm_ease_elast_out(float t) { - return sinf(-13.0f * CGLM_PI_2 * (t + 1.0f)) * powf(2.0f, -10.0f * t) + 1.0f; + return sinf(-13.0f * GLM_PI_2f * (t + 1.0f)) * powf(2.0f, -10.0f * t) + 1.0f; } CGLM_INLINE @@ -271,10 +271,10 @@ glm_ease_elast_inout(float t) { a = 2.0f * t; if (t < 0.5f) - return 0.5f * sinf(13.0f * CGLM_PI_2 * a) + return 0.5f * sinf(13.0f * GLM_PI_2f * a) * powf(2.0f, 10.0f * (a - 1.0f)); - return 0.5f * (sinf(-13.0f * CGLM_PI_2 * a) + return 0.5f * (sinf(-13.0f * GLM_PI_2f * a) * powf(2.0f, -10.0f * (a - 1.0f)) + 2.0f); } diff --git a/include/cglm/euler.h b/include/cglm/euler.h index bb455a8..1ff5f6d 100644 --- a/include/cglm/euler.h +++ b/include/cglm/euler.h @@ -84,12 +84,12 @@ glm_euler_angles(mat4 m, vec3 dest) { thetaZ = atan2f(-m10, m00); } else { /* m20 == -1 */ /* Not a unique solution */ - thetaY = -CGLM_PI_2; + thetaY = -GLM_PI_2f; thetaX = -atan2f(m01, m11); thetaZ = 0.0f; } } else { /* m20 == +1 */ - thetaY = CGLM_PI_2; + thetaY = GLM_PI_2f; thetaX = atan2f(m01, m11); thetaZ = 0.0f; } diff --git a/include/cglm/quat.h b/include/cglm/quat.h index 289b0ad..d07db8e 100644 --- a/include/cglm/quat.h +++ b/include/cglm/quat.h @@ -689,7 +689,7 @@ glm_quat_for(vec3 dir, vec3 fwd, vec3 up, versor dest) { dot = glm_vec_dot(dir, fwd); if (fabsf(dot + 1.0f) < 0.000001f) { - glm_quat_init(dest, up[0], up[1], up[2], CGLM_PI); + glm_quat_init(dest, up[0], up[1], up[2], GLM_PIf); return; } diff --git a/include/cglm/util.h b/include/cglm/util.h index 321b152..af73eb8 100644 --- a/include/cglm/util.h +++ b/include/cglm/util.h @@ -58,7 +58,7 @@ glm_signf(float val) { CGLM_INLINE float glm_rad(float deg) { - return deg * CGLM_PI / 180.0f; + return deg * GLM_PIf / 180.0f; } /*! @@ -69,7 +69,7 @@ glm_rad(float deg) { CGLM_INLINE float glm_deg(float rad) { - return rad * 180.0f / CGLM_PI; + return rad * 180.0f / GLM_PIf; } /*! @@ -80,7 +80,7 @@ glm_deg(float rad) { CGLM_INLINE void glm_make_rad(float *deg) { - *deg = *deg * CGLM_PI / 180.0f; + *deg = *deg * GLM_PIf / 180.0f; } /*! @@ -91,7 +91,7 @@ glm_make_rad(float *deg) { CGLM_INLINE void glm_make_deg(float *rad) { - *rad = *rad * 180.0f / CGLM_PI; + *rad = *rad * 180.0f / GLM_PIf; } /*! diff --git a/test/src/test_affine.c b/test/src/test_affine.c index aebd0ff..bb1be15 100644 --- a/test/src/test_affine.c +++ b/test/src/test_affine.c @@ -12,7 +12,7 @@ test_affine(void **state) { mat4 t1, t2, t3, t4, t5; /* test translate is postmultiplied */ - glmc_rotate_make(t1, CGLM_PI_4, GLM_YUP); + glmc_rotate_make(t1, GLM_PI_4f, GLM_YUP); glm_translate_make(t2, (vec3){34, 57, 36}); glmc_mat4_mul(t1, t2, t3); /* R * T */ @@ -21,16 +21,16 @@ test_affine(void **state) { test_assert_mat4_eq(t1, t3); /* test rotate is postmultiplied */ - glmc_rotate_make(t1, CGLM_PI_4, GLM_YUP); + glmc_rotate_make(t1, GLM_PI_4f, GLM_YUP); glm_translate_make(t2, (vec3){34, 57, 36}); glmc_mat4_mul(t2, t1, t3); /* T * R */ - glm_rotate(t2, CGLM_PI_4, GLM_YUP); + glm_rotate(t2, GLM_PI_4f, GLM_YUP); test_assert_mat4_eq(t2, t3); /* test scale is postmultiplied */ - glmc_rotate_make(t1, CGLM_PI_4, GLM_YUP); + glmc_rotate_make(t1, GLM_PI_4f, GLM_YUP); glm_translate_make(t2, (vec3){34, 57, 36}); glm_scale_make(t4, (vec3){3, 5, 6}); @@ -41,7 +41,7 @@ test_affine(void **state) { test_assert_mat4_eq(t3, t5); /* test translate_x */ - glmc_rotate_make(t1, CGLM_PI_4, GLM_YUP); + glmc_rotate_make(t1, GLM_PI_4f, GLM_YUP); glm_translate_make(t2, (vec3){34, 0, 0}); glmc_mat4_mul(t1, t2, t3); /* R * T */ @@ -49,7 +49,7 @@ test_affine(void **state) { test_assert_mat4_eq(t1, t3); /* test translate_y */ - glmc_rotate_make(t1, CGLM_PI_4, GLM_YUP); + glmc_rotate_make(t1, GLM_PI_4f, GLM_YUP); glm_translate_make(t2, (vec3){0, 57, 0}); glmc_mat4_mul(t1, t2, t3); /* R * T */ @@ -57,7 +57,7 @@ test_affine(void **state) { test_assert_mat4_eq(t1, t3); /* test translate_z */ - glmc_rotate_make(t1, CGLM_PI_4, GLM_YUP); + glmc_rotate_make(t1, GLM_PI_4f, GLM_YUP); glm_translate_make(t2, (vec3){0, 0, 36}); glmc_mat4_mul(t1, t2, t3); /* R * T */ @@ -65,43 +65,43 @@ test_affine(void **state) { test_assert_mat4_eq(t1, t3); /* test rotate_x */ - glmc_rotate_make(t1, CGLM_PI_4, (vec3){1, 0, 0}); + glmc_rotate_make(t1, GLM_PI_4f, (vec3){1, 0, 0}); glm_translate_make(t2, (vec3){34, 57, 36}); glmc_mat4_mul(t2, t1, t3); /* T * R */ - glm_rotate_x(t2, CGLM_PI_4, t2); + glm_rotate_x(t2, GLM_PI_4f, t2); test_assert_mat4_eq(t2, t3); /* test rotate_y */ - glmc_rotate_make(t1, CGLM_PI_4, (vec3){0, 1, 0}); + glmc_rotate_make(t1, GLM_PI_4f, (vec3){0, 1, 0}); glm_translate_make(t2, (vec3){34, 57, 36}); glmc_mat4_mul(t2, t1, t3); /* T * R */ - glm_rotate_y(t2, CGLM_PI_4, t2); + glm_rotate_y(t2, GLM_PI_4f, t2); test_assert_mat4_eq(t2, t3); /* test rotate_z */ - glmc_rotate_make(t1, CGLM_PI_4, (vec3){0, 0, 1}); + glmc_rotate_make(t1, GLM_PI_4f, (vec3){0, 0, 1}); glm_translate_make(t2, (vec3){34, 57, 36}); glmc_mat4_mul(t2, t1, t3); /* T * R */ - glm_rotate_z(t2, CGLM_PI_4, t2); + glm_rotate_z(t2, GLM_PI_4f, t2); test_assert_mat4_eq(t2, t3); /* test rotate */ - glmc_rotate_make(t1, CGLM_PI_4, (vec3){0, 0, 1}); + glmc_rotate_make(t1, GLM_PI_4f, (vec3){0, 0, 1}); glm_translate_make(t2, (vec3){34, 57, 36}); glmc_mat4_mul(t2, t1, t3); /* T * R */ - glmc_rotate(t2, CGLM_PI_4, (vec3){0, 0, 1}); + glmc_rotate(t2, GLM_PI_4f, (vec3){0, 0, 1}); test_assert_mat4_eq(t3, t2); /* test scale_uni */ - glmc_rotate_make(t1, CGLM_PI_4, GLM_YUP); + glmc_rotate_make(t1, GLM_PI_4f, GLM_YUP); glm_translate_make(t2, (vec3){34, 57, 36}); glm_scale_make(t4, (vec3){3, 3, 3}); From eefafefbae6a95ac1397dc0e9ecb3cde865b1f46 Mon Sep 17 00:00:00 2001 From: Carsten Hartenfels Date: Fri, 21 Sep 2018 20:03:28 +0200 Subject: [PATCH 6/7] Also add a load of other number constants These are all missing from standard C, so we might as well define em. See https://github.com/recp/cglm/pull/61#discussion_r219406859 --- include/cglm/types.h | 32 ++++++++++++++++++++++++++------ 1 file changed, 26 insertions(+), 6 deletions(-) diff --git a/include/cglm/types.h b/include/cglm/types.h index 72852e1..548965d 100644 --- a/include/cglm/types.h +++ b/include/cglm/types.h @@ -48,13 +48,33 @@ typedef CGLM_ALIGN_IF(16) vec4 mat4[4]; typedef vec4 versor; -#define GLM_PI 3.14159265358979323846264338327950288 -#define GLM_PI_2 1.57079632679489661923132169163975144 -#define GLM_PI_4 0.785398163397448309615660845819875721 +#define GLM_E 2.71828182845904523536028747135266250 /* e */ +#define GLM_LOG2E 1.44269504088896340735992468100189214 /* log2(e) */ +#define GLM_LOG10E 0.434294481903251827651128918916605082 /* log10(e) */ +#define GLM_LN2 0.693147180559945309417232121458176568 /* loge(2) */ +#define GLM_LN10 2.30258509299404568401799145468436421 /* loge(10) */ +#define GLM_PI 3.14159265358979323846264338327950288 /* pi */ +#define GLM_PI_2 1.57079632679489661923132169163975144 /* pi/2 */ +#define GLM_PI_4 0.785398163397448309615660845819875721 /* pi/4 */ +#define GLM_1_PI 0.318309886183790671537767526745028724 /* 1/pi */ +#define GLM_2_PI 0.636619772367581343075535053490057448 /* 2/pi */ +#define GLM_2_SQRTPI 1.12837916709551257389615890312154517 /* 2/sqrt(pi) */ +#define GLM_SQRT2 1.41421356237309504880168872420969808 /* sqrt(2) */ +#define GLM_SQRT1_2 0.707106781186547524400844362104849039 /* 1/sqrt(2) */ -#define GLM_PIf ((float)GLM_PI) -#define GLM_PI_2f ((float)GLM_PI_2) -#define GLM_PI_4f ((float)GLM_PI_4) +#define GLM_Ef ((float) GLM_E) +#define GLM_LOG2Ef ((float) GLM_LOG2E) +#define GLM_LOG10Ef ((float) GLM_LOG10E) +#define GLM_LN2f ((float) GLM_LN2) +#define GLM_LN10f ((float) GLM_LN10) +#define GLM_PIf ((float) GLM_PI) +#define GLM_PI_2f ((float) GLM_PI_2) +#define GLM_PI_4f ((float) GLM_PI_4) +#define GLM_1_PIf ((float) GLM_1_PI) +#define GLM_2_PIf ((float) GLM_2_PI) +#define GLM_2_SQRTPIf ((float) GLM_2_SQRTPI) +#define GLM_SQRT2f ((float) GLM_SQRT2) +#define GLM_SQRT1_2f ((float) GLM_SQRT1_2) /* DEPRECATED! use GLM_PI and friends */ #define CGLM_PI GLM_PIf From 7405d5e1d0be0305b21b0a31515f2d72fd6aca97 Mon Sep 17 00:00:00 2001 From: Recep Aslantas Date: Fri, 21 Sep 2018 23:33:42 +0300 Subject: [PATCH 7/7] Update types.h --- include/cglm/types.h | 33 ++++++++++++++++----------------- 1 file changed, 16 insertions(+), 17 deletions(-) diff --git a/include/cglm/types.h b/include/cglm/types.h index 548965d..208d79a 100644 --- a/include/cglm/types.h +++ b/include/cglm/types.h @@ -45,7 +45,6 @@ typedef vec3 mat3[3]; typedef CGLM_ALIGN_IF(16) vec4 mat4[4]; #endif - typedef vec4 versor; #define GLM_E 2.71828182845904523536028747135266250 /* e */ @@ -62,23 +61,23 @@ typedef vec4 versor; #define GLM_SQRT2 1.41421356237309504880168872420969808 /* sqrt(2) */ #define GLM_SQRT1_2 0.707106781186547524400844362104849039 /* 1/sqrt(2) */ -#define GLM_Ef ((float) GLM_E) -#define GLM_LOG2Ef ((float) GLM_LOG2E) -#define GLM_LOG10Ef ((float) GLM_LOG10E) -#define GLM_LN2f ((float) GLM_LN2) -#define GLM_LN10f ((float) GLM_LN10) -#define GLM_PIf ((float) GLM_PI) -#define GLM_PI_2f ((float) GLM_PI_2) -#define GLM_PI_4f ((float) GLM_PI_4) -#define GLM_1_PIf ((float) GLM_1_PI) -#define GLM_2_PIf ((float) GLM_2_PI) -#define GLM_2_SQRTPIf ((float) GLM_2_SQRTPI) -#define GLM_SQRT2f ((float) GLM_SQRT2) -#define GLM_SQRT1_2f ((float) GLM_SQRT1_2) +#define GLM_Ef ((float)GLM_E) +#define GLM_LOG2Ef ((float)GLM_LOG2E) +#define GLM_LOG10Ef ((float)GLM_LOG10E) +#define GLM_LN2f ((float)GLM_LN2) +#define GLM_LN10f ((float)GLM_LN10) +#define GLM_PIf ((float)GLM_PI) +#define GLM_PI_2f ((float)GLM_PI_2) +#define GLM_PI_4f ((float)GLM_PI_4) +#define GLM_1_PIf ((float)GLM_1_PI) +#define GLM_2_PIf ((float)GLM_2_PI) +#define GLM_2_SQRTPIf ((float)GLM_2_SQRTPI) +#define GLM_SQRT2f ((float)GLM_SQRT2) +#define GLM_SQRT1_2f ((float)GLM_SQRT1_2) /* DEPRECATED! use GLM_PI and friends */ -#define CGLM_PI GLM_PIf -#define CGLM_PI_2 GLM_PI_2f -#define CGLM_PI_4 GLM_PI_4f +#define CGLM_PI GLM_PIf +#define CGLM_PI_2 GLM_PI_2f +#define CGLM_PI_4 GLM_PI_4f #endif /* cglm_types_h */