14 lines
785 B
C
14 lines
785 B
C
/*! @brief HFRange is the 64 bit analog of NSRange, containing a 64 bit location and length. */
|
|
typedef struct {
|
|
unsigned long long location;
|
|
unsigned long long length;
|
|
} HFRange;
|
|
|
|
/*! @brief HFFPRange is a struct used for representing floating point ranges, similar to NSRange. It contains two long doubles.
|
|
|
|
This is useful for (for example) showing the range of visible lines. A double-precision value has 53 significant bits in the mantissa - so we would start to have precision problems at the high end of the range we can represent. Long double has a 64 bit mantissa on Intel, which means that we would start to run into trouble at the very very end of our range - barely acceptable. */
|
|
typedef struct {
|
|
long double location;
|
|
long double length;
|
|
} HFFPRange;
|