25 int badIx = (
int) floorf(
x + 0.5f);
39 badIx = (
int) floorf(
x + 0.5f);
55 { 0, 0 }, { 1, 1 }, { 99.234f, -42342 }
59 { 0, 0 }, { 1, 1 }, { 99.234f, -42342 }, {
SK_ScalarNaN, 3 }, { 2, 3 },
62 { 0, 0 }, { 1, 1 }, { 99.234f, -42342 }, { 3,
SK_ScalarNaN }, { 2, 3 },
65 { 0, 0 }, { 1, 1 }, { 99.234f, -42342 }, {
SK_ScalarInfinity, 3 }, { 2, 3 },
68 { 0, 0 }, { 1, 1 }, { 99.234f, -42342 }, { 3,
SK_ScalarInfinity }, { 2, 3 },
88 bool rectIsFinite = !r.
isEmpty();
95 int exponent = bits << 1 >> 24;
96 return exponent != 0xFF;
112 return proc(
x) && proc(
y);
116 return proc(
x * 0 +
y * 0);
140#pragma warning(disable : 4756)
149 float max = 3.402823466e+38f;
165 {
max * 0.75f,
true },
167 { -
max * 0.75f,
true },
186 for (
i = 0;
i < n; ++
i) {
187 for (
size_t k = 0; k <
std::size(gProc1); ++k) {
188 const Rec& rec =
data[
i];
189 bool finite = gProc1[k](rec.fValue);
194 for (
i = 0;
i < n; ++
i) {
195 const Rec& rec0 =
data[
i];
196 for (
size_t j = 0; j < n; ++j) {
197 const Rec& rec1 =
data[j];
198 for (
size_t k = 0; k <
std::size(gProc1); ++k) {
202 bool finite = gProc2[
m](rec0.fValue, rec1.fValue, proc1);
203 bool finite2 = rec0.fIsFinite && rec1.fIsFinite;
214#pragma warning ( pop )
static bool isFinite_mulzero(float x)
static bool isFinite2_and(float x, float y, IsFiniteProc1 proc)
bool(* IsFiniteProc2)(float, float, IsFiniteProc1)
static void test_isRectFinite(skiatest::Reporter *reporter)
DEF_TEST(Scalar, reporter)
static bool isFinite_int(float x)
static void test_floatclass(skiatest::Reporter *reporter, float value, FloatClass fc)
static void test_roundtoint(skiatest::Reporter *reporter)
static void test_isfinite(skiatest::Reporter *reporter)
static bool isFinite2_mulzeroadd(float x, float y, IsFiniteProc1 proc)
bool(* IsFiniteProc1)(float)
static bool isFinite_float(float x)
static uint32_t SkFloat2Bits(float value)
static constexpr bool SkIsNaN(T x)
static bool SkIsFinite(T x, Pack... values)
#define SkScalarRoundToInt(x)
#define SK_ScalarInfinity
static constexpr bool SkToBool(const T &x)
#define REPORTER_ASSERT(r, cond,...)
static float max(float r, float g, float b)
it will be possible to load the file into Perfetto s trace viewer disable asset Prevents usage of any non test fonts unless they were explicitly Loaded via prefetched default font Indicates whether the embedding started a prefetch of the default font manager before creating the engine run In non interactive keep the shell running after the Dart script has completed enable serial On low power devices with low core running concurrent GC tasks on threads can cause them to contend with the UI thread which could potentially lead to jank This option turns off all concurrent GC activities domain network JSON encoded network policy per domain This overrides the DisallowInsecureConnections switch Embedder can specify whether to allow or disallow insecure connections at a domain level old gen heap size
void setBounds(const SkPoint pts[], int count)
std::shared_ptr< const fml::Mapping > data