|
static size_t | do_search_hcsbb (struct interp_method *method, struct yac_interp_grid *interp_grid, size_t *tgt_points, size_t count, struct yac_interp_weights *weights) |
|
static void | delete_hcsbb (struct interp_method *method) |
|
static void | compute_sb_coords (double *sb_coords, size_t num_vertices, double triangle[3][3]) |
|
static int | compare_size_t (const void *a, const void *b) |
|
static int | compare_2_size_t (const void *a, const void *b) |
|
static int | compare_3_size_t (const void *a, const void *b) |
|
static int | compare_HCSBB_D_NNN_size_t (const void *a, const void *b) |
|
static void | get_unique_interp_data (struct tgt_point_search_data *tgt_point_data, size_t num_edges, size_t num_triangles, size_t **unique_vertices, size_t *num_unique_vertices, size_t(**unique_edge_to_unique_vertex)[2], size_t *num_unique_edges, size_t(**unique_triangle_to_unique_edge)[3], size_t *num_unique_triangles) |
|
static void | compute_gauss_nnn_patch (struct gauss_nnn_patch *gauss_nnn_patch, double(*gauss_points)[3], size_t *nnn_search_results, double w_nnn[][HCSBB_NUM_GAUSS_POINTS], size_t *src_point_buffer, yac_int *global_id_buffer, yac_const_coordinate_pointer src_point_coords, const_yac_int_pointer src_point_global_ids) |
|
static void | compute_d_sbb_polynomials_3d (double bnd_triangle[3][3], double direction[3], double coordinate_xyz[3], double d_sbb_polynomials[HCSBB_NUM_SBB_COEFFS]) |
|
static void | get_derivative_weights (struct gauss_nnn_patch *gauss_nnn_patch, double coordinate_xyz[3], double direction[3], struct weight_vector_data *weights, double mult_factor) |
|
static void | compute_edge_coefficients (struct edge_interp_data *edge_data, size_t num_edges) |
|
static int | compare_weight_vector_data_pos_weight (void const *a, void const *b) |
|
static int | compare_weight_vector_data_point (void const *a, void const *b) |
|
static int | compare_weight_vector_data_pos_pos (void const *a, void const *b) |
|
static void | compact_weight_vector_data (struct weight_vector_data *weights, size_t *n, struct weight_vector_data_pos *buffer) |
|
static void | compute_triangle_coefficients (struct triangle_interp_data *triangle_data, size_t num_triangles) |
|
static size_t | get_max_num_weights (struct tgt_point_search_data *tgt_point_data) |
|
static void | compute_hcsbb_weights_vertex (struct tgt_point_search_data *tgt_point_data, struct weight_vector_data *weights, size_t *n) |
|
static void | compute_hcsbb_weights_edge (struct tgt_point_search_data *tgt_point_data, struct weight_vector_data *weights, size_t *n) |
|
static void | evaluate_blending_function (double *sb_coords, double *A) |
|
static void | compute_hcsbb_weights_triangle (struct tgt_point_search_data *tgt_point_data, struct weight_vector_data *weights, size_t *n) |
|
static void | compute_hcsbb_weights (struct tgt_point_search_data *tgt_point_data, struct weight_vector_data *weights, size_t *n, struct weight_vector_data_pos *compact_buffer) |
|
static void | compute_weights (struct tgt_point_search_data *tgt_point_data, size_t num_tgt_points, struct edge_interp_data *edge_data, size_t num_edges, struct triangle_interp_data *triangle_data, size_t num_triangles, struct weight_vector_data **weights, size_t **num_weights_per_tgt, size_t *total_num_weights) |
|
static int | compare_tgt_point_search_data (const void *a, const void *b) |
|
static void | generate_bnd_triangle (size_t *points, yac_const_coordinate_pointer coords, double bnd_triangle[][3]) |
|
static int | compare_bnd_triangles (void const *a, void const *b) |
|
static void | generate_gauss_legendre_points (double gauss_vertices[HCSBB_NUM_GAUSS_POINTS][3], double gauss_sb_coords[HCSBB_NUM_GAUSS_POINTS][3], double bnd_triangle[3][3]) |
|
static void | compute_sbb_polynomials_gauss_3d (double sb_coords[HCSBB_NUM_GAUSS_POINTS][3], double sbb_polynomials[HCSBB_NUM_SBB_COEFFS][HCSBB_NUM_GAUSS_POINTS]) |
|
static void | inverse (double A[HCSBB_NUM_SBB_COEFFS][HCSBB_NUM_SBB_COEFFS]) |
|
static void | init_gauss_nnn_patch (struct gauss_nnn_patch *gauss_nnn_patch, double(*bnd_triangle)[3], double(*gauss_vertices)[3], double gauss_sbb_polynomials[HCSBB_NUM_SBB_COEFFS][HCSBB_NUM_GAUSS_POINTS], double C[HCSBB_NUM_SBB_COEFFS][HCSBB_NUM_SBB_COEFFS]) |
|
static void | free_gauss_nnn_patches (struct gauss_nnn_patch *gauss_nnn_patches, size_t num_gauss_nnn_patches) |
|
static void | generate_d_data_triangle (size_t count, yac_coordinate_pointer coords, struct yac_interp_grid *interp_grid, size_t *num_unique_triangles_, double(**unique_bnd_triangles_)[3][3], size_t **coord_to_triangle) |
|
static void | generate_derivative_data (size_t num_vertices, struct vertex_interp_data *vertex_data, size_t num_edges, struct edge_interp_data *edge_data, struct yac_interp_grid *interp_grid, size_t *num_gauss_nnn_patches_, struct gauss_nnn_patch **gauss_nnn_patches_) |
|
static int | check_polygon (double *check_coord, int num_vertices, size_t const *vertices, size_t vertex_start_idx, const_yac_int_pointer global_ids, yac_const_coordinate_pointer point_coords, size_t *triangle, double *sb_coords) |
|
static int | get_matching_vertex_triangle (double *tgt_coord, size_t src_cell, struct yac_const_basic_grid_data *src_grid_data, yac_const_coordinate_pointer src_point_coords, size_t *src_triangle_vertices, double *sb_coords) |
|
static int | get_matching_aux_cell_triangle (double *tgt_coord, size_t src_cell, struct yac_const_basic_grid_data *src_grid_data, yac_const_coordinate_pointer src_point_coords, size_t *vertex_to_cell, size_t *vertex_to_cell_offsets, int *num_cells_per_vertex, size_t *src_triangle, double *sb_coords) |
|
static struct tgt_point_search_data * | init_tgt_point_data (size_t num_tgt_points, size_t *selected_tgt, size_t *tgt_points, yac_coordinate_pointer tgt_coords, size_t *src_cells, struct yac_interp_grid *interp_grid) |
|
static struct vertex_interp_data * | init_vertex_interp_data (size_t num_vertices, size_t *vertices, struct yac_interp_grid *interp_grid) |
|
static struct edge_interp_data * | init_edge_interp_data (size_t num_edges, size_t(*edge_to_vertex_d_data)[2], struct vertex_interp_data *vertex_data) |
|
static struct triangle_interp_data * | init_triangle_interp_data (size_t num_triangles, size_t(*triangle_to_edge_data)[3], struct edge_interp_data *edge_data) |
|
struct interp_method * | yac_interp_method_hcsbb_new () |
|