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

grip_optimize_edge_isometric_layout_cpp <- function(edges, edge_weights, stiffness_matrix, mix_schedule, coords, max_iter, scale_mode, scale, edge_length_epsilon, initial_step, step_shrink, armijo_factor, grad_tol, min_step, distance_floor, recenter, return_trace) {
    .Call(`_grip_grip_optimize_edge_isometric_layout_cpp`, edges, edge_weights, stiffness_matrix, mix_schedule, coords, max_iter, scale_mode, scale, edge_length_epsilon, initial_step, step_shrink, armijo_factor, grad_tol, min_step, distance_floor, recenter, return_trace)
}

grip_edge_repulsive_state_cpp <- function(coords, edges, edge_lengths, edge_weights, edge_family, eps_plus, beta, lambda, pair_index, pair_weights, repulsion_family, repulsion_delta, repulsion_power, distance_eps) {
    .Call(`_grip_grip_edge_repulsive_state_cpp`, coords, edges, edge_lengths, edge_weights, edge_family, eps_plus, beta, lambda, pair_index, pair_weights, repulsion_family, repulsion_delta, repulsion_power, distance_eps)
}

grip_repulsive_state_cpp <- function(coords, lambda, pair_index, pair_weights, repulsion_family, repulsion_delta, repulsion_power, distance_eps) {
    .Call(`_grip_grip_repulsive_state_cpp`, coords, lambda, pair_index, pair_weights, repulsion_family, repulsion_delta, repulsion_power, distance_eps)
}

grip_optimize_edge_repulsive_stage_cpp <- function(coords, edges, edge_lengths, edge_weights, lambda, edge_family, eps_plus, beta, pair_index, pair_weights, repulsion_family, repulsion_delta, repulsion_power, max_iter, initial_step, step_shrink, armijo, min_step, grad_tol, recenter, distance_eps, return_frames) {
    .Call(`_grip_grip_optimize_edge_repulsive_stage_cpp`, coords, edges, edge_lengths, edge_weights, lambda, edge_family, eps_plus, beta, pair_index, pair_weights, repulsion_family, repulsion_delta, repulsion_power, max_iter, initial_step, step_shrink, armijo, min_step, grad_tol, recenter, distance_eps, return_frames)
}

grip_optimize_repulsive_stage_cpp <- function(coords, lambda, pair_index, pair_weights, repulsion_family, repulsion_delta, repulsion_power, max_iter, initial_step, step_shrink, armijo, min_step, grad_tol, recenter, distance_eps, return_frames) {
    .Call(`_grip_grip_optimize_repulsive_stage_cpp`, coords, lambda, pair_index, pair_weights, repulsion_family, repulsion_delta, repulsion_power, max_iter, initial_step, step_shrink, armijo, min_step, grad_tol, recenter, distance_eps, return_frames)
}

grip_optimize_geodesic_mds_flat_bending_cpp <- function(flat_pair_edge_offsets, flat_edge_u, flat_edge_v, flat_edge_coeff, pair_graph_distance, coords, max_iter, edge_length_epsilon, initial_step, step_shrink, armijo_factor, grad_tol, min_step, recenter, return_trace, anchor_coords = NULL, anchor_weights = NULL, bend_a = integerVector(), bend_b = integerVector(), bend_c = integerVector(), bend_weights = NULL) {
    .Call(`_grip_grip_optimize_geodesic_mds_flat_bending_cpp`, flat_pair_edge_offsets, flat_edge_u, flat_edge_v, flat_edge_coeff, pair_graph_distance, coords, max_iter, edge_length_epsilon, initial_step, step_shrink, armijo_factor, grad_tol, min_step, recenter, return_trace, anchor_coords, anchor_weights, bend_a, bend_b, bend_c, bend_weights)
}

grip_build_tie_average_shortest_path_cache_cpp <- function(adj_list, weight_list, pair_matrix, dist_matrix) {
    .Call(`_grip_grip_build_tie_average_shortest_path_cache_cpp`, adj_list, weight_list, pair_matrix, dist_matrix)
}

grip_optimize_geodesic_mds_adj_cpp <- function(adj_list, weight_list, coords, max_iter, edge_length_epsilon, initial_step, step_shrink, armijo_factor, grad_tol, min_step, recenter, return_trace) {
    .Call(`_grip_grip_optimize_geodesic_mds_adj_cpp`, adj_list, weight_list, coords, max_iter, edge_length_epsilon, initial_step, step_shrink, armijo_factor, grad_tol, min_step, recenter, return_trace)
}

grip_optimize_geodesic_mds_cache_cpp <- function(path_edges, path_edge_weights, pair_graph_distance, coords, max_iter, edge_length_epsilon, initial_step, step_shrink, armijo_factor, grad_tol, min_step, recenter, return_trace, anchor_coords = NULL, anchor_weights = NULL) {
    .Call(`_grip_grip_optimize_geodesic_mds_cache_cpp`, path_edges, path_edge_weights, pair_graph_distance, coords, max_iter, edge_length_epsilon, initial_step, step_shrink, armijo_factor, grad_tol, min_step, recenter, return_trace, anchor_coords, anchor_weights)
}

grip_optimize_geodesic_mds_flat_cpp <- function(flat_pair_edge_offsets, flat_edge_u, flat_edge_v, flat_edge_coeff, pair_graph_distance, coords, max_iter, edge_length_epsilon, initial_step, step_shrink, armijo_factor, grad_tol, min_step, recenter, return_trace, anchor_coords = NULL, anchor_weights = NULL, anchor_vertex_weight = NULL, smooth_adj_offsets = integerVector(), smooth_adj_vertices = integerVector(), smooth_weights = NULL, graph_edge_u = integerVector(), graph_edge_v = integerVector(), graph_edge_target = numericVector(), edge_spring_weights = NULL, repulsion_u = integerVector(), repulsion_v = integerVector(), repulsion_target = numericVector(), repulsion_weights = NULL, n_threads = 0L) {
    .Call(`_grip_grip_optimize_geodesic_mds_flat_cpp`, flat_pair_edge_offsets, flat_edge_u, flat_edge_v, flat_edge_coeff, pair_graph_distance, coords, max_iter, edge_length_epsilon, initial_step, step_shrink, armijo_factor, grad_tol, min_step, recenter, return_trace, anchor_coords, anchor_weights, anchor_vertex_weight, smooth_adj_offsets, smooth_adj_vertices, smooth_weights, graph_edge_u, graph_edge_v, graph_edge_target, edge_spring_weights, repulsion_u, repulsion_v, repulsion_target, repulsion_weights, n_threads)
}

grip_geodesic_mds_flat_path_lengths_cpp <- function(flat_pair_edge_offsets, flat_edge_u, flat_edge_v, flat_edge_coeff, coords, edge_length_epsilon = 1e-8) {
    .Call(`_grip_grip_geodesic_mds_flat_path_lengths_cpp`, flat_pair_edge_offsets, flat_edge_u, flat_edge_v, flat_edge_coeff, coords, edge_length_epsilon)
}

grip_geodesic_mds_flat_repulsion_stats_cpp <- function(repulsion_u, repulsion_v, repulsion_target, coords, edge_length_epsilon = 1e-8, repulsion_weight = 1.0) {
    .Call(`_grip_grip_geodesic_mds_flat_repulsion_stats_cpp`, repulsion_u, repulsion_v, repulsion_target, coords, edge_length_epsilon, repulsion_weight)
}

grip_geodesic_misf_insert_vertex_cpp <- function(anchor_coords, anchor_distance, anchor_weights = NULL, init_coord = NULL, max_iter = 64L, initial_step = 1.0, step_shrink = 0.5, armijo_factor = 1e-4, grad_tol = 1e-8, min_step = 1e-8) {
    .Call(`_grip_grip_geodesic_misf_insert_vertex_cpp`, anchor_coords, anchor_distance, anchor_weights, init_coord, max_iter, initial_step, step_shrink, armijo_factor, grad_tol, min_step)
}

grip_layout_weighted_nd_adj_cpp <- function(adj_list, weight_list, n, dim, placement, rounds, final_rounds, num_init, num_nbrs, r, s, repulsion_factor, tinit_factor, final_move_scale_after_first, final_mode, metric_neighbor_cap, insertion_anchor_count, insertion_anchor_scope, insertion_anchor_strategy, level0_insertion_mode, level0_anchor_count, level0_local_kk_steps, seed = NULL) {
    .Call(`_grip_grip_layout_weighted_nd_adj_cpp`, adj_list, weight_list, n, dim, placement, rounds, final_rounds, num_init, num_nbrs, r, s, repulsion_factor, tinit_factor, final_move_scale_after_first, final_mode, metric_neighbor_cap, insertion_anchor_count, insertion_anchor_scope, insertion_anchor_strategy, level0_insertion_mode, level0_anchor_count, level0_local_kk_steps, seed)
}

grip_layout_weighted_nd_trace_adj_cpp <- function(adj_list, weight_list, n, dim, placement, rounds, final_rounds, num_init, num_nbrs, r, s, repulsion_factor, tinit_factor, final_move_scale_after_first, final_mode, metric_neighbor_cap, insertion_anchor_count, insertion_anchor_scope, insertion_anchor_strategy, level0_insertion_mode, level0_anchor_count, level0_local_kk_steps, seed = NULL, trace_every = 1L, refinement_step_trace = FALSE, refinement_step_level_index = -1L, refinement_step_misf_level = -1L, refinement_step_round_start = -1L, refinement_step_round_end = -1L) {
    .Call(`_grip_grip_layout_weighted_nd_trace_adj_cpp`, adj_list, weight_list, n, dim, placement, rounds, final_rounds, num_init, num_nbrs, r, s, repulsion_factor, tinit_factor, final_move_scale_after_first, final_mode, metric_neighbor_cap, insertion_anchor_count, insertion_anchor_scope, insertion_anchor_strategy, level0_insertion_mode, level0_anchor_count, level0_local_kk_steps, seed, trace_every, refinement_step_trace, refinement_step_level_index, refinement_step_misf_level, refinement_step_round_start, refinement_step_round_end)
}

grip_build_weighted_misf_nd_adj_cpp <- function(adj_list, weight_list, n, num_init, num_nbrs, seed = NULL) {
    .Call(`_grip_grip_build_weighted_misf_nd_adj_cpp`, adj_list, weight_list, n, num_init, num_nbrs, seed)
}

grip_layout_cpp <- function(edges, edge_weights, n, dim, placement, rounds, final_rounds, num_init, num_nbrs, r, s, repulsion_factor, tinit_factor, seed) {
    .Call(`_grip_grip_layout_cpp`, edges, edge_weights, n, dim, placement, rounds, final_rounds, num_init, num_nbrs, r, s, repulsion_factor, tinit_factor, seed)
}

grip_layout_adj_cpp <- function(adj_list, weight_list, n, dim, placement, rounds, final_rounds, num_init, num_nbrs, r, s, repulsion_factor, tinit_factor, seed) {
    .Call(`_grip_grip_layout_adj_cpp`, adj_list, weight_list, n, dim, placement, rounds, final_rounds, num_init, num_nbrs, r, s, repulsion_factor, tinit_factor, seed)
}

grip_layout_globalrep_adj_cpp <- function(adj_list, weight_list, n, dim, placement, rounds, final_rounds, num_init, num_nbrs, r, s, repulsion_factor, coarse_repulsion_factor, coarse_repulsion_sample, coarse_repulsion_exact_below, final_anchor_factor, final_move_scale_after_first, insertion_anchor_count, insertion_anchor_scope, insertion_anchor_strategy, level0_insertion_mode, level0_anchor_count, level0_local_kk_steps, lgkk_multiscale_rounds, lgkk_rounds_coarse, lgkk_rounds_pre_final, lgkk_rounds_final, lgkk_local_nbrs, lgkk_landmark_count, lgkk_multiscale_scope, lgkk_active_limit, final_mode, tinit_factor, seed) {
    .Call(`_grip_grip_layout_globalrep_adj_cpp`, adj_list, weight_list, n, dim, placement, rounds, final_rounds, num_init, num_nbrs, r, s, repulsion_factor, coarse_repulsion_factor, coarse_repulsion_sample, coarse_repulsion_exact_below, final_anchor_factor, final_move_scale_after_first, insertion_anchor_count, insertion_anchor_scope, insertion_anchor_strategy, level0_insertion_mode, level0_anchor_count, level0_local_kk_steps, lgkk_multiscale_rounds, lgkk_rounds_coarse, lgkk_rounds_pre_final, lgkk_rounds_final, lgkk_local_nbrs, lgkk_landmark_count, lgkk_multiscale_scope, lgkk_active_limit, final_mode, tinit_factor, seed)
}

grip_layout_globalrep_weighted_adj_cpp <- function(adj_list, weight_list, n, dim, placement, rounds, final_rounds, num_init, num_nbrs, r, s, repulsion_factor, coarse_repulsion_factor, coarse_repulsion_sample, coarse_repulsion_exact_below, final_anchor_factor, final_move_scale_after_first, insertion_anchor_count, insertion_anchor_scope, insertion_anchor_strategy, level0_insertion_mode, level0_anchor_count, level0_local_kk_steps, lgkk_multiscale_rounds, lgkk_rounds_coarse, lgkk_rounds_pre_final, lgkk_rounds_final, lgkk_local_nbrs, lgkk_landmark_count, lgkk_multiscale_scope, lgkk_active_limit, final_mode, tinit_factor, seed, metric_neighbor_cap) {
    .Call(`_grip_grip_layout_globalrep_weighted_adj_cpp`, adj_list, weight_list, n, dim, placement, rounds, final_rounds, num_init, num_nbrs, r, s, repulsion_factor, coarse_repulsion_factor, coarse_repulsion_sample, coarse_repulsion_exact_below, final_anchor_factor, final_move_scale_after_first, insertion_anchor_count, insertion_anchor_scope, insertion_anchor_strategy, level0_insertion_mode, level0_anchor_count, level0_local_kk_steps, lgkk_multiscale_rounds, lgkk_rounds_coarse, lgkk_rounds_pre_final, lgkk_rounds_final, lgkk_local_nbrs, lgkk_landmark_count, lgkk_multiscale_scope, lgkk_active_limit, final_mode, tinit_factor, seed, metric_neighbor_cap)
}

grip_build_misf_adj_cpp <- function(adj_list, weight_list, n, num_init, num_nbrs, seed) {
    .Call(`_grip_grip_build_misf_adj_cpp`, adj_list, weight_list, n, num_init, num_nbrs, seed)
}

grip_build_weighted_misf_adj_cpp <- function(adj_list, weight_list, n, num_init, num_nbrs, seed) {
    .Call(`_grip_grip_build_weighted_misf_adj_cpp`, adj_list, weight_list, n, num_init, num_nbrs, seed)
}

grip_layout_trace_adj_cpp <- function(adj_list, weight_list, n, dim, placement, rounds, final_rounds, num_init, num_nbrs, r, s, repulsion_factor, tinit_factor, seed, trace, trace_every) {
    .Call(`_grip_grip_layout_trace_adj_cpp`, adj_list, weight_list, n, dim, placement, rounds, final_rounds, num_init, num_nbrs, r, s, repulsion_factor, tinit_factor, seed, trace, trace_every)
}

grip_layout_globalrep_trace_adj_cpp <- function(adj_list, weight_list, n, dim, placement, rounds, final_rounds, num_init, num_nbrs, r, s, repulsion_factor, coarse_repulsion_factor, coarse_repulsion_sample, coarse_repulsion_exact_below, final_anchor_factor, final_move_scale_after_first, insertion_anchor_count, insertion_anchor_scope, insertion_anchor_strategy, level0_insertion_mode, level0_anchor_count, level0_local_kk_steps, lgkk_multiscale_rounds, lgkk_rounds_coarse, lgkk_rounds_pre_final, lgkk_rounds_final, lgkk_local_nbrs, lgkk_landmark_count, lgkk_multiscale_scope, lgkk_active_limit, final_mode, tinit_factor, seed, trace, trace_every) {
    .Call(`_grip_grip_layout_globalrep_trace_adj_cpp`, adj_list, weight_list, n, dim, placement, rounds, final_rounds, num_init, num_nbrs, r, s, repulsion_factor, coarse_repulsion_factor, coarse_repulsion_sample, coarse_repulsion_exact_below, final_anchor_factor, final_move_scale_after_first, insertion_anchor_count, insertion_anchor_scope, insertion_anchor_strategy, level0_insertion_mode, level0_anchor_count, level0_local_kk_steps, lgkk_multiscale_rounds, lgkk_rounds_coarse, lgkk_rounds_pre_final, lgkk_rounds_final, lgkk_local_nbrs, lgkk_landmark_count, lgkk_multiscale_scope, lgkk_active_limit, final_mode, tinit_factor, seed, trace, trace_every)
}

grip_layout_globalrep_weighted_trace_adj_cpp <- function(adj_list, weight_list, n, dim, placement, rounds, final_rounds, num_init, num_nbrs, r, s, repulsion_factor, coarse_repulsion_factor, coarse_repulsion_sample, coarse_repulsion_exact_below, final_anchor_factor, final_move_scale_after_first, insertion_anchor_count, insertion_anchor_scope, insertion_anchor_strategy, level0_insertion_mode, level0_anchor_count, level0_local_kk_steps, lgkk_multiscale_rounds, lgkk_rounds_coarse, lgkk_rounds_pre_final, lgkk_rounds_final, lgkk_local_nbrs, lgkk_landmark_count, lgkk_multiscale_scope, lgkk_active_limit, final_mode, tinit_factor, seed, trace, trace_every, metric_neighbor_cap, refinement_step_trace, refinement_step_level_index, refinement_step_misf_level, refinement_step_round_start, refinement_step_round_end) {
    .Call(`_grip_grip_layout_globalrep_weighted_trace_adj_cpp`, adj_list, weight_list, n, dim, placement, rounds, final_rounds, num_init, num_nbrs, r, s, repulsion_factor, coarse_repulsion_factor, coarse_repulsion_sample, coarse_repulsion_exact_below, final_anchor_factor, final_move_scale_after_first, insertion_anchor_count, insertion_anchor_scope, insertion_anchor_strategy, level0_insertion_mode, level0_anchor_count, level0_local_kk_steps, lgkk_multiscale_rounds, lgkk_rounds_coarse, lgkk_rounds_pre_final, lgkk_rounds_final, lgkk_local_nbrs, lgkk_landmark_count, lgkk_multiscale_scope, lgkk_active_limit, final_mode, tinit_factor, seed, trace, trace_every, metric_neighbor_cap, refinement_step_trace, refinement_step_level_index, refinement_step_misf_level, refinement_step_round_start, refinement_step_round_end)
}

grip_optimize_kernel_gram_gkk_layout_cpp <- function(edges, edge_weights, edge_stiffness, star_center, star_v1, star_v2, star_w1, star_w2, star_cos, star_weight, coords, max_iter, scale_mode, scale, lambda_edge, lambda_gram, edge_length_epsilon, initial_step, step_shrink, armijo_factor, grad_tol, min_step, distance_floor, recenter, return_trace) {
    .Call(`_grip_grip_optimize_kernel_gram_gkk_layout_cpp`, edges, edge_weights, edge_stiffness, star_center, star_v1, star_v2, star_w1, star_w2, star_cos, star_weight, coords, max_iter, scale_mode, scale, lambda_edge, lambda_gram, edge_length_epsilon, initial_step, step_shrink, armijo_factor, grad_tol, min_step, distance_floor, recenter, return_trace)
}

