@@ -49,6 +49,9 @@ START_NAMESPACE_STIR
4949double
5050TimeFrameDefinitions::get_start_time (unsigned int frame_num) const
5151{
52+ if (frame_num < 1 )
53+ throw std::runtime_error (" TimeFrameDefinitions::get_start_time called for frame " + std::to_string (frame_num)
54+ + " , but it should be at least 1." );
5255 if (frame_num > frame_times.size ())
5356 throw std::runtime_error (" TimeFrameDefinitions: asked for frame " + std::to_string (frame_num) + " , but only "
5457 + std::to_string (frame_times.size ()) + " frames present." );
@@ -58,6 +61,9 @@ TimeFrameDefinitions::get_start_time(unsigned int frame_num) const
5861double
5962TimeFrameDefinitions::get_end_time (unsigned int frame_num) const
6063{
64+ if (frame_num < 1 )
65+ throw std::runtime_error (" TimeFrameDefinitions::get_end_time called for frame " + std::to_string (frame_num)
66+ + " , but it should be at least 1." );
6167 if (frame_num > frame_times.size ())
6268 throw std::runtime_error (" TimeFrameDefinitions: asked for frame " + std::to_string (frame_num) + " , but only "
6369 + std::to_string (frame_times.size ()) + " frames present." );
@@ -253,8 +259,11 @@ TimeFrameDefinitions::TimeFrameDefinitions(const TimeFrameDefinitions& org_frame
253259}
254260
255261void
256- TimeFrameDefinitions::set_time_frame (const int frame_num, const double start, const double end)
262+ TimeFrameDefinitions::set_time_frame (const unsigned int frame_num, const double start, const double end)
257263{
264+ if (frame_num < 1 )
265+ throw std::runtime_error (" TimeFrameDefinitions::set_time_frame called for frame " + std::to_string (frame_num)
266+ + " , but it should be at least 1." );
258267 if (frame_num > frame_times.size ())
259268 throw std::runtime_error (" TimeFrameDefinitions::set_time_frame called for frame " + std::to_string (frame_num) + " , but only "
260269 + std::to_string (frame_times.size ()) + " frames present." );
@@ -265,7 +274,7 @@ TimeFrameDefinitions::set_time_frame(const int frame_num, const double start, co
265274bool
266275TimeFrameDefinitions::operator ==(const TimeFrameDefinitions& t) const
267276{
268- for (int frame = 0 ; frame < frame_times.size (); frame++)
277+ for (int frame = 0 ; static_cast < unsigned >( frame) < frame_times.size (); frame++)
269278 {
270279
271280 const bool is_identical = (std::abs (frame_times.at (frame).first - t.frame_times .at (frame).first ) <= 10e-5 )
0 commit comments