in h3_vertex.c [320:345]
H3Error H3_EXPORT(vertexToLatLng)(H3Index vertex, LatLng *coord) {
// Get the vertex number and owner from the vertex
int vertexNum = H3_GET_RESERVED_BITS(vertex);
H3Index owner = vertex;
H3_SET_MODE(owner, H3_CELL_MODE);
H3_SET_RESERVED_BITS(owner, 0);
// Get the single vertex from the boundary
CellBoundary gb;
FaceIJK fijk;
H3Error fijkError = _h3ToFaceIjk(owner, &fijk);
if (fijkError) {
return fijkError;
}
int res = H3_GET_RESOLUTION(owner);
if (H3_EXPORT(isPentagon)(owner)) {
_faceIjkPentToCellBoundary(&fijk, res, vertexNum, 1, &gb);
} else {
_faceIjkToCellBoundary(&fijk, res, vertexNum, 1, &gb);
}
// Copy from boundary to output coord
*coord = gb.verts[0];
return E_SUCCESS;
}