Explicitly cast values of different types

In case the warning -Werror=conversion is active with GCC, the warnings
about "conversion from A to B may change value" lead to a compilation
error. This explicitly convert the values to address these warnings.
This commit is contained in:
Sven Fischer 2024-05-23 16:49:57 +02:00
parent 4e8d92bf02
commit 6bf7dc9ca6
3 changed files with 6 additions and 6 deletions

View File

@ -178,7 +178,7 @@ namespace Catch {
double diff = b - m; double diff = b - m;
return a + diff * diff; return a + diff * diff;
} ) / } ) /
( last - first ); static_cast<double>( last - first );
return std::sqrt( variance ); return std::sqrt( variance );
} }
@ -213,7 +213,7 @@ namespace Catch {
double* first, double* first,
double* last ) { double* last ) {
auto count = last - first; auto count = last - first;
double idx = (count - 1) * k / static_cast<double>(q); double idx = static_cast<double>((count - 1) * k) / static_cast<double>(q);
int j = static_cast<int>(idx); int j = static_cast<int>(idx);
double g = idx - j; double g = idx - j;
std::nth_element(first, first + j, last); std::nth_element(first, first + j, last);
@ -316,10 +316,10 @@ namespace Catch {
double accel = sum_cubes / ( 6 * std::pow( sum_squares, 1.5 ) ); double accel = sum_cubes / ( 6 * std::pow( sum_squares, 1.5 ) );
long n = static_cast<long>( resample.size() ); long n = static_cast<long>( resample.size() );
double prob_n = double prob_n = static_cast<double>(
std::count_if( resample.begin(), std::count_if( resample.begin(),
resample.end(), resample.end(),
[point]( double x ) { return x < point; } ) / [point]( double x ) { return x < point; } )) /
static_cast<double>( n ); static_cast<double>( n );
// degenerate case with uniform samples // degenerate case with uniform samples
if ( Catch::Detail::directCompare( prob_n, 0. ) ) { if ( Catch::Detail::directCompare( prob_n, 0. ) ) {

View File

@ -30,7 +30,7 @@ namespace Catch {
return static_cast<unsigned int>(getElapsedMicroseconds()/1000); return static_cast<unsigned int>(getElapsedMicroseconds()/1000);
} }
auto Timer::getElapsedSeconds() const -> double { auto Timer::getElapsedSeconds() const -> double {
return getElapsedMicroseconds()/1000000.0; return static_cast<double>(getElapsedMicroseconds())/1000000.0;
} }

View File

@ -52,7 +52,7 @@ namespace {
SimplePcg32::result_type SimplePcg32::operator()() { SimplePcg32::result_type SimplePcg32::operator()() {
// prepare the output value // prepare the output value
const uint32_t xorshifted = static_cast<uint32_t>(((m_state >> 18u) ^ m_state) >> 27u); const uint32_t xorshifted = static_cast<uint32_t>(((m_state >> 18u) ^ m_state) >> 27u);
const auto output = rotate_right(xorshifted, m_state >> 59u); const auto output = rotate_right(xorshifted, static_cast<uint32_t>(m_state >> 59u));
// advance state // advance state
m_state = m_state * 6364136223846793005ULL + s_inc; m_state = m_state * 6364136223846793005ULL + s_inc;