diff --git a/aidge_export_cpp/kernels/pooling.hpp b/aidge_export_cpp/kernels/pooling.hpp index 0829cc4b7f66f31c56ee403b9de99aedcd57e673..85fece507429f08159678a0212fb218b7aa44c4d 100644 --- a/aidge_export_cpp/kernels/pooling.hpp +++ b/aidge_export_cpp/kernels/pooling.hpp @@ -116,11 +116,9 @@ void pooling_forward( } } - if constexpr (std::is_integral<Output_T>::value) { - outputs[oOffset + output] = (Output_T) std::round((float)sum / (POOL_HEIGHT * POOL_WIDTH)); - } else { - outputs[oOffset + output] = (Output_T) (sum / (POOL_HEIGHT * POOL_WIDTH)); - } + outputs[oOffset + output] = static_cast<Output_T>( + std::is_integral<Output_T>::value ? std::round((float)sum / (POOL_HEIGHT * POOL_WIDTH)) : sum / (POOL_HEIGHT * POOL_WIDTH) + ); } else {