80 if (r2 < (1.0 + r1) / 2.0) {
88 if (r2 < (1.0 - r1)) {
94 if ((1.0 - r1) <= r2 && r2 < (2.0 * r1)) {
101 if (r1 < 2.0 / 3.0) {
102 if (r2 < (1.0 - r1)) {
108 if ((2.0 * r1 - 1.0) < r2 && r2 < (1.0 - r1)) {
114 if (r2 < (r1 / 2.0)) {
126 if (v[X_INDEX] < 0.0) {
129 long long int axisi = h[
J_INDEX] / 2;
130 long long int diff = h[
I_INDEX] - axisi;
133 long long int axisi = (h[
J_INDEX] + 1) / 2;
134 long long int diff = h[
I_INDEX] - axisi;
139 if (v[Y_INDEX] < 0.0) {
292 ijk[
I_INDEX] = (int)lround((3 * i - j) / 7.0);
293 ijk[
J_INDEX] = (int)lround((i + 2 * j) / 7.0);
311 ijk[
I_INDEX] = (int)lround((2 * i + j) / 7.0);
312 ijk[
J_INDEX] = (int)lround((3 * j - i) / 7.0);
374 _ijkAdd(ijk, UNIT_VECS[digit], ijk);
EXTENSION_NOINLINE int _unitIjkToDigit(const CoordIJK(ijk))
#define EXTENSION_NOINLINE
EXTENSION_INLINE bool _ijkSub(const CoordIJK(h1), const CoordIJK(h2), CoordIJK(diff))
Constants used by more than one source code file.
EXTENSION_NOINLINE bool _neighbor(CoordIJK(ijk), int digit)
EXTENSION_NOINLINE bool _ijkRotate60ccw(CoordIJK(ijk))
EXTENSION_INLINE int _ijkMatches(const CoordIJK(c1), const CoordIJK(c2))
EXTENSION_NOINLINE bool _downAp7r(CoordIJK(ijk))
EXTENSION_NOINLINE bool _ijkRotate60cw(CoordIJK(ijk))
EXTENSION_INLINE bool _ijkScale(CoordIJK(c), int factor)
EXTENSION_NOINLINE bool _hex2dToCoordIJK(const Vec2d(v), CoordIJK(h))
EXTENSION_NOINLINE int _rotate60ccw(int digit)
#define CoordIJK_clone(ijk)
#define Vec2d(variable_name)
EXTENSION_INLINE bool _ijkAdd(const CoordIJK(h1), const CoordIJK(h2), CoordIJK(sum))
EXTENSION_INLINE bool _ijkToHex2d(const CoordIJK(h), Vec2d(v))
Direction
H3 digit representing ijk+ axes direction. Values will be within the lowest 3 bits of an integer...
EXTENSION_NOINLINE int _rotate60cw(int digit)
#define CoordIJK(variable_name)
EXTENSION_NOINLINE bool _downAp7(CoordIJK(ijk))
EXTENSION_NOINLINE bool _upAp7(CoordIJK(ijk))
Header file for CoordIJK functions including conversion from lat/lon.
EXTENSION_NOINLINE bool _upAp7r(CoordIJK(ijk))
EXTENSION_INLINE bool _setIJK(CoordIJK(ijk), int i, int j, int k)
EXTENSION_NOINLINE bool _ijkNormalize(CoordIJK(c))