#include "precomp.hpp"
#include "opencv2/core/gpumat.hpp"
-#include <iostream>
+#include <cctype>
#ifdef HAVE_CUDA
#include <cuda_runtime.h>
{
if (err < 0)
{
- std::ostringstream msg;
- msg << "NPP API Call Error: " << err;
- cv::gpu::error(msg.str().c_str(), file, line, func);
+ String msg = cv::format("NPP API Call Error: %d", err);
+ cv::gpu::error(msg.c_str(), file, line, func);
}
}
}
void CudaArch::fromStr(const String& set_as_str, std::vector<int>& arr)
{
- if (set_as_str.find_first_not_of(" ") == String::npos)
- return;
+ arr.clear();
- std::istringstream stream(set_as_str);
- int cur_value;
-
- while (!stream.eof())
+ size_t pos = 0;
+ while (pos < set_as_str.size())
{
- stream >> cur_value;
- arr.push_back(cur_value);
+ if (isspace(set_as_str[pos]))
+ {
+ ++pos;
+ }
+ else
+ {
+ int cur_value;
+ int chars_read;
+ int args_read = sscanf(set_as_str.c_str() + pos, "%d%n", &cur_value, &chars_read);
+ CV_Assert(args_read == 2);
+
+ arr.push_back(cur_value);
+ pos += chars_read;
+ }
}
std::sort(arr.begin(), arr.end());
const char* errorStr = cvErrorStr(code);
const char* function = func ? func : "unknown function";
- std::cerr << "OpenCV Error: " << errorStr << "(" << error_string << ") in " << function << ", file " << file << ", line " << line;
- std::cerr.flush();
+ fprintf(stderr, "OpenCV Error: %s(%s) in %s, file %s, line %d", errorStr, error_string, function, file, line);
+ fflush(stderr);
}
else
cv::error( cv::Exception(code, error_string, func, file, line) );