mirror of
https://github.com/recp/cglm.git
synced 2026-02-17 03:39:05 +00:00
Compare commits
4 Commits
0356534c0c
...
flt-epsilo
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
6626d2b74f | ||
|
|
5bda762df6 | ||
|
|
f9824a8dc6 | ||
|
|
ccd3058adc |
@@ -425,7 +425,7 @@ bool
|
||||
glm_uniscaled(mat4 m) {
|
||||
CGLM_ALIGN(8) vec3 s;
|
||||
glm_decompose_scalev(m, s);
|
||||
return glm_vec3_eq_all(s);
|
||||
return glm_vec3_eq_eps(s, s[0]);
|
||||
}
|
||||
|
||||
/*!
|
||||
|
||||
@@ -42,12 +42,18 @@
|
||||
#include "types.h"
|
||||
#include "simd/intrin.h"
|
||||
|
||||
#ifndef CGLM_USE_DEFAULT_EPSILON
|
||||
# ifndef GLM_FLT_EPSILON
|
||||
# define GLM_FLT_EPSILON 1e-6
|
||||
/** CGLM_USE_DEFAULT_EPSILON is removed, to override float epsilon,
|
||||
* just define GLM_FLT_EPSILON with epsilon value like below
|
||||
*
|
||||
* #define GLM_FLT_EPSILON 1e-6f
|
||||
*/
|
||||
|
||||
#ifndef GLM_FLT_EPSILON
|
||||
# ifndef FLT_EPSILON
|
||||
# define GLM_FLT_EPSILON 1e-6f
|
||||
# else
|
||||
# define GLM_FLT_EPSILON FLT_EPSILON
|
||||
# endif
|
||||
#else
|
||||
# define GLM_FLT_EPSILON FLT_EPSILON
|
||||
#endif
|
||||
|
||||
#endif /* cglm_common_h */
|
||||
|
||||
@@ -35,9 +35,9 @@ TEST_IMPL(camera_decomp) {
|
||||
farVal = 100.0f;
|
||||
|
||||
glm_perspective(fovy, aspect, nearVal, farVal, proj);
|
||||
ASSERT(fabsf(aspect - glm_persp_aspect(proj)) < GLM_FLT_EPSILON)
|
||||
ASSERT(fabsf(fovy - glm_persp_fovy(proj)) < GLM_FLT_EPSILON)
|
||||
ASSERT(fabsf(49.984f - glm_deg(glm_persp_fovy(proj))) < GLM_FLT_EPSILON)
|
||||
ASSERT(fabsf(aspect - glm_persp_aspect(proj)) < 1e-5f)
|
||||
ASSERT(fabsf(fovy - glm_persp_fovy(proj)) < 1e-5f)
|
||||
ASSERT(fabsf(49.984f - glm_deg(glm_persp_fovy(proj))) < 1e-5f)
|
||||
|
||||
glm_persp_sizes(proj, fovy, sizes);
|
||||
|
||||
|
||||
@@ -106,7 +106,7 @@ test_rand_quat(versor q);
|
||||
CGLM_INLINE
|
||||
bool
|
||||
test_eq(float a, float b) {
|
||||
return fabsf(a - b) <= GLM_FLT_EPSILON * 10;
|
||||
return fabsf(a - b) <= 1e-5f;
|
||||
}
|
||||
|
||||
CGLM_INLINE
|
||||
|
||||
Reference in New Issue
Block a user