YAC 3.21.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
70
84
102 struct yac_interp_operator *interp,
103 double ***src_fields, double ***src_frac_masks,
104 double **tgt_field, double frac_mask_fallback_value,
105 double scale_factor, double scale_summand);
106
121 struct yac_interp_operator *interp,
122 double ***src_fields, double ***src_frac_masks,
123 int is_target, double frac_mask_fallback_value,
124 double scale_factor, double scale_summand);
125
137 struct yac_interp_operator *interp,
138 double **tgt_field, double frac_mask_fallback_value,
139 double scale_factor, double scale_summand);
140
151 struct yac_interp_operator *interp,
152 double **tgt_field, double frac_mask_fallback_value,
153 double scale_factor, double scale_summand);
154
167 struct yac_interp_operator *interp);
168
181 struct yac_interp_operator *interp);
182
193 struct yac_interp_operator *interp);
194
206 struct yac_interp_operator *interp);
207
218
219#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.