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

filterTimeBlockPulses <- function(pulsedt) {
    .Call(`_lidR_filterTimeBlockPulses`, pulsedt)
}

cmpCPA <- function(pulsedt) {
    .Call(`_lidR_cmpCPA`, pulsedt)
}

C_chm_prep <- function(data, snlin, sncol, lap_size, thr_cav, thr_spk, med_size, dil_radius, nodata) {
    .Call(`_lidR_C_chm_prep`, data, snlin, sncol, lap_size, thr_cav, thr_spk, med_size, dil_radius, nodata)
}

C_dalponte2016 <- function(Image, Seeds, th_seed, th_crown, th_tree, DIST) {
    .Call(`_lidR_C_dalponte2016`, Image, Seeds, th_seed, th_crown, th_tree, DIST)
}

C_delaunay <- function(P, scales, offsets, trim = 0) {
    .Call(`_lidR_C_delaunay`, P, scales, offsets, trim)
}

C_interpolate_delaunay <- function(P, L, scales, offsets, trim = 0, min_normal_z = 0, ncpu = 1L) {
    .Call(`_lidR_C_interpolate_delaunay`, P, L, scales, offsets, trim, min_normal_z, ncpu)
}

C_tinfo <- function(D, P) {
    .Call(`_lidR_C_tinfo`, D, P)
}

C_tsearch <- function(D, P, X, ncpu) {
    .Call(`_lidR_C_tsearch`, D, P, X, ncpu)
}

C_ptd <- function(df, res, angle, distance, spacing, verbose, ncores) {
    .Call(`_lidR_C_ptd`, df, res, angle, distance, spacing, verbose, ncores)
}

C_spikefree <- function(df, grid, d_f, h_b, slope = 1.96, intercept = 1.42) {
    .Call(`_lidR_C_spikefree`, df, grid, d_f, h_b, slope, intercept)
}

C_lmf <- function(las, ws, min_height, circular, ncpu) {
    .Call(`_lidR_C_lmf`, las, ws, min_height, circular, ncpu)
}

C_smooth <- function(las, size, method, shape, sigma, ncpu) {
    .Call(`_lidR_C_smooth`, las, size, method, shape, sigma, ncpu)
}

C_highest <- function(las, layout) {
    .Call(`_lidR_C_highest`, las, layout)
}

C_lowest <- function(las, layout) {
    .Call(`_lidR_C_lowest`, las, layout)
}

C_in_polygon <- function(las, polygons, by_poly) {
    .Call(`_lidR_C_in_polygon`, las, polygons, by_poly)
}

C_lasdetectshape <- function(las, method, th, k, filter, ncpu) {
    .Call(`_lidR_C_lasdetectshape`, las, method, th, k, filter, ncpu)
}

C_Wing2015 <- function(las, neigh_radii, low_int_thrsh, uppr_int_thrsh, pt_den_req, BBPRthrsh_mat, ncpu) {
    .Call(`_lidR_C_Wing2015`, las, neigh_radii, low_int_thrsh, uppr_int_thrsh, pt_den_req, BBPRthrsh_mat, ncpu)
}

C_li2012 <- function(las, dt1, dt2, Zu, R, th_tree, radius) {
    .Call(`_lidR_C_li2012`, las, dt1, dt2, Zu, R, th_tree, radius)
}

C_pmf <- function(las, ws, th, filter) {
    .Call(`_lidR_C_pmf`, las, ws, th, filter)
}

C_rasterize <- function(las, layout, subcircle = 0, method = 1L) {
    .Call(`_lidR_C_rasterize`, las, layout, subcircle, method)
}

C_knnidw <- function(las, x, y, k, p, rmax, ncpu) {
    .Call(`_lidR_C_knnidw`, las, x, y, k, p, rmax, ncpu)
}

C_point_metrics <- function(las, k, r, nalloc, call, env, filter) {
    .Call(`_lidR_C_point_metrics`, las, k, r, nalloc, call, env, filter)
}

is_disable_point_metrics <- function() {
    .Call(`_lidR_is_disable_point_metrics`)
}

C_knn_distance <- function(las, k, cpu) {
    .Call(`_lidR_C_knn_distance`, las, k, cpu)
}

C_lasrangecorrection <- function(las, flightlines, Rs, f) {
    .Call(`_lidR_C_lasrangecorrection`, las, flightlines, Rs, f)
}

C_lasrange <- function(las, flightlines) {
    .Call(`_lidR_C_lasrange`, las, flightlines)
}

C_local_maximum <- function(las, ws, filter, ncpu) {
    .Call(`_lidR_C_local_maximum`, las, ws, filter, ncpu)
}

C_isolated_voxel <- function(las, res, isolated) {
    .Call(`_lidR_C_isolated_voxel`, las, res, isolated)
}

C_check_gpstime <- function(t, rn) {
    .Call(`_lidR_C_check_gpstime`, t, rn)
}

C_eigen_metrics <- function(las, k, r, coeffs, filter, ncpu) {
    .Call(`_lidR_C_eigen_metrics`, las, k, r, coeffs, filter, ncpu)
}

C_fast_eigen_decomposition <- function(las, k, r, coeffs, ncpu) {
    .Call(`_lidR_C_fast_eigen_decomposition`, las, k, r, coeffs, ncpu)
}

C_connected_component <- function(las, res, connectivity) {
    .Call(`_lidR_C_connected_component`, las, res, connectivity)
}

C_voxel_id <- function(las, res) {
    .Call(`_lidR_C_voxel_id`, las, res)
}

fast_table <- function(x, size = 5L) {
    .Call(`_lidR_fast_table`, x, size)
}

fast_countequal <- function(x, t) {
    .Call(`_lidR_fast_countequal`, x, t)
}

fast_countbelow <- function(x, t) {
    .Call(`_lidR_fast_countbelow`, x, t)
}

fast_quantization <- function(x, scale, offset) {
    invisible(.Call(`_lidR_fast_quantization`, x, scale, offset))
}

fast_countunquantized <- function(x, scale, offset) {
    .Call(`_lidR_fast_countunquantized`, x, scale, offset)
}

fast_countover <- function(x, t) {
    .Call(`_lidR_fast_countover`, x, t)
}

roundc <- function(x, digit = 0L) {
    .Call(`_lidR_roundc`, x, digit)
}

bitmerge <- function(u, v) {
    .Call(`_lidR_bitmerge`, u, v)
}

fast_eigen_values <- function(A) {
    .Call(`_lidR_fast_eigen_values`, A)
}

C_knn <- function(X, Y, x, y, k, ncpu) {
    .Call(`_lidR_C_knn`, X, Y, x, y, k, ncpu)
}

C_circle_lookup <- function(las, x, y, r) {
    .Call(`_lidR_C_circle_lookup`, las, x, y, r)
}

C_orectangle_lookup <- function(las, x, y, w, h, angle) {
    .Call(`_lidR_C_orectangle_lookup`, las, x, y, w, h, angle)
}

C_knn2d_lookup <- function(las, x, y, k) {
    .Call(`_lidR_C_knn2d_lookup`, las, x, y, k)
}

C_knn3d_lookup <- function(las, x, y, z, k) {
    .Call(`_lidR_C_knn3d_lookup`, las, x, y, z, k)
}

is_altrep <- function(x) {
    .Call(`_lidR_is_altrep`, x)
}

is_materialized <- function(x) {
    .Call(`_lidR_is_materialized`, x)
}

altrep_full_class <- function(x) {
    .Call(`_lidR_altrep_full_class`, x)
}

cpp_concaveman <- function(x, y, concavity, lengthThreshold, chull) {
    .Call(`_lidR_cpp_concaveman`, x, y, concavity, lengthThreshold, chull)
}

cpp_knn <- function(data, k, ncpu) {
    .Call(`_lidR_cpp_knn`, data, k, ncpu)
}

cpp_knnx <- function(data, query, k, ncpu) {
    .Call(`_lidR_cpp_knnx`, data, query, k, ncpu)
}

R_omp_get_max_threads <- function() {
    .Call(`_lidR_R_omp_get_max_threads`)
}

