47#define YAC_FRAC_MASK_VALUE_IS_SET(value) \
48 (!isnormal(value) || ((value) != YAC_FRAC_MASK_UNDEF))
49#define YAC_FRAC_MASK_VALUE_IS_VALID(value) \
50 (!isnormal(value) || \
51 (((value) != YAC_FRAC_MASK_UNDEF) && ((value) != YAC_FRAC_MASK_NO_VALUE)))
78 size_t tgt_count,
size_t * num_src_per_tgt,
79 size_t * src_field_idx,
size_t * src_idx,
80 size_t num_src_fields, Xt_redist result_redist);
84 size_t * tgt_pos,
size_t tgt_count,
size_t * num_src_per_tgt,
85 size_t * src_field_idx,
size_t * src_idx,
86 size_t num_src_fields);
95 size_t tgt_count,
size_t * num_src_per_tgt,
double * weights,
96 size_t * src_field_idx,
size_t * src_idx,
97 size_t num_src_fields, Xt_redist result_redist);
101 size_t * tgt_pos,
size_t tgt_count,
size_t * num_src_per_tgt,
102 double * weights,
size_t * src_field_idx,
size_t * src_idx,
103 size_t num_src_fields);
115 double ** tgt_field);
118 double *** src_frac_masks,
double ** tgt_field);
127 double *** src_frac_masks);
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)
struct yac_interpolation * yac_interpolation_copy(struct yac_interpolation *interp)
void yac_interpolation_inc_ref_count(struct yac_interpolation *interpolation)
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_interpolation * yac_interpolation_new(size_t collection_size, double frac_mask_fallback_value, double scale_factor, double scale_summand)
void yac_interpolation_execute(struct yac_interpolation *interp, double ***src_fields, double **tgt_field)
int yac_interpolation_with_frac_mask(struct yac_interpolation *interpolation)
void yac_interpolation_add_direct_mf(struct yac_interpolation *interp, Xt_redist *redists, size_t num_src_fields)
void yac_interpolation_delete(struct yac_interpolation *interp)
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)
int yac_interpolation_execute_put_test(struct yac_interpolation *interp)
void yac_interpolation_add_fixed(struct yac_interpolation *interp, double value, size_t count, size_t *pos)
void yac_interpolation_execute_wait(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_get(struct yac_interpolation *interp, double **tgt_field)
void yac_interpolation_execute_get_async(struct yac_interpolation *interp, double **tgt_field)
double const YAC_FRAC_MASK_UNDEF
void yac_interpolation_add_direct(struct yac_interpolation *interp, Xt_redist redist)
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_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)
int yac_interpolation_execute_get_test(struct yac_interpolation *interp)
double const YAC_FRAC_MASK_NO_VALUE
double frac_mask_fallback_value