YAC 3.12.0
Yet Another Coupler
Loading...
Searching...
No Matches
interp_operator.h
Go to the documentation of this file.
1// Copyright (c) 2025 The YAC Authors
2//
3// SPDX-License-Identifier: BSD-3-Clause
4
5#ifndef YAC_INTERP_OPERATOR_H
6#define YAC_INTERP_OPERATOR_H
7
8#include <stddef.h>
9
55
57
69
82
100 struct yac_interp_operator *interp,
101 double ***src_fields, double ***src_frac_masks,
102 double **tgt_field, double frac_mask_fallback_value,
103 double scale_factor, double scale_summand);
104
119 struct yac_interp_operator *interp,
120 double ***src_fields, double ***src_frac_masks,
121 int is_target, double frac_mask_fallback_value,
122 double scale_factor, double scale_summand);
123
135 struct yac_interp_operator *interp,
136 double **tgt_field, double frac_mask_fallback_value,
137 double scale_factor, double scale_summand);
138
149 struct yac_interp_operator *interp,
150 double **tgt_field, double frac_mask_fallback_value,
151 double scale_factor, double scale_summand);
152
165 struct yac_interp_operator *interp);
166
179 struct yac_interp_operator *interp);
180
191 struct yac_interp_operator *interp);
192
204 struct yac_interp_operator *interp);
205
216
217#endif // YAC_INTERP_OPERATOR_H
void yac_interp_operator_execute_wait(struct yac_interp_operator *interp)
Wait for all pending put/get operations to finish.
int yac_interp_operator_is_target(struct yac_interp_operator *interp)
Checks if the current process holds target data for the interpolation operator.
struct yac_interp_operator * yac_interp_operator_copy(struct yac_interp_operator *interp)
Create a deep copy of the interpolation operator.
enum YAC_INTERP_TEST_STATUS yac_interp_operator_execute_put_test(struct yac_interp_operator *interp)
Test whether the put phase has completed.
int yac_interp_operator_is_source(struct yac_interp_operator *interp)
Checks if the current process holds source data for the interpolation operator.
YAC_INTERP_TEST_STATUS
@ YAC_INTERP_INCOMPLETE
@ YAC_INTERP_COMPLETE
enum YAC_INTERP_TEST_STATUS yac_interp_operator_execute_get_test(struct yac_interp_operator *interp)
Test whether the get phase has completed.
void yac_interp_operator_execute_get(struct yac_interp_operator *interp, double **tgt_field, double frac_mask_fallback_value, double scale_factor, double scale_summand)
void yac_interp_operator_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)
void yac_interp_operator_execute_get_async(struct yac_interp_operator *interp, double **tgt_field, double frac_mask_fallback_value, double scale_factor, double scale_summand)
void yac_interp_operator_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)
void yac_interp_operator_delete(struct yac_interp_operator *interp)
Delete the interpolation operator and free resources.
Abstract interpolation operator type.