diff options
| author | ladevieq <ladevie.quentin@gmail.com> | 2026-05-05 00:50:13 +0200 |
|---|---|---|
| committer | ladevieq <ladevie.quentin@gmail.com> | 2026-05-05 00:50:49 +0200 |
| commit | 37fdcb8a0f435c42f737252450626f2bd38bbd0f (patch) | |
| tree | 7eeb45a2d2d08483409a04c74fbc74fb2bbcde9f /src/vec3.cpp | |
| parent | 6818cbfe21beefc04e4a174d44a92159c34cead1 (diff) | |
Clean up around included files
Diffstat (limited to 'src/vec3.cpp')
| -rw-r--r-- | src/vec3.cpp | 19 |
1 files changed, 13 insertions, 6 deletions
diff --git a/src/vec3.cpp b/src/vec3.cpp index 3167bc2..414ee73 100644 --- a/src/vec3.cpp +++ b/src/vec3.cpp @@ -1,10 +1,8 @@ -#include <cmath> -#include <cassert.> -#include <smmintrin.h> - -#include "utils.hpp" #include "vec3.hpp" +// #include <smmintrin.h> +// #include <xmmintrin.h> + vec3::vec3() : v(_mm_setzero_ps()) {} vec3::vec3(float x) : v(_mm_set1_ps(x)) {} @@ -122,7 +120,16 @@ bool vec3::near_zero() const { float v0 = fabs(static_cast<float>(_mm_extract_ps(v, 0))); float v1 = fabs(static_cast<float>(_mm_extract_ps(v, 1))); float v2 = fabs(static_cast<float>(_mm_extract_ps(v, 2))); - return (v0 < EPSILON) && (v1 < EPSILON) && (v2 < EPSILON); + return (v0 < FLT_EPSILON) && (v1 < FLT_EPSILON) && (v2 < FLT_EPSILON); +} + +bool vec3::is_zero() const { + // __m128 e = _mm_set1_ps(EPSILON); + // _mm_cmplt_ps(_mm_andnot_ps(_mm_set1_ps(-0.0f), v), e); + float v0 = fabs(static_cast<float>(_mm_extract_ps(v, 0))); + float v1 = fabs(static_cast<float>(_mm_extract_ps(v, 1))); + float v2 = fabs(static_cast<float>(_mm_extract_ps(v, 2))); + return (v0 == 0.f) && (v1 == 0.f) && (v2 == 0.f); } void vec3::print() const { |
