diff options
author | caryclark@google.com <caryclark@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> | 2013-09-16 15:55:01 +0000 |
---|---|---|
committer | caryclark@google.com <caryclark@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> | 2013-09-16 15:55:01 +0000 |
commit | 570863f2e22b8ea7d7c504bd15e4f766af097df2 (patch) | |
tree | aa07d18266edd483ee71d7be9491da622cf400f3 /src/pathops/SkPathOpsTypes.h | |
parent | cf7854057638dfa75e788f3f8babed75d587d444 (diff) |
path ops work in progress
path ops work in progress
BUG=
Review URL: https://codereview.chromium.org/21359002
git-svn-id: http://skia.googlecode.com/svn/trunk@11291 2bbb7eff-a529-9590-31e7-b0007b416f81
Diffstat (limited to 'src/pathops/SkPathOpsTypes.h')
-rw-r--r-- | src/pathops/SkPathOpsTypes.h | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/src/pathops/SkPathOpsTypes.h b/src/pathops/SkPathOpsTypes.h index 19e3efadd1..bc39675d62 100644 --- a/src/pathops/SkPathOpsTypes.h +++ b/src/pathops/SkPathOpsTypes.h @@ -28,11 +28,32 @@ inline bool AlmostEqualUlps(double a, double b) { return AlmostEqualUlps(SkDoubleToScalar(a), SkDoubleToScalar(b)); } +bool NotAlmostEqualUlps(float a, float b); +inline bool NotAlmostEqualUlps(double a, double b) { + return NotAlmostEqualUlps(SkDoubleToScalar(a), SkDoubleToScalar(b)); +} + +// Use Almost Bequal when comparing coordinates in conjunction with between. +bool AlmostBequalUlps(float a, float b); +inline bool AlmostBequalUlps(double a, double b) { + return AlmostBequalUlps(SkDoubleToScalar(a), SkDoubleToScalar(b)); +} + bool RoughlyEqualUlps(float a, float b); inline bool RoughlyEqualUlps(double a, double b) { return RoughlyEqualUlps(SkDoubleToScalar(a), SkDoubleToScalar(b)); } +bool AlmostLessUlps(float a, float b); +inline bool AlmostLessUlps(double a, double b) { + return AlmostLessUlps(SkDoubleToScalar(a), SkDoubleToScalar(b)); +} + +bool AlmostLessOrEqualUlps(float a, float b); +inline bool AlmostLessOrEqualUlps(double a, double b) { + return AlmostLessOrEqualUlps(SkDoubleToScalar(a), SkDoubleToScalar(b)); +} + bool AlmostBetweenUlps(float a, float b, float c); inline bool AlmostBetweenUlps(double a, double b, double c) { return AlmostBetweenUlps(SkDoubleToScalar(a), SkDoubleToScalar(b), SkDoubleToScalar(c)); @@ -274,4 +295,22 @@ inline double SkPinT(double t) { return precisely_less_than_zero(t) ? 0 : precisely_greater_than_one(t) ? 1 : t; } +#ifdef SK_DEBUG +inline void DebugDumpDouble(double x) { + if (x == floor(x)) { + SkDebugf("%.0f", x); + } else { + SkDebugf("%1.17g", x); + } +} + +inline void DebugDumpFloat(float x) { + if (x == floorf(x)) { + SkDebugf("%.0f", x); + } else { + SkDebugf("%1.9gf", x); + } +} +#endif + #endif |