From 5d3fb0a4c75f7a4898fd1d5652435d0c292f768e Mon Sep 17 00:00:00 2001 From: Stephen Nicholas Swatman Date: Thu, 25 Jul 2024 14:36:30 +0200 Subject: [PATCH] fixup! Fix several conversion warnings --- .../backend/transformer/nearest_neighbour.hpp | 4 ++- .../cuda/backend/primitive/cuda_texture.hpp | 36 ++++++++----------- 2 files changed, 17 insertions(+), 23 deletions(-) diff --git a/lib/core/covfie/core/backend/transformer/nearest_neighbour.hpp b/lib/core/covfie/core/backend/transformer/nearest_neighbour.hpp index d52425f..5f0b513 100644 --- a/lib/core/covfie/core/backend/transformer/nearest_neighbour.hpp +++ b/lib/core/covfie/core/backend/transformer/nearest_neighbour.hpp @@ -140,7 +140,9 @@ struct nearest_neighbour { for (std::size_t i = 0; i < contravariant_output_t::dimensions; ++i) { - nc[i] = std::lrintf(c[i]); + nc[i] = static_cast( + std::lrintf(c[i]) + ); } return m_backend.at(nc); diff --git a/lib/cuda/covfie/cuda/backend/primitive/cuda_texture.hpp b/lib/cuda/covfie/cuda/backend/primitive/cuda_texture.hpp index c09a68e..aa6b2f9 100644 --- a/lib/cuda/covfie/cuda/backend/primitive/cuda_texture.hpp +++ b/lib/cuda/covfie/cuda/backend/primitive/cuda_texture.hpp @@ -125,32 +125,24 @@ struct cuda_texture { std::size_t idx2 = static_cast(idx); + using stage_scalar_t = + typename covariant_output_t::scalar_t; + if constexpr (covariant_output_t::dimensions == 1) { - stage[idx2] = - static_cast(v[0]); + stage[idx2] = static_cast < stage_scalar_t(v[0]); } else if constexpr (covariant_output_t::dimensions == 2) { - stage[idx2].x = - static_cast(v[0]); - stage[idx2].y = - static_cast(v[1]); + stage[idx2].x = static_cast < stage_scalar_t(v[0]); + stage[idx2].y = static_cast < stage_scalar_t(v[1]); } else if constexpr (covariant_output_t::dimensions == 3) { - stage[idx2].x = - static_cast(v[0]); - stage[idx2].y = - static_cast(v[1]); - stage[idx2].z = - static_cast(v[2]); - stage[idx2].w = - static_cast(0.f); + stage[idx2].x = static_cast < stage_scalar_t(v[0]); + stage[idx2].y = static_cast < stage_scalar_t(v[1]); + stage[idx2].z = static_cast < stage_scalar_t(v[2]); + stage[idx2].w = static_cast < stage_scalar_t(0.f); } else if constexpr (covariant_output_t::dimensions == 4) { - stage[idx2].x = - static_cast(v[0]); - stage[idx2].y = - static_cast(v[1]); - stage[idx2].z = - static_cast(v[2]); - stage[idx2].w = - static_cast(v[3]); + stage[idx2].x = static_cast < stage_scalar_t(v[0]); + stage[idx2].y = static_cast < stage_scalar_t(v[1]); + stage[idx2].z = static_cast < stage_scalar_t(v[2]); + stage[idx2].w = static_cast < stage_scalar_t(v[3]); } }), std::tuple_cat(srcSize)