Index: include/core/SkFloatingPoint.h |
diff --git a/include/core/SkFloatingPoint.h b/include/core/SkFloatingPoint.h |
index 2ca1d088d391341eaf1d652353a084a0da7049ba..7427562323f39d3dfe22ea35b37c0c2a382cf0c9 100644 |
--- a/include/core/SkFloatingPoint.h |
+++ b/include/core/SkFloatingPoint.h |
@@ -11,7 +11,6 @@ |
#define SkFloatingPoint_DEFINED |
#include "SkTypes.h" |
-#include "../private/SkOpts.h" |
#include <math.h> |
#include <float.h> |
@@ -128,6 +127,10 @@ extern const uint32_t gIEEENegativeInfinity; |
#define SK_FloatInfinity (*SkTCast<const float*>(&gIEEEInfinity)) |
#define SK_FloatNegativeInfinity (*SkTCast<const float*>(&gIEEENegativeInfinity)) |
+// We forward declare this to break an #include cycle. |
+// (SkScalar -> SkFloatingPoint -> SkOpts.h -> SkXfermode -> SkColor -> SkScalar) |
+namespace SkOpts { extern float (*rsqrt)(float); } |
+ |
// Fast, approximate inverse square root. |
// Compare to name-brand "1.0f / sk_float_sqrt(x)". Should be around 10x faster on SSE, 2x on NEON. |
static inline float sk_float_rsqrt(const float x) { |