#include "util.h" #include <cmath> #include <thread> namespace contourpy { bool Util::_nan_loaded = false; double Util::nan = 0.0; void Util::ensure_nan_loaded() { if (!_nan_loaded) { auto numpy = py::module_::import("numpy"); nan = numpy.attr("nan").cast<double>(); _nan_loaded = true; } } index_t Util::get_max_threads() { return static_cast<index_t>(std::thread::hardware_concurrency()); } bool Util::is_nan(double value) { return std::isnan(value); } } // namespace contourpy