45 #define CoordIJK(variable_name) int variable_name[3]
46 #define CoordIJK_ptr(variable_name) int* variable_name
47 #define CoordIJK_clone(ijk) \
48 { ijk[I_INDEX], ijk[J_INDEX], ijk[K_INDEX] }
49 #define CoordIJK_copy(dest_ijk, src_ijk) \
50 dest_ijk[I_INDEX] = src_ijk[I_INDEX]; \
51 dest_ijk[J_INDEX] = src_ijk[J_INDEX]; \
52 dest_ijk[K_INDEX] = src_ijk[K_INDEX];
53 #define CoordIJKArray(variable_name, size) int variable_name[size][3]
EXTENSION_NOINLINE int _unitIjkToDigit(const CoordIJK(ijk))
#define EXTENSION_NOINLINE
2D floating point vector functions.
EXTENSION_INLINE bool _ijkSub(const CoordIJK(h1), const CoordIJK(h2), CoordIJK(diff))
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 CoordIJKArray(variable_name, size)
#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)
Primary H3 core library entry points.
EXTENSION_NOINLINE bool _downAp7(CoordIJK(ijk))
EXTENSION_NOINLINE bool _upAp7(CoordIJK(ijk))
EXTENSION_NOINLINE bool _upAp7r(CoordIJK(ijk))
EXTENSION_INLINE bool _setIJK(CoordIJK(ijk), int i, int j, int k)
EXTENSION_NOINLINE bool _ijkNormalize(CoordIJK(c))