45 double numer =
len.fX * ab0.
fX + ab0.
fY *
len.fY;
46 if (!
between(0, numer, denom)) {
52 double t = numer / denom;
58 largest =
std::max(largest, -tiniest);
63 *unequal = (
float) largest != (
float) (largest + dist);
75 double numer =
len.fX * ab0.
fX + ab0.
fY *
len.fY;
76 double t = numer / denom;
82 largest =
std::max(largest, -tiniest);
108 double realPtX = (1 - t) *
left + t *
right;
110 double distSq = distU.
fX * distU.
fX + distU.
fY * distU.
fY;
111 double dist =
sqrt(distSq);
114 largest =
std::max(largest, -tiniest);
126 if (xy.
fY == bottom) {
140 double t = (xy.
fY - top) / (bottom - top);
143 double realPtY = (1 - t) * top + t * bottom;
145 double distSq = distU.
fX * distU.
fX + distU.
fY * distU.
fY;
146 double dist =
sqrt(distSq);
149 largest =
std::max(largest, -tiniest);
bool AlmostEqualUlps(const SkPoint &pt1, const SkPoint &pt2)
bool RoughlyEqualUlps(float a, float b)
bool AlmostEqualUlps_Pin(float a, float b)
bool AlmostBequalUlps(float a, float b)
bool AlmostBetweenUlps(float a, float b, float c)
bool between(double a, double b, double c)
static bool left(const SkPoint &p0, const SkPoint &p1)
static bool right(const SkPoint &p0, const SkPoint &p1)
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)
double exactPoint(const SkDPoint &xy) const
static double ExactPointV(const SkDPoint &xy, double top, double bottom, double x)
bool nearRay(const SkDPoint &xy) const
SkDPoint ptAtT(double t) const
static double NearPointH(const SkDPoint &xy, double left, double right, double y)
static double NearPointV(const SkDPoint &xy, double top, double bottom, double x)
static double ExactPointH(const SkDPoint &xy, double left, double right, double y)
double nearPoint(const SkDPoint &xy, bool *unequal) const
double distance(const SkDPoint &a) const