Fix integer overflow when accumulating timing values.

This commit is contained in:
catree 2018-11-07 11:54:51 +01:00
parent e75576e1ab
commit eebf0dd7c9

View File

@ -3074,7 +3074,7 @@ void Net::setHalideScheduler(const String& scheduler)
int64 Net::getPerfProfile(std::vector<double>& timings) int64 Net::getPerfProfile(std::vector<double>& timings)
{ {
timings = std::vector<double>(impl->layersTimings.begin() + 1, impl->layersTimings.end()); timings = std::vector<double>(impl->layersTimings.begin() + 1, impl->layersTimings.end());
int64 total = std::accumulate(timings.begin(), timings.end(), 0); int64 total = (int64)std::accumulate(timings.begin(), timings.end(), 0.0);
return total; return total;
} }