20 double *** src_fields,
double *** src_frac_masks,
double ** tgt_field,
21 double frac_mask_fallback_value,
double scale_factor,
double scale_summand);
24 double *** src_fields,
double *** src_frac_masks,
25 int is_target,
double frac_mask_fallback_value,
26 double scale_factor,
double scale_summand);
29 double frac_mask_fallback_value,
double scale_factor,
double scale_summand);
32 double frac_mask_fallback_value,
double scale_factor,
double scale_summand);
71 double value,
size_t count,
size_t const * pos) {
104 size_t * restrict
pos = fixed->
pos;
110 for (
size_t j = 0; j <
count; ++j) {
118 double frac_mask_fallback_value,
double scale_factor,
double scale_summand) {
120 UNUSED(frac_mask_fallback_value);
129 double frac_mask_fallback_value,
double scale_factor,
double scale_summand) {
132 interp, tgt_field, frac_mask_fallback_value, scale_factor, scale_summand);
137 double *** src_fields,
double *** src_frac_masks,
double ** tgt_field,
138 double frac_mask_fallback_value,
double scale_factor,
double scale_summand) {
142 UNUSED(frac_mask_fallback_value);
151 double *** src_fields,
double *** src_frac_masks,
152 int is_target,
double frac_mask_fallback_value,
153 double scale_factor,
double scale_summand) {
159 UNUSED(frac_mask_fallback_value);
189 if (interp == NULL)
return;
size_t yac_collection_selection_get_collection_size(struct yac_collection_selection const *collection_selection)
Get the size of the collection selection.
struct yac_interp_operator * yac_interp_operator_fixed_new(struct yac_collection_selection const *collection_selection, double value, size_t count, size_t const *pos)
Create a fixed-value interpolation operator.
Internal structures for interpolation operators (vtable-based).
static enum YAC_INTERP_TEST_STATUS yac_interp_operator_fixed_execute_test(struct yac_interp_operator *interp)
static void yac_interp_operator_fixed_execute_get_(struct yac_interp_operator *interp, double **tgt_field)
static void yac_interp_operator_fixed_execute_get(struct yac_interp_operator *interp, double **tgt_field, double frac_mask_fallback_value, double scale_factor, double scale_summand)
static void yac_interp_operator_fixed_execute_get_async(struct yac_interp_operator *interp, double **tgt_field, double frac_mask_fallback_value, double scale_factor, double scale_summand)
static void yac_interp_operator_fixed_delete(struct yac_interp_operator *interp)
static int yac_interp_operator_fixed_is_target(struct yac_interp_operator *interp)
static void yac_interp_operator_fixed_execute_put(struct yac_interp_operator *interp, double ***src_fields, double ***src_frac_masks, int is_target, double frac_mask_fallback_value, double scale_factor, double scale_summand)
static struct yac_interp_operator * yac_interp_operator_fixed_copy(struct yac_interp_operator *interp)
static void yac_interp_operator_fixed_execute_wait(struct yac_interp_operator *interp)
static struct yac_interp_operator_vtable const interpolation_fixed_vtable
static void yac_interp_operator_fixed_execute(struct yac_interp_operator *interp, double ***src_fields, double ***src_frac_masks, double **tgt_field, double frac_mask_fallback_value, double scale_factor, double scale_summand)
static int yac_interp_operator_fixed_is_source(struct yac_interp_operator *interp)
Fixed-value interpolation operator in YAC.
Utility macros and functions for interpolation operators. This file contains utility macros for targe...
struct yac_interp_operator_vtable const * vtable
Virtual function table for interpolation operators.
int(* is_source)(struct yac_interp_operator *interp)
Abstract interpolation operator type.
#define COPY_DATA(data, count)