YAC 3.12.0
Yet Another Coupler
Loading...
Searching...
No Matches
interpolation_gen_config.h File Reference

Configuration management for interpolation generation. More...

Include dependency graph for interpolation_gen_config.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Functions

struct yac_interpolation_gen_configyac_interpolation_gen_config_new (void)
 Allocate and initialise an interpolation generation configuration structure.
 
void yac_interpolation_gen_config_delete (struct yac_interpolation_gen_config *config)
 Release a interpolation generation configuration structure allocated by yac_interpolation_gen_config_new.
 
struct yac_interpolation_gen_configyac_interpolation_gen_config_copy (struct yac_interpolation_gen_config const *src)
 Create a copy of an interpolation generation configuration.
 
void yac_interpolation_gen_config_set_reorder (struct yac_interpolation_gen_config *config, enum yac_interp_weights_reorder_type reorder)
 Set the reordering strategy for interpolation weights.
 
void yac_interpolation_gen_config_set_collection_size (struct yac_interpolation_gen_config *config, size_t collection_size)
 Set the number of contiguous fields (starting at "0") in the field collection.
 
void yac_interpolation_gen_config_set_collection_selection (struct yac_interpolation_gen_config *config, struct yac_collection_selection const *collection_selection)
 Set the collection selection of source field in the source field collection.
 
void yac_interpolation_gen_config_set_frac_mask_fallback_value (struct yac_interpolation_gen_config *config, double frac_mask_fallback_value)
 Set the fractional mask fallback value.
 
void yac_interpolation_gen_config_set_scaling_factor (struct yac_interpolation_gen_config *config, double scaling_factor)
 Set the multiplicative scaling factor.
 
void yac_interpolation_gen_config_set_scaling_summand (struct yac_interpolation_gen_config *config, double scaling_summand)
 Set the additive scaling summand.
 
void yac_interpolation_gen_config_set_yaxt_exchanger_name (struct yac_interpolation_gen_config *config, char const *yaxt_exchanger_name)
 Set the name of the Yaxt exchanger.
 

Detailed Description

Configuration management for interpolation generation.

This module defines the interface for creating, configuring, and querying interpolation generation settings via yac_interpolation_gen_config.

Definition in file interpolation_gen_config.h.

Function Documentation

◆ yac_interpolation_gen_config_copy()

struct yac_interpolation_gen_config * yac_interpolation_gen_config_copy ( struct yac_interpolation_gen_config const * src)

Create a copy of an interpolation generation configuration.

Allocates and returns a new configuration structure containing the same parameter values as the provided source. The string pointer yaxt_exchanger_name is copied by reference (not duplicated).

The returned configuration must be released using yac_interpolation_gen_config_delete.

Parameters
[in]srcPointer to a valid source configuration.
Returns
Pointer to a newly allocated copy of the configuration.

Definition at line 82 of file interpolation_gen_config.c.

Here is the call graph for this function:

◆ yac_interpolation_gen_config_delete()

void yac_interpolation_gen_config_delete ( struct yac_interpolation_gen_config * config)

Release a interpolation generation configuration structure allocated by yac_interpolation_gen_config_new.

Parameters
[in,out]configPointer to interpolation generation configuration structure. May be NULL.

Definition at line 73 of file interpolation_gen_config.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ yac_interpolation_gen_config_new()

struct yac_interpolation_gen_config * yac_interpolation_gen_config_new ( void )

Allocate and initialise an interpolation generation configuration structure.

The returned structure is allocated on the heap and must be released using yac_interpolation_gen_config_delete. It is initialised with default values.

Returns
Pointer to a newly allocated configuration structure.

Definition at line 57 of file interpolation_gen_config.c.

Here is the caller graph for this function:

◆ yac_interpolation_gen_config_set_collection_selection()

void yac_interpolation_gen_config_set_collection_selection ( struct yac_interpolation_gen_config * config,
struct yac_collection_selection const * collection_selection )

Set the collection selection of source field in the source field collection.

Parameters
[in,out]configPointer to a valid configuration structure.
[in]collection_selectionCollection selection that must not be NULL.

Definition at line 152 of file interpolation_gen_config.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ yac_interpolation_gen_config_set_collection_size()

void yac_interpolation_gen_config_set_collection_size ( struct yac_interpolation_gen_config * config,
size_t collection_size )

Set the number of contiguous fields (starting at "0") in the field collection.

Parameters
[in,out]configPointer to a valid configuration structure.
[in]collection_sizePositive collection size (> 0) that must not be equal to SIZE_MAX (reserved for "unset").

Definition at line 132 of file interpolation_gen_config.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ yac_interpolation_gen_config_set_frac_mask_fallback_value()

void yac_interpolation_gen_config_set_frac_mask_fallback_value ( struct yac_interpolation_gen_config * config,
double frac_mask_fallback_value )

Set the fractional mask fallback value.

Defines the value to be used for masked target points in fractional mask interpolations.

Parameters
[in,out]configPointer to a valid configuration structure.
[in]frac_mask_fallback_valueFallback value used in fractional masking. Must satisfy YAC_FRAC_MASK_VALUE_IS_VALID.

Definition at line 173 of file interpolation_gen_config.c.

Here is the caller graph for this function:

◆ yac_interpolation_gen_config_set_reorder()

void yac_interpolation_gen_config_set_reorder ( struct yac_interpolation_gen_config * config,
enum yac_interp_weights_reorder_type reorder )

Set the reordering strategy for interpolation weights.

Parameters
[in,out]configPointer to a valid configuration structure.
[in]reorderReordering strategy to apply. Must be either YAC_MAPPING_ON_SRC or YAC_MAPPING_ON_TGT.

Definition at line 101 of file interpolation_gen_config.c.

Here is the caller graph for this function:

◆ yac_interpolation_gen_config_set_scaling_factor()

void yac_interpolation_gen_config_set_scaling_factor ( struct yac_interpolation_gen_config * config,
double scaling_factor )

Set the multiplicative scaling factor.

The scaling factor is applied to interpolation results. It must be a finite, normal floating-point number or 0.0.

Parameters
[in,out]configPointer to a valid configuration structure.
[in]scaling_factorScaling factor to apply.

Definition at line 190 of file interpolation_gen_config.c.

Here is the caller graph for this function:

◆ yac_interpolation_gen_config_set_scaling_summand()

void yac_interpolation_gen_config_set_scaling_summand ( struct yac_interpolation_gen_config * config,
double scaling_summand )

Set the additive scaling summand.

The summand is added to interpolation results after applying the scaling factor. It must be a finite, normal floating-point number or 0.0.

Parameters
[in,out]configPointer to a valid configuration structure.
[in]scaling_summandScaling summand to apply.

Definition at line 204 of file interpolation_gen_config.c.

Here is the caller graph for this function:

◆ yac_interpolation_gen_config_set_yaxt_exchanger_name()

void yac_interpolation_gen_config_set_yaxt_exchanger_name ( struct yac_interpolation_gen_config * config,
char const * yaxt_exchanger_name )

Set the name of the Yaxt exchanger.

The provided string is stored by pointer (not copied). May be NULL to indicate that the default exchanger should be used.

Parameters
[in,out]configPointer to a valid configuration structure.
[in]yaxt_exchanger_namePointer to a yaxt exchanger name string or NULL.

Definition at line 218 of file interpolation_gen_config.c.

Here is the caller graph for this function: