YetAnotherCoupler 3.5.2
Loading...
Searching...
No Matches
interpolation.c File Reference
#include "config.h"
#include <string.h>
#include <math.h>
#include "ppm/core.h"
#include "utils_core.h"
#include "interpolation_internal.h"
#include "interpolation_fixed.h"
#include "interpolation_direct.h"
#include "interpolation_direct_mf.h"
#include "interpolation_sum_mvp_at_src.h"
#include "interpolation_sum_mvp_at_tgt.h"
#include "yac_mpi_internal.h"
Include dependency graph for interpolation.c:

Go to the source code of this file.

Data Structures

struct  yac_interpolation
 

Functions

struct yac_interpolationyac_interpolation_new (size_t collection_size, double frac_mask_fallback_value, double scale_factor, double scale_summand)
 
static void yac_interpolation_add (struct yac_interpolation *interp, struct yac_interpolation_type *interp_type)
 
void yac_interpolation_add_fixed (struct yac_interpolation *interp, double value, size_t count, size_t *pos)
 
void yac_interpolation_add_direct (struct yac_interpolation *interp, Xt_redist redist)
 
void yac_interpolation_add_direct_mf (struct yac_interpolation *interp, Xt_redist *redists, size_t num_src_fields)
 
void yac_interpolation_add_sum_at_src (struct yac_interpolation *interp, Xt_redist *halo_redists, size_t tgt_count, size_t *num_src_per_tgt, size_t *src_field_idx, size_t *src_idx, size_t num_src_fields, Xt_redist result_redist)
 
void yac_interpolation_add_sum_at_tgt (struct yac_interpolation *interp, Xt_redist *src_redists, size_t *tgt_pos, size_t tgt_count, size_t *num_src_per_tgt, size_t *src_field_idx, size_t *src_idx, size_t num_src_fields)
 
void yac_interpolation_add_weight_sum_mvp_at_src (struct yac_interpolation *interp, Xt_redist *halo_redists, size_t tgt_count, size_t *num_src_per_tgt, double *weights, size_t *src_field_idx, size_t *src_idx, size_t num_src_fields, Xt_redist result_redist)
 
void yac_interpolation_add_weight_sum_mvp_at_tgt (struct yac_interpolation *interp, Xt_redist *src_redists, size_t *tgt_pos, size_t tgt_count, size_t *num_src_per_tgt, double *weights, size_t *src_field_idx, size_t *src_idx, size_t num_src_fields)
 
struct yac_interpolationyac_interpolation_copy (struct yac_interpolation *interp)
 
void yac_interpolation_execute_frac (struct yac_interpolation *interp, double ***src_fields, double ***src_frac_masks, double **tgt_field)
 
void yac_interpolation_execute (struct yac_interpolation *interp, double ***src_fields, double **tgt_field)
 
void yac_interpolation_execute_put_frac (struct yac_interpolation *interp, double ***src_fields, double ***src_frac_masks)
 
void yac_interpolation_execute_put (struct yac_interpolation *interp, double ***src_fields)
 
void yac_interpolation_execute_get (struct yac_interpolation *interp, double **tgt_field)
 
void yac_interpolation_execute_get_async (struct yac_interpolation *interp, double **tgt_field)
 
int yac_interpolation_execute_put_test (struct yac_interpolation *interp)
 
int yac_interpolation_execute_get_test (struct yac_interpolation *interp)
 
void yac_interpolation_execute_wait (struct yac_interpolation *interp)
 
void yac_interpolation_inc_ref_count (struct yac_interpolation *interpolation)
 
int yac_interpolation_with_frac_mask (struct yac_interpolation *interpolation)
 
void yac_interpolation_delete (struct yac_interpolation *interp)
 
double yac_interpolation_get_const_frac_mask_no_value_c2f ()
 
double yac_interpolation_get_const_frac_mask_undef_c2f ()
 

Variables

double const YAC_FRAC_MASK_NO_VALUE = 133713371337.0
 
double const YAC_FRAC_MASK_UNDEF = -133713371337.0
 

Function Documentation

◆ yac_interpolation_add()

static void yac_interpolation_add ( struct yac_interpolation * interp,
struct yac_interpolation_type * interp_type )
static

Definition at line 74 of file interpolation.c.

Here is the caller graph for this function:

◆ yac_interpolation_add_direct()

void yac_interpolation_add_direct ( struct yac_interpolation * interp,
Xt_redist redist )
Examples
test_interpolation_parallel6.c.

Definition at line 100 of file interpolation.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ yac_interpolation_add_direct_mf()

void yac_interpolation_add_direct_mf ( struct yac_interpolation * interp,
Xt_redist * redists,
size_t num_src_fields )
Examples
test_interpolation_parallel6.c.

Definition at line 107 of file interpolation.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ yac_interpolation_add_fixed()

void yac_interpolation_add_fixed ( struct yac_interpolation * interp,
double value,
size_t count,
size_t * pos )
Examples
test_interpolation_parallel6.c.

Definition at line 91 of file interpolation.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ yac_interpolation_add_sum_at_src()

void yac_interpolation_add_sum_at_src ( struct yac_interpolation * interp,
Xt_redist * halo_redists,
size_t tgt_count,
size_t * num_src_per_tgt,
size_t * src_field_idx,
size_t * src_idx,
size_t num_src_fields,
Xt_redist result_redist )
Examples
test_interpolation_parallel6.c.

Definition at line 117 of file interpolation.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ yac_interpolation_add_sum_at_tgt()

void yac_interpolation_add_sum_at_tgt ( struct yac_interpolation * interp,
Xt_redist * src_redists,
size_t * tgt_pos,
size_t tgt_count,
size_t * num_src_per_tgt,
size_t * src_field_idx,
size_t * src_idx,
size_t num_src_fields )
Examples
test_interpolation_parallel6.c.

Definition at line 131 of file interpolation.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ yac_interpolation_add_weight_sum_mvp_at_src()

void yac_interpolation_add_weight_sum_mvp_at_src ( struct yac_interpolation * interp,
Xt_redist * halo_redists,
size_t tgt_count,
size_t * num_src_per_tgt,
double * weights,
size_t * src_field_idx,
size_t * src_idx,
size_t num_src_fields,
Xt_redist result_redist )
Examples
test_interpolation_parallel6.c.

Definition at line 145 of file interpolation.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ yac_interpolation_add_weight_sum_mvp_at_tgt()

void yac_interpolation_add_weight_sum_mvp_at_tgt ( struct yac_interpolation * interp,
Xt_redist * src_redists,
size_t * tgt_pos,
size_t tgt_count,
size_t * num_src_per_tgt,
double * weights,
size_t * src_field_idx,
size_t * src_idx,
size_t num_src_fields )
Examples
test_interpolation_parallel6.c.

Definition at line 159 of file interpolation.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ yac_interpolation_copy()

struct yac_interpolation * yac_interpolation_copy ( struct yac_interpolation * interp)
Examples
test_interp_weights_parallel.c, test_interpolation_parallel1_c.c, test_interpolation_parallel2.c, and test_interpolation_parallel6.c.

Definition at line 173 of file interpolation.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ yac_interpolation_delete()

◆ yac_interpolation_execute()

◆ yac_interpolation_execute_frac()

void yac_interpolation_execute_frac ( struct yac_interpolation * interp,
double *** src_fields,
double *** src_frac_masks,
double ** tgt_field )
Examples
test_interp_weights_parallel.c, and test_interpolation_parallel6.c.

Definition at line 203 of file interpolation.c.

Here is the caller graph for this function:

◆ yac_interpolation_execute_get()

◆ yac_interpolation_execute_get_async()

void yac_interpolation_execute_get_async ( struct yac_interpolation * interp,
double ** tgt_field )
Examples
test_interpolation_parallel6.c.

Definition at line 293 of file interpolation.c.

Here is the caller graph for this function:

◆ yac_interpolation_execute_get_test()

int yac_interpolation_execute_get_test ( struct yac_interpolation * interp)
Examples
test_interpolation_parallel6.c.

Definition at line 316 of file interpolation.c.

Here is the caller graph for this function:

◆ yac_interpolation_execute_put()

void yac_interpolation_execute_put ( struct yac_interpolation * interp,
double *** src_fields )

◆ yac_interpolation_execute_put_frac()

void yac_interpolation_execute_put_frac ( struct yac_interpolation * interp,
double *** src_fields,
double *** src_frac_masks )
Examples
test_interp_weights_parallel.c, test_interpolation_parallel2.c, and test_interpolation_parallel6.c.

Definition at line 245 of file interpolation.c.

Here is the caller graph for this function:

◆ yac_interpolation_execute_put_test()

int yac_interpolation_execute_put_test ( struct yac_interpolation * interp)
Examples
test_interpolation_parallel6.c.

Definition at line 304 of file interpolation.c.

Here is the caller graph for this function:

◆ yac_interpolation_execute_wait()

void yac_interpolation_execute_wait ( struct yac_interpolation * interp)
Examples
test_interpolation_parallel6.c.

Definition at line 328 of file interpolation.c.

Here is the caller graph for this function:

◆ yac_interpolation_get_const_frac_mask_no_value_c2f()

double yac_interpolation_get_const_frac_mask_no_value_c2f ( )

Definition at line 357 of file interpolation.c.

◆ yac_interpolation_get_const_frac_mask_undef_c2f()

double yac_interpolation_get_const_frac_mask_undef_c2f ( )

Definition at line 361 of file interpolation.c.

◆ yac_interpolation_inc_ref_count()

void yac_interpolation_inc_ref_count ( struct yac_interpolation * interpolation)

Definition at line 334 of file interpolation.c.

Here is the caller graph for this function:

◆ yac_interpolation_new()

struct yac_interpolation * yac_interpolation_new ( size_t collection_size,
double frac_mask_fallback_value,
double scale_factor,
double scale_summand )
Examples
test_interpolation_parallel6.c.

Definition at line 42 of file interpolation.c.

Here is the caller graph for this function:

◆ yac_interpolation_with_frac_mask()

int yac_interpolation_with_frac_mask ( struct yac_interpolation * interpolation)

Definition at line 339 of file interpolation.c.

Here is the caller graph for this function:

Variable Documentation

◆ YAC_FRAC_MASK_NO_VALUE

◆ YAC_FRAC_MASK_UNDEF

double const YAC_FRAC_MASK_UNDEF = -133713371337.0

Definition at line 24 of file interpolation.c.