8#include <initializer_list>
41 if ((
used & 4095) == 0)
44 void memoryFor(std::initializer_list<std::pair<std::uint64_t, std::uint64_t>> terms)
const
46 std::uint64_t
total = 0;
47 for (
auto term : terms) {
49 term.first > (std::numeric_limits<std::uint64_t>::max() -
total) / term.second)
51 total += term.first * term.second;
55 void memory(std::uint64_t estimate)
const
58 fail(
"workspace_limit",
"Estimated workspace exceeds the configured limit.",
64 return std::uint64_t(std::min(
a,
b)) << 32 | std::max(
a,
b);
69 for (
int k = 1;
k <
n; ++
k) {
79 return a.left() <=
b.right() &&
a.right() >=
b.left() &&
a.top() <=
b.bottom() &&
80 a.bottom() >=
b.top();
84 return std::isfinite(
p.x()) && std::isfinite(
p.y());
86inline bool utf8(
const std::string &
s)
88 for (std::size_t
i = 0;
i <
s.size();) {
89 const auto first =
static_cast<unsigned char>(
s[
i++]);
93 std::uint32_t cp = 0,
minimum = 0;
108 if (
i + rest >
s.size())
111 const auto c =
static_cast<unsigned char>(
s[
i++]);
112 if ((
c & 0xc0) != 0x80)
114 cp = cp << 6 | (
c & 63);
116 if (cp < minimum || cp > 0x10ffff || (cp >= 0xd800 && cp <= 0xdfff))
123 return std::chrono::duration<double>(std::chrono::steady_clock::now() -
start).count();
Definition geometry.hpp:59
Definition geometry.hpp:11
size_t i
Definition contourjob.cpp:30
int code
Definition heatconfigdialog.cpp:133
double s
Scene px per model length unit.
Definition inletdrawingview.cpp:95
ArrowPlacement p
Definition linesymbollayer.cpp:29
std::vector< int > start
size = pixels + 1
Definition mesh2dresultsexport.cpp:762
std::size_t n
Definition mesh2dresultsexport.cpp:538
int k
Definition mesh2dresultsexport.cpp:694
int total
Definition meshassignmentsampling.cpp:34
double seconds(std::chrono::steady_clock::time_point start)
Definition operation.hpp:121
void fail(std::string code, std::string message, RunStatus status=RunStatus::Infeasible)
Definition operation.hpp:17
bool utf8(const std::string &s)
Definition operation.hpp:86
bool finite(Point2 p)
Definition operation.hpp:82
std::uint64_t edgeKey(Index a, Index b)
Definition operation.hpp:62
bool meets(const Box2 &a, const Box2 &b)
Definition operation.hpp:77
std::uint32_t Index
Definition mesh.hpp:12
RunStatus
Definition events.hpp:21
Box box
Definition constraintaudit.cpp:161
QString message
Definition queryparser.cpp:230
std::uint64_t maxWorkspaceBytes
Definition mesh.hpp:61
std::uint64_t maxWork
Definition mesh.hpp:62
Definition operation.hpp:13
RunStatus status
Definition operation.hpp:14
std::string message
Definition operation.hpp:15
std::string code
Definition operation.hpp:15
Definition operation.hpp:22
std::uint64_t maximum
Definition operation.hpp:25
void memoryFor(std::initializer_list< std::pair< std::uint64_t, std::uint64_t > > terms) const
Definition operation.hpp:44
void memory(std::uint64_t estimate) const
Definition operation.hpp:55
void tick(std::uint64_t count=1)
Definition operation.hpp:36
const std::function< bool()> & cancelled
Definition operation.hpp:24
void check() const
Definition operation.hpp:31
const Limits & limits
Definition operation.hpp:23
std::uint64_t used
Definition operation.hpp:25
Work(const Limits &l, const std::function< bool()> &c)
Definition operation.hpp:26
int y
Definition terrainerrorfield.cpp:60
double a
Definition terrainerrorfield.cpp:42
double b
Definition terrainerrorfield.cpp:42
quint64 count
Definition terrainerrorfield.cpp:43
double c
Definition terrainerrorfield.cpp:42
int x
Definition terrainerrorfield.cpp:60
double y0
Definition terrainerrorfield.cpp:41
double y1
Definition terrainerrorfield.cpp:41
double x1
Definition terrainerrorfield.cpp:41
double x0
Definition terrainerrorfield.cpp:41
Sample minimum
Definition timeseriesrunlayer.cpp:51
Sample first
Definition timeseriesrunlayer.cpp:51