YAC 3.12.0
Yet Another Coupler
Loading...
Searching...
No Matches
interp_operator_internal.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_INTERNAL_H
6#define YAC_INTERP_OPERATOR_INTERNAL_H
7
8#include "interp_operator.h"
9
17 int (*is_source)(struct yac_interp_operator *interp);
18 int (*is_target)(struct yac_interp_operator *interp);
19 void (*execute)(
20 struct yac_interp_operator *interp,
21 double ***src_fields, double ***src_frac_masks,
22 double **tgt_field, double frac_mask_fallback_value,
23 double scale_factor, double scale_summand);
24 void (*execute_put)(
25 struct yac_interp_operator *interp,
26 double ***src_fields, double ***src_frac_masks,
27 int is_target, double frac_mask_fallback_value,
28 double scale_factor, double scale_summand);
29 void (*execute_get)(
30 struct yac_interp_operator *interp,
31 double **tgt_field, double frac_mask_fallback_value,
32 double scale_factor, double scale_summand);
34 struct yac_interp_operator *interp,
35 double **tgt_field, double frac_mask_fallback_value,
36 double scale_factor, double scale_summand);
38 struct yac_interp_operator *interp);
40 struct yac_interp_operator *interp);
41 void (*execute_wait)(struct yac_interp_operator *interp);
42 struct yac_interp_operator *(*copy)(
43 struct yac_interp_operator *interp);
44 void (*delete)(struct yac_interp_operator *interp);
45};
46
56
57#endif // YAC_INTERP_OPERATOR_INTERNAL_H
Internal structures for interpolation operators (vtable-based).
YAC_INTERP_TEST_STATUS
Virtual function table for interpolation operators.
enum YAC_INTERP_TEST_STATUS(* execute_get_test)(struct yac_interp_operator *interp)
enum YAC_INTERP_TEST_STATUS(* execute_put_test)(struct yac_interp_operator *interp)
int(* is_target)(struct yac_interp_operator *interp)
void(* execute_wait)(struct yac_interp_operator *interp)
void(* execute_get)(struct yac_interp_operator *interp, double **tgt_field, double frac_mask_fallback_value, double scale_factor, double scale_summand)
void(* execute_get_async)(struct yac_interp_operator *interp, double **tgt_field, double frac_mask_fallback_value, double scale_factor, double scale_summand)
void(* 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(* 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)
int(* is_source)(struct yac_interp_operator *interp)
Abstract interpolation operator type.
const struct yac_interp_operator_vtable * vtable