Read-only mirrors. Development, issues and pull requests are on GitHub.

summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorSven Fischer2024-05-23 16:49:57 +0200
committerMartin Hořeňovský2024-10-14 21:37:35 +0200
commit0b2af562710d1bac7fd32ca3f05bf1d713bb97e4 (patch)
treec3dd2afbc4d83e4476dcb8cdb25ddae6e89788bf
parent69d62abc9a48033177b99ae79c13a6f1b280e94c (diff)
downloadcatch3-0b2af562710d1bac7fd32ca3f05bf1d713bb97e4.tar.gz
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.
-rw-r--r--src/catch2/benchmark/detail/catch_stats.cpp8
-rw-r--r--src/catch2/catch_timer.cpp2
-rw-r--r--src/catch2/internal/catch_random_number_generator.cpp2
3 files changed, 6 insertions, 6 deletions
diff --git a/src/catch2/benchmark/detail/catch_stats.cpp b/src/catch2/benchmark/detail/catch_stats.cpp
index e6de359c..2a5a2e03 100644
--- a/src/catch2/benchmark/detail/catch_stats.cpp
+++ b/src/catch2/benchmark/detail/catch_stats.cpp
@@ -178,7 +178,7 @@ namespace Catch {
double diff = b - m;
return a + diff * diff;
} ) /
- ( last - first );
+ static_cast<double>( last - first );
return std::sqrt( variance );
}
@@ -213,7 +213,7 @@ namespace Catch {
double* first,
double* last ) {
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);
double g = idx - j;
std::nth_element(first, first + j, last);
@@ -316,10 +316,10 @@ namespace Catch {
double accel = sum_cubes / ( 6 * std::pow( sum_squares, 1.5 ) );
long n = static_cast<long>( resample.size() );
- double prob_n =
+ double prob_n = static_cast<double>(
std::count_if( resample.begin(),
resample.end(),
- [point]( double x ) { return x < point; } ) /
+ [point]( double x ) { return x < point; } )) /
static_cast<double>( n );
// degenerate case with uniform samples
if ( Catch::Detail::directCompare( prob_n, 0. ) ) {
diff --git a/src/catch2/catch_timer.cpp b/src/catch2/catch_timer.cpp
index 51396654..efdd8b7d 100644
--- a/src/catch2/catch_timer.cpp
+++ b/src/catch2/catch_timer.cpp
@@ -30,7 +30,7 @@ namespace Catch {
return static_cast<unsigned int>(getElapsedMicroseconds()/1000);
}
auto Timer::getElapsedSeconds() const -> double {
- return getElapsedMicroseconds()/1000000.0;
+ return static_cast<double>(getElapsedMicroseconds())/1000000.0;
}
diff --git a/src/catch2/internal/catch_random_number_generator.cpp b/src/catch2/internal/catch_random_number_generator.cpp
index 6a79dff3..c88cd8f2 100644
--- a/src/catch2/internal/catch_random_number_generator.cpp
+++ b/src/catch2/internal/catch_random_number_generator.cpp
@@ -52,7 +52,7 @@ namespace {
SimplePcg32::result_type SimplePcg32::operator()() {
// prepare the output value
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
m_state = m_state * 6364136223846793005ULL + s_inc;