# Generated by using Rcpp::compileAttributes() -> do not edit by hand
# Generator token: 10BE3573-1514-4C36-9D1C-5A225CD40393

cpp_hex_quantize_ap3 <- function(icosa_triangle_x, icosa_triangle_y, resolution) {
    .Call(`_hexify_cpp_hex_quantize_ap3`, icosa_triangle_x, icosa_triangle_y, resolution)
}

cpp_hex_center_ap3 <- function(i, j, resolution) {
    .Call(`_hexify_cpp_hex_center_ap3`, i, j, resolution)
}

cpp_hex_corners_ap3 <- function(i, j, resolution, hex_radius = 1.0) {
    .Call(`_hexify_cpp_hex_corners_ap3`, i, j, resolution, hex_radius)
}

cpp_lonlat_to_cell_ap3 <- function(lon_deg, lat_deg, resolution) {
    .Call(`_hexify_cpp_lonlat_to_cell_ap3`, lon_deg, lat_deg, resolution)
}

cpp_cell_to_lonlat_ap3 <- function(face, i, j, resolution) {
    .Call(`_hexify_cpp_cell_to_lonlat_ap3`, face, i, j, resolution)
}

cpp_hex_quantize_ap4 <- function(icosa_triangle_x, icosa_triangle_y, resolution) {
    .Call(`_hexify_cpp_hex_quantize_ap4`, icosa_triangle_x, icosa_triangle_y, resolution)
}

cpp_hex_center_ap4 <- function(i, j, resolution) {
    .Call(`_hexify_cpp_hex_center_ap4`, i, j, resolution)
}

cpp_hex_corners_ap4 <- function(i, j, resolution, hex_radius = 1.0) {
    .Call(`_hexify_cpp_hex_corners_ap4`, i, j, resolution, hex_radius)
}

cpp_lonlat_to_cell_ap4 <- function(lon_deg, lat_deg, resolution) {
    .Call(`_hexify_cpp_lonlat_to_cell_ap4`, lon_deg, lat_deg, resolution)
}

cpp_cell_to_lonlat_ap4 <- function(face, i, j, resolution) {
    .Call(`_hexify_cpp_cell_to_lonlat_ap4`, face, i, j, resolution)
}

cpp_hex_quantize_ap7 <- function(icosa_triangle_x, icosa_triangle_y, resolution) {
    .Call(`_hexify_cpp_hex_quantize_ap7`, icosa_triangle_x, icosa_triangle_y, resolution)
}

cpp_hex_center_ap7 <- function(i, j, resolution) {
    .Call(`_hexify_cpp_hex_center_ap7`, i, j, resolution)
}

cpp_hex_corners_ap7 <- function(i, j, resolution, hex_radius = 1.0) {
    .Call(`_hexify_cpp_hex_corners_ap7`, i, j, resolution, hex_radius)
}

cpp_lonlat_to_cell_ap7 <- function(lon_deg, lat_deg, resolution) {
    .Call(`_hexify_cpp_lonlat_to_cell_ap7`, lon_deg, lat_deg, resolution)
}

cpp_cell_to_lonlat_ap7 <- function(face, i, j, resolution) {
    .Call(`_hexify_cpp_cell_to_lonlat_ap7`, face, i, j, resolution)
}

cpp_hex_quantize_mixed <- function(icosa_triangle_x, icosa_triangle_y, ap_seq) {
    .Call(`_hexify_cpp_hex_quantize_mixed`, icosa_triangle_x, icosa_triangle_y, ap_seq)
}

cpp_hex_center_mixed <- function(i, j, ap_seq) {
    .Call(`_hexify_cpp_hex_center_mixed`, i, j, ap_seq)
}

cpp_hex_corners_mixed <- function(i, j, ap_seq, hex_radius = 1.0) {
    .Call(`_hexify_cpp_hex_corners_mixed`, i, j, ap_seq, hex_radius)
}

cpp_lonlat_to_cell_mixed <- function(lon_deg, lat_deg, ap_seq) {
    .Call(`_hexify_cpp_lonlat_to_cell_mixed`, lon_deg, lat_deg, ap_seq)
}

cpp_cell_to_lonlat_mixed <- function(face, i, j, ap_seq) {
    .Call(`_hexify_cpp_cell_to_lonlat_mixed`, face, i, j, ap_seq)
}

cpp_test_roundtrip_ap3 <- function(icosa_triangle_x, icosa_triangle_y, resolution) {
    .Call(`_hexify_cpp_test_roundtrip_ap3`, icosa_triangle_x, icosa_triangle_y, resolution)
}

cpp_test_roundtrip_ap4 <- function(icosa_triangle_x, icosa_triangle_y, resolution) {
    .Call(`_hexify_cpp_test_roundtrip_ap4`, icosa_triangle_x, icosa_triangle_y, resolution)
}

cpp_test_roundtrip_ap7 <- function(icosa_triangle_x, icosa_triangle_y, resolution) {
    .Call(`_hexify_cpp_test_roundtrip_ap7`, icosa_triangle_x, icosa_triangle_y, resolution)
}

cpp_test_roundtrip_mixed <- function(icosa_triangle_x, icosa_triangle_y, ap_seq) {
    .Call(`_hexify_cpp_test_roundtrip_mixed`, icosa_triangle_x, icosa_triangle_y, ap_seq)
}

cpp_batch_test_roundtrip_ap3 <- function(tx_vec, ty_vec, resolution) {
    .Call(`_hexify_cpp_batch_test_roundtrip_ap3`, tx_vec, ty_vec, resolution)
}

cpp_batch_test_roundtrip_ap4 <- function(tx_vec, ty_vec, resolution) {
    .Call(`_hexify_cpp_batch_test_roundtrip_ap4`, tx_vec, ty_vec, resolution)
}

cpp_batch_test_roundtrip_ap7 <- function(tx_vec, ty_vec, resolution) {
    .Call(`_hexify_cpp_batch_test_roundtrip_ap7`, tx_vec, ty_vec, resolution)
}

cpp_decode_z7 <- function(index_body, aperture) {
    .Call(`_hexify_cpp_decode_z7`, index_body, aperture)
}

cpp_icosa_tri_to_quad_ij <- function(icosa_triangle_face, icosa_triangle_x, icosa_triangle_y, aperture, resolution) {
    .Call(`_hexify_cpp_icosa_tri_to_quad_ij`, icosa_triangle_face, icosa_triangle_x, icosa_triangle_y, aperture, resolution)
}

cpp_icosa_tri_to_quad_xy <- function(icosa_triangle_face, icosa_triangle_x, icosa_triangle_y) {
    .Call(`_hexify_cpp_icosa_tri_to_quad_xy`, icosa_triangle_face, icosa_triangle_x, icosa_triangle_y)
}

cpp_quad_xy_to_icosa_tri <- function(quad, quad_x, quad_y) {
    .Call(`_hexify_cpp_quad_xy_to_icosa_tri`, quad, quad_x, quad_y)
}

cpp_quad_ij_to_xy <- function(quad, i, j, aperture, resolution) {
    .Call(`_hexify_cpp_quad_ij_to_xy`, quad, i, j, aperture, resolution)
}

cpp_lonlat_to_quad_ij <- function(lon_deg, lat_deg, aperture, resolution) {
    .Call(`_hexify_cpp_lonlat_to_quad_ij`, lon_deg, lat_deg, aperture, resolution)
}

cpp_quad_ij_to_cell <- function(quad, i, j, resolution, aperture) {
    .Call(`_hexify_cpp_quad_ij_to_cell`, quad, i, j, resolution, aperture)
}

cpp_lonlat_to_cell <- function(lon, lat, resolution, aperture) {
    .Call(`_hexify_cpp_lonlat_to_cell`, lon, lat, resolution, aperture)
}

cpp_cell_to_lonlat <- function(cell_id, resolution, aperture) {
    .Call(`_hexify_cpp_cell_to_lonlat`, cell_id, resolution, aperture)
}

cpp_cell_to_quad_ij <- function(cell_id, resolution, aperture) {
    .Call(`_hexify_cpp_cell_to_quad_ij`, cell_id, resolution, aperture)
}

cpp_cell_to_quad_xy <- function(cell_id, resolution, aperture) {
    .Call(`_hexify_cpp_cell_to_quad_xy`, cell_id, resolution, aperture)
}

cpp_quad_xy_to_cell <- function(quad, quad_x, quad_y, resolution, aperture) {
    .Call(`_hexify_cpp_quad_xy_to_cell`, quad, quad_x, quad_y, resolution, aperture)
}

cpp_cell_to_icosa_tri <- function(cell_id, resolution, aperture) {
    .Call(`_hexify_cpp_cell_to_icosa_tri`, cell_id, resolution, aperture)
}

cpp_quad_ij_to_icosa_tri <- function(quad, i, j, resolution, aperture) {
    .Call(`_hexify_cpp_quad_ij_to_icosa_tri`, quad, i, j, resolution, aperture)
}

cpp_cell_to_corners <- function(cell_id, resolution, aperture) {
    .Call(`_hexify_cpp_cell_to_corners`, cell_id, resolution, aperture)
}

cpp_cell_to_polygon <- function(cell_id, resolution, aperture) {
    .Call(`_hexify_cpp_cell_to_polygon`, cell_id, resolution, aperture)
}

cpp_ap_seq_edge_dim <- function(ap_seq_in) {
    .Call(`_hexify_cpp_ap_seq_edge_dim`, ap_seq_in)
}

cpp_lonlat_to_cell_seq <- function(lon, lat, ap_seq_in) {
    .Call(`_hexify_cpp_lonlat_to_cell_seq`, lon, lat, ap_seq_in)
}

cpp_cell_to_lonlat_seq <- function(cell_id, ap_seq_in) {
    .Call(`_hexify_cpp_cell_to_lonlat_seq`, cell_id, ap_seq_in)
}

cpp_cell_to_quad_ij_seq <- function(cell_id, ap_seq_in) {
    .Call(`_hexify_cpp_cell_to_quad_ij_seq`, cell_id, ap_seq_in)
}

cpp_quad_ij_to_cell_seq <- function(quad, i, j, ap_seq_in) {
    .Call(`_hexify_cpp_quad_ij_to_cell_seq`, quad, i, j, ap_seq_in)
}

cpp_cell_to_corners_seq <- function(cell_id, ap_seq_in) {
    .Call(`_hexify_cpp_cell_to_corners_seq`, cell_id, ap_seq_in)
}

cpp_cell_to_polygon_seq <- function(cell_id, ap_seq_in) {
    .Call(`_hexify_cpp_cell_to_polygon_seq`, cell_id, ap_seq_in)
}

cpp_get_neighbors_isea <- function(cell_id, resolution, aperture) {
    .Call(`_hexify_cpp_get_neighbors_isea`, cell_id, resolution, aperture)
}

cpp_get_neighbors_z7 <- function(index_ids, resolution) {
    .Call(`_hexify_cpp_get_neighbors_z7`, index_ids, resolution)
}

cpp_icosa_tri_to_plane <- function(icosa_triangle_face, icosa_triangle_x, icosa_triangle_y) {
    .Call(`_hexify_cpp_icosa_tri_to_plane`, icosa_triangle_face, icosa_triangle_x, icosa_triangle_y)
}

cpp_cell_to_plane <- function(cell_id, resolution, aperture) {
    .Call(`_hexify_cpp_cell_to_plane`, cell_id, resolution, aperture)
}

cpp_lonlat_to_plane <- function(lon, lat) {
    .Call(`_hexify_cpp_lonlat_to_plane`, lon, lat)
}

cpp_h3_latLngToCell <- function(lon_deg, lat_deg, resolution) {
    .Call(`_hexify_cpp_h3_latLngToCell`, lon_deg, lat_deg, resolution)
}

cpp_h3_cellToLatLng <- function(cell_ids) {
    .Call(`_hexify_cpp_h3_cellToLatLng`, cell_ids)
}

cpp_h3_isValidCell <- function(cell_ids) {
    .Call(`_hexify_cpp_h3_isValidCell`, cell_ids)
}

cpp_h3_cellToParent <- function(cell_ids, parent_res) {
    .Call(`_hexify_cpp_h3_cellToParent`, cell_ids, parent_res)
}

cpp_h3_cellToChildren <- function(cell_ids, child_res) {
    .Call(`_hexify_cpp_h3_cellToChildren`, cell_ids, child_res)
}

cpp_h3_cellToBoundary <- function(cell_ids) {
    .Call(`_hexify_cpp_h3_cellToBoundary`, cell_ids)
}

cpp_h3_polygonToCells <- function(coords, resolution, holes = NULL, flags = 2L) {
    .Call(`_hexify_cpp_h3_polygonToCells`, coords, resolution, holes, flags)
}

cpp_h3_getResolution <- function(cell_ids) {
    .Call(`_hexify_cpp_h3_getResolution`, cell_ids)
}

cpp_h3_cellAreaKm2 <- function(cell_ids) {
    .Call(`_hexify_cpp_h3_cellAreaKm2`, cell_ids)
}

cpp_h3_gridDisk <- function(cell_ids, k) {
    .Call(`_hexify_cpp_h3_gridDisk`, cell_ids, k)
}

cpp_h3_gridDiskDistances <- function(cell_ids, k) {
    .Call(`_hexify_cpp_h3_gridDiskDistances`, cell_ids, k)
}

cpp_h3_gridRingUnsafe <- function(cell_ids, k) {
    .Call(`_hexify_cpp_h3_gridRingUnsafe`, cell_ids, k)
}

cpp_h3_compactCells <- function(cell_ids) {
    .Call(`_hexify_cpp_h3_compactCells`, cell_ids)
}

cpp_h3_uncompactCells <- function(cell_ids, target_res) {
    .Call(`_hexify_cpp_h3_uncompactCells`, cell_ids, target_res)
}

cpp_h3_isPentagon <- function(cell_ids) {
    .Call(`_hexify_cpp_h3_isPentagon`, cell_ids)
}

cpp_h3_gridDistance <- function(origin, destination) {
    .Call(`_hexify_cpp_h3_gridDistance`, origin, destination)
}

cpp_cell_to_index <- function(face, i, j, resolution, aperture, index_type = "auto") {
    .Call(`_hexify_cpp_cell_to_index`, face, i, j, resolution, aperture, index_type)
}

cpp_index_to_cell <- function(index, aperture, index_type = "auto") {
    .Call(`_hexify_cpp_index_to_cell`, index, aperture, index_type)
}

cpp_get_parent_index <- function(index, aperture, index_type = "auto") {
    .Call(`_hexify_cpp_get_parent_index`, index, aperture, index_type)
}

cpp_get_children_indices <- function(index, aperture, index_type = "auto") {
    .Call(`_hexify_cpp_get_children_indices`, index, aperture, index_type)
}

cpp_get_index_resolution <- function(index, aperture, index_type = "auto") {
    .Call(`_hexify_cpp_get_index_resolution`, index, aperture, index_type)
}

cpp_compare_indices <- function(idx1, idx2) {
    .Call(`_hexify_cpp_compare_indices`, idx1, idx2)
}

cpp_is_valid_index_type <- function(aperture, index_type) {
    .Call(`_hexify_cpp_is_valid_index_type`, aperture, index_type)
}

cpp_get_default_index_type <- function(aperture) {
    .Call(`_hexify_cpp_get_default_index_type`, aperture)
}

cpp_lonlat_to_index_ap3 <- function(lon_deg, lat_deg, resolution, index_type = "auto") {
    .Call(`_hexify_cpp_lonlat_to_index_ap3`, lon_deg, lat_deg, resolution, index_type)
}

cpp_lonlat_to_index_ap4 <- function(lon_deg, lat_deg, resolution, index_type = "auto") {
    .Call(`_hexify_cpp_lonlat_to_index_ap4`, lon_deg, lat_deg, resolution, index_type)
}

cpp_lonlat_to_index_ap7 <- function(lon_deg, lat_deg, resolution, index_type = "auto") {
    .Call(`_hexify_cpp_lonlat_to_index_ap7`, lon_deg, lat_deg, resolution, index_type)
}

cpp_lonlat_to_index <- function(lon_deg, lat_deg, resolution, aperture, index_type = "auto") {
    .Call(`_hexify_cpp_lonlat_to_index`, lon_deg, lat_deg, resolution, aperture, index_type)
}

cpp_index_to_lonlat <- function(index, aperture, index_type = "auto") {
    .Call(`_hexify_cpp_index_to_lonlat`, index, aperture, index_type)
}

cpp_z7_canonical_form <- function(index, max_iterations = 128L) {
    .Call(`_hexify_cpp_z7_canonical_form`, index, max_iterations)
}

cpp_build_icosa <- function(vert0_lon_deg = 11.25, vert0_lat_deg = 58.282525588538995, azimuth_deg = 0.0) {
    invisible(.Call(`_hexify_cpp_build_icosa`, vert0_lon_deg, vert0_lat_deg, azimuth_deg))
}

cpp_which_face <- function(lon_deg, lat_deg) {
    .Call(`_hexify_cpp_which_face`, lon_deg, lat_deg)
}

cpp_face_centers <- function() {
    .Call(`_hexify_cpp_face_centers`)
}

cpp_snyder_forward <- function(lon_deg, lat_deg) {
    .Call(`_hexify_cpp_snyder_forward`, lon_deg, lat_deg)
}

cpp_project_to_icosa_triangle <- function(face, lon_deg, lat_deg) {
    .Call(`_hexify_cpp_project_to_icosa_triangle`, face, lon_deg, lat_deg)
}

cpp_snyder_inv_set_precision <- function(mode = "", tol = NULL, max_iters = NULL) {
    invisible(.Call(`_hexify_cpp_snyder_inv_set_precision`, mode, tol, max_iters))
}

cpp_snyder_inv_get_precision <- function() {
    .Call(`_hexify_cpp_snyder_inv_get_precision`)
}

cpp_snyder_inv_set_verbose <- function(v = TRUE) {
    invisible(.Call(`_hexify_cpp_snyder_inv_set_verbose`, v))
}

cpp_snyder_inv_get_stats_and_reset <- function() {
    .Call(`_hexify_cpp_snyder_inv_get_stats_and_reset`)
}

cpp_face_xy_to_ll <- function(x, y, face, tol = NULL, max_iters = NULL) {
    .Call(`_hexify_cpp_face_xy_to_ll`, x, y, face, tol, max_iters)
}

cpp_icosa_face_params <- function(face) {
    .Call(`_hexify_cpp_icosa_face_params`, face)
}

cpp_hex_index_face_to_lonlat <- function(x, y, cen_lat, cen_lon, face_azimuth_offset, degrees = TRUE, tol = NULL, max_iters = NULL) {
    .Call(`_hexify_cpp_hex_index_face_to_lonlat`, x, y, cen_lat, cen_lon, face_azimuth_offset, degrees, tol, max_iters)
}

