mirror of
https://gitlab.kitware.com/vtk/vtk-m
synced 2024-10-08 03:18:58 +00:00
clang-tidy: fix bugprone-incorrect-roundings
lints
Adding `0.5` is not correct in all cases. Namely, adding `0.5` will cause the value immediately before it to be rounded to `1` due to the "round to nearest even" rule. Trust the standard library to get this right.
This commit is contained in:
parent
0ce73eb680
commit
1541cfa8a6
@ -10,6 +10,8 @@
|
||||
#ifndef vtk_m_worklet_colorconversion_Conversions_h
|
||||
#define vtk_m_worklet_colorconversion_Conversions_h
|
||||
|
||||
#include <cmath>
|
||||
|
||||
namespace vtkm
|
||||
{
|
||||
namespace worklet
|
||||
@ -26,13 +28,13 @@ VTKM_EXEC inline vtkm::UInt8 ColorToUChar(T t)
|
||||
template <>
|
||||
VTKM_EXEC inline vtkm::UInt8 ColorToUChar(vtkm::Float64 t)
|
||||
{
|
||||
return static_cast<vtkm::UInt8>(t * 255.0f + 0.5f);
|
||||
return static_cast<vtkm::UInt8>(std::round(t * 255.0f));
|
||||
}
|
||||
|
||||
template <>
|
||||
VTKM_EXEC inline vtkm::UInt8 ColorToUChar(vtkm::Float32 t)
|
||||
{
|
||||
return static_cast<vtkm::UInt8>(t * 255.0f + 0.5f);
|
||||
return static_cast<vtkm::UInt8>(std::round(t * 255.0f));
|
||||
}
|
||||
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user