include/core/SkScalarCompare.h File Reference

#include "SkFloatBits.h"
#include "SkRect.h"
Include dependency graph for SkScalarCompare.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Defines

#define SkScalarToCompareType(x)   (x)

Typedefs

typedef SkScalar SkScalarCompareType
typedef SkRect SkRectCompareType

Define Documentation

#define SkScalarToCompareType (  )     (x)

Definition at line 42 of file SkScalarCompare.h.


Typedef Documentation

Definition at line 41 of file SkScalarCompare.h.

Skia can spend a lot of time just comparing scalars (e.g. quickReject). When scalar==fixed, this is very fast, and when scalar==hardware-float, this is also reasonable, but if scalar==software-float, then each compare can be a function call and take real time. To account for that, we have the flag SK_SCALAR_SLOW_COMPARES.

If this is defined, we have a special trick where we quickly convert floats to a 2's compliment form, and then treat them as signed 32bit integers. In this form we lose a few subtlties (e.g. NaNs always comparing false) but we gain the speed of integer compares.

Definition at line 40 of file SkScalarCompare.h.


Generated on Tue Oct 20 11:03:41 2009 for Skia by  doxygen 1.6.1