From f85e67e669b2b866268506055b31d11150f2dd59 Mon Sep 17 00:00:00 2001 From: Wiebe van Breukelen Date: Wed, 22 Oct 2025 16:48:26 +0200 Subject: [PATCH] Fix compiler warnings (#37) --- CMakeLists.txt | 5 +++++ src/lookup_xsimd.cpp | 12 ++++-------- 2 files changed, 9 insertions(+), 8 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 5deb384..814b064 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -12,6 +12,11 @@ option(TRIGDX_BUILD_TESTS "Build tests" ON) option(TRIGDX_BUILD_BENCHMARKS "Build tests" ON) option(TRIGDX_BUILD_PYTHON "Build Python interface" ON) +# Add compiler flags +set(CMAKE_CXX_FLAGS + "${CMAKE_CXX_FLAGS} -Wall -Wnon-virtual-dtor -Wduplicated-branches -Wvla -Wpointer-arith -Wextra -Wno-unused-parameter" +) + list(APPEND CMAKE_MODULE_PATH "${PROJECT_SOURCE_DIR}/cmake") configure_file( ${CMAKE_CURRENT_SOURCE_DIR}/cmake/trigdx_config.hpp.in diff --git a/src/lookup_xsimd.cpp b/src/lookup_xsimd.cpp index 5fb499d..f40b933 100644 --- a/src/lookup_xsimd.cpp +++ b/src/lookup_xsimd.cpp @@ -20,8 +20,8 @@ template struct lookup_table { cos_values[i] = cosf(i * PI_FRAC); } } - std::array cos_values; std::array sin_values; + std::array cos_values; }; template struct cosf_dispatcher { @@ -33,7 +33,6 @@ template struct cosf_dispatcher { constexpr uint_fast32_t VL = b_type::size; const uint_fast32_t VS = n - n % VL; - const uint_fast32_t Q_PI = NR_SAMPLES / 4U; const b_type scale = b_type::broadcast(lookup_table_.SCALE); const b_type pi_frac = b_type::broadcast(lookup_table_.PI_FRAC); const m_type mask = m_type::broadcast(lookup_table_.MASK); @@ -42,7 +41,7 @@ template struct cosf_dispatcher { const b_type term2 = b_type::broadcast(lookup_table_.TERM2); // 1/2! const b_type term3 = b_type::broadcast(lookup_table_.TERM3); // 1/3! const b_type term4 = b_type::broadcast(lookup_table_.TERM4); // 1/4! - const m_type quarter_pi = m_type::broadcast(Q_PI); + uint_fast32_t i; for (i = 0; i < VS; i += VL) { const b_type vx = b_type::load(a + i, Tag()); @@ -60,7 +59,7 @@ template struct cosf_dispatcher { const b_type dx4 = xsimd::mul(dx2, dx); const b_type t2 = xsimd::mul(dx2, term2); const b_type t3 = xsimd::mul(dx3, term3); - const b_type t4 = xsimd::mul(dx4, term3); + const b_type t4 = xsimd::mul(dx4, term4); const b_type cosdx = xsimd::add(xsimd::sub(term1, t2), t4); @@ -98,7 +97,6 @@ template struct sinf_dispatcher { constexpr uint_fast32_t VL = b_type::size; const uint_fast32_t VS = n - n % VL; - const uint_fast32_t Q_PI = NR_SAMPLES / 4U; const b_type scale = b_type::broadcast(lookup_table_.SCALE); const b_type pi_frac = b_type::broadcast(lookup_table_.PI_FRAC); const m_type mask = m_type::broadcast(lookup_table_.MASK); @@ -107,7 +105,7 @@ template struct sinf_dispatcher { const b_type term2 = b_type::broadcast(lookup_table_.TERM2); // 1/2! const b_type term3 = b_type::broadcast(lookup_table_.TERM3); // 1/3! const b_type term4 = b_type::broadcast(lookup_table_.TERM4); // 1/4! - const m_type quarter_pi = m_type::broadcast(Q_PI); + uint_fast32_t i; for (i = 0; i < VS; i += VL) { const b_type vx = b_type::load(a + i, Tag()); @@ -160,7 +158,6 @@ template struct sin_cosf_dispatcher { constexpr uint_fast32_t VL = b_type::size; const uint_fast32_t VS = n - n % VL; - const uint_fast32_t Q_PI = NR_SAMPLES / 4U; const b_type scale = b_type::broadcast(lookup_table_.SCALE); const m_type mask = m_type::broadcast(lookup_table_.MASK); const b_type pi_frac = b_type::broadcast(lookup_table_.PI_FRAC); @@ -170,7 +167,6 @@ template struct sin_cosf_dispatcher { const b_type term3 = b_type::broadcast(lookup_table_.TERM3); // 1/3! const b_type term4 = b_type::broadcast(lookup_table_.TERM4); // 1/4! - const m_type quarter_pi = m_type::broadcast(Q_PI); uint_fast32_t i; for (i = 0; i < VS; i += VL) { const b_type vx = b_type::load(a + i, Tag());