YAC 3.18.0
Yet Another Coupler
Loading...
Searching...
No Matches
couple_config_config_output.c File Reference
#include <stdint.h>
#include <string.h>
#include "couple_config_config_output.h"
#include "yac_mpi_common.h"
#include "yac_mpi_internal.h"
#include "dist_merge.h"
#include "utils_core.h"
Include dependency graph for couple_config_config_output.c:

Go to the source code of this file.

Functions

void yac_couple_config_config_output_append (struct yac_couple_config_config_output **config_outputs, size_t *num_config_outputs, char const *filename, enum yac_text_filetype filetype, char const *ref, int include_definitions_)
 
void yac_couple_config_config_output_free (struct yac_couple_config_config_output *config_output)
 
static size_t yac_couple_config_config_output_get_pack_size (void *config_output_, MPI_Comm comm)
 
static void yac_couple_config_config_output_pack (void *config_output_, void *buffer, int buffer_size, int *position, MPI_Comm comm)
 
static void yac_couple_config_config_output_unpack (void *buffer, int buffer_size, int *position, void *config_output_, MPI_Comm comm)
 
static int yac_couple_config_config_output_compare (void const *a, void const *b)
 
static void yac_couple_config_config_output_merge (void *a_, void *b_, MPI_Comm comm)
 
static void yac_couple_config_config_output_free_ (void *config_output)
 
void yac_couple_config_config_outputs_merge (struct yac_couple_config_config_output **config_outputs, size_t *num_config_outputs, MPI_Comm comm)
 
enum yac_couple_config_flag_value yac_couple_config_config_output_get_include_definitions (struct yac_couple_config_config_output const *config_output)
 
void yac_couple_config_config_outputs_free (struct yac_couple_config_config_output **config_outputs, size_t *num_config_outputs)
 

Variables

static struct yac_dist_merge_vtable dist_merge_vtable_config_output
 

Function Documentation

◆ yac_couple_config_config_output_append()

void yac_couple_config_config_output_append ( struct yac_couple_config_config_output ** config_outputs,
size_t * num_config_outputs,
char const * filename,
enum yac_text_filetype filetype,
char const * ref,
int include_definitions )

Append a config output entry to the list of config outputs, checking for consistency with existing entries.

Parameters
[in,out]config_outputsConfig output entries.
[in,out]num_config_outputsCurrent number of config output entries.
[in]filenameName of the output file (must not be NULL or empty).
[in]filetypeType of the output file.
[in]refReference name for synchronization (must not be NULL or empty).
[in]include_definitionsFlag indicating whether to include definitions

Definition at line 15 of file couple_config_config_output.c.

Here is the caller graph for this function:

◆ yac_couple_config_config_output_compare()

static int yac_couple_config_config_output_compare ( void const * a,
void const * b )
static

Definition at line 142 of file couple_config_config_output.c.

◆ yac_couple_config_config_output_free()

void yac_couple_config_config_output_free ( struct yac_couple_config_config_output * config_output)

Free a config output entry and all its dynamic data.

Parameters
[in,out]config_outputConfig output entry.

Definition at line 75 of file couple_config_config_output.c.

Here is the caller graph for this function:

◆ yac_couple_config_config_output_free_()

static void yac_couple_config_config_output_free_ ( void * config_output)
static

Definition at line 179 of file couple_config_config_output.c.

Here is the call graph for this function:

◆ yac_couple_config_config_output_get_include_definitions()

enum yac_couple_config_flag_value yac_couple_config_config_output_get_include_definitions ( struct yac_couple_config_config_output const * config_output)

Get the include_definitions flag from a config output entry, returning YAC_COUPLE_CONFIG_FLAG_FALSE as the default when the flag is unset.

Parameters
[in]config_outputConfig output entry.
Returns
include_definitions flag value.

Definition at line 207 of file couple_config_config_output.c.

Here is the caller graph for this function:

◆ yac_couple_config_config_output_get_pack_size()

static size_t yac_couple_config_config_output_get_pack_size ( void * config_output_,
MPI_Comm comm )
static

Definition at line 84 of file couple_config_config_output.c.

Here is the call graph for this function:

◆ yac_couple_config_config_output_merge()

static void yac_couple_config_config_output_merge ( void * a_,
void * b_,
MPI_Comm comm )
static

Definition at line 153 of file couple_config_config_output.c.

Here is the call graph for this function:

◆ yac_couple_config_config_output_pack()

static void yac_couple_config_config_output_pack ( void * config_output_,
void * buffer,
int buffer_size,
int * position,
MPI_Comm comm )
static

Definition at line 103 of file couple_config_config_output.c.

Here is the call graph for this function:

◆ yac_couple_config_config_output_unpack()

static void yac_couple_config_config_output_unpack ( void * buffer,
int buffer_size,
int * position,
void * config_output_,
MPI_Comm comm )
static

Definition at line 122 of file couple_config_config_output.c.

Here is the call graph for this function:

◆ yac_couple_config_config_outputs_free()

void yac_couple_config_config_outputs_free ( struct yac_couple_config_config_output ** config_outputs,
size_t * num_config_outputs )

Free all config outputs and their dynamic data from a coupling configuration.

Parameters
[in,out]config_outputsConfig output entries.
[in,out]num_config_outputsNumber of config output entries.

Definition at line 217 of file couple_config_config_output.c.

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

◆ yac_couple_config_config_outputs_merge()

void yac_couple_config_config_outputs_merge ( struct yac_couple_config_config_output ** config_outputs,
size_t * num_config_outputs,
MPI_Comm comm )

Synchronize and merge all config output entries across ranks.

Parameters
[in,out]config_outputsConfig output entries.
[in,out]num_config_outputsNumber of config output entries.
[in]commMPI communicator.

Definition at line 193 of file couple_config_config_output.c.

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

Variable Documentation

◆ dist_merge_vtable_config_output

struct yac_dist_merge_vtable dist_merge_vtable_config_output
static
Initial value:
=
static void yac_couple_config_config_output_unpack(void *buffer, int buffer_size, int *position, void *config_output_, MPI_Comm comm)
static size_t yac_couple_config_config_output_get_pack_size(void *config_output_, MPI_Comm comm)
static void yac_couple_config_config_output_merge(void *a_, void *b_, MPI_Comm comm)
static void yac_couple_config_config_output_free_(void *config_output)
static int yac_couple_config_config_output_compare(void const *a, void const *b)
static void yac_couple_config_config_output_pack(void *config_output_, void *buffer, int buffer_size, int *position, MPI_Comm comm)

Definition at line 185 of file couple_config_config_output.c.