7#ifndef SkPathOpsPoint_DEFINED
8#define SkPathOpsPoint_DEFINED
60 return fX *
a.fY -
fY *
a.fX;
66 double xy =
fX *
a.fY;
67 double yx =
fY *
a.fX;
73 double xy =
fX *
a.fY;
74 double yx =
fY *
a.fX;
79 return fX *
a.fX +
fY *
a.fY;
112 return {
a.fX -
b.fX,
a.fY -
b.fY };
116 return a.fX ==
b.fX &&
a.fY ==
b.fY;
120 return a.fX !=
b.fX ||
a.fY !=
b.fY;
167 largest =
std::max(largest, -tiniest);
187 largest =
std::max(largest, -tiniest);
210 largest =
std::max(largest, -tiniest);
248 largest =
std::max(largest, -tiniest);
262 largest =
std::max(largest, -tiniest);
static bool approximately_zero(double x)
static bool SkIsFinite(T x, Pack... values)
static constexpr double sk_ieee_double_divide(double numer, double denom)
bool AlmostEqualUlps(const SkPoint &pt1, const SkPoint &pt2)
bool RoughlyEqualUlps(float a, float b)
bool AlmostPequalUlps(float a, float b)
bool AlmostDequalUlps(float a, float b)
bool AlmostEqualUlpsNoNormalCheck(float a, float b)
bool roughly_zero_when_compared_to(double x, double y)
bool approximately_equal(double x, double y)
bool roughly_equal(double x, double y)
#define SkDoubleToScalar(x)
static float max(float r, float g, float b)
static float min(float r, float g, float b)
SIN Vec< N, float > sqrt(const Vec< N, float > &x)
void set(const SkPoint &pt)
SkDPoint operator+(const SkDVector &v)
bool approximatelyEqual(const SkPoint &a) const
void operator+=(const SkDVector &v)
void operator=(const SkPoint &pt)
void operator-=(const SkDVector &v)
friend bool operator==(const SkDPoint &a, const SkDPoint &b)
double distanceSquared(const SkDPoint &a) const
SkDPoint operator-(const SkDVector &v)
static SkDPoint Mid(const SkDPoint &a, const SkDPoint &b)
bool approximatelyDEqual(const SkPoint &a) const
bool approximatelyEqual(const SkDPoint &a) const
SkPoint asSkPoint() const
static void Dump(const SkPoint &pt)
static bool ApproximatelyEqual(const SkPoint &a, const SkPoint &b)
friend SkDVector operator-(const SkDPoint &a, const SkDPoint &b)
static bool RoughlyEqual(const SkPoint &a, const SkPoint &b)
friend bool operator!=(const SkDPoint &a, const SkDPoint &b)
static void DumpHex(const SkPoint &pt)
bool approximatelyDEqual(const SkDPoint &a) const
static bool WayRoughlyEqual(const SkPoint &a, const SkPoint &b)
bool approximatelyZero() const
bool roughlyEqual(const SkDPoint &a) const
double distance(const SkDPoint &a) const
void operator/=(const double s)
SkDVector & set(const SkVector &pt)
double crossNoNormalCheck(const SkDVector &a) const
double cross(const SkDVector &a) const
SkVector asSkVector() const
void operator*=(const double s)
double dot(const SkDVector &a) const
void operator-=(const SkDVector &v)
void operator+=(const SkDVector &v)
double crossCheck(const SkDVector &a) const
double lengthSquared() const