Yet Another eXchange Tool  0.9.0
Classes | Typedefs | Functions | Variables
xt_idxlist_collection.c File Reference
#include <stdlib.h>
#include <stdio.h>
#include <assert.h>
#include <string.h>
#include "mpi.h"
#include "xt/xt_core.h"
#include "xt/xt_idxlist.h"
#include "xt_idxlist_internal.h"
#include "xt/xt_idxlist_collection.h"
#include "xt_idxlist_collection_internal.h"
#include "xt/xt_idxempty.h"
#include "xt/xt_mpi.h"
#include "xt_idxlist_unpack.h"
#include "xt_stripe_util.h"
#include "core/core.h"
#include "core/ppm_xfuncs.h"
#include "ensure_array_size.h"
Include dependency graph for xt_idxlist_collection.c:

Go to the source code of this file.

Classes

struct  Xt_idxlist_collection_
 

Typedefs

typedef struct Xt_idxlist_collection_Xt_idxlist_collection
 

Functions

static void idxlist_collection_delete (Xt_idxlist data)
 
static size_t idxlist_collection_get_pack_size (Xt_idxlist data, MPI_Comm comm)
 
static void idxlist_collection_pack (Xt_idxlist data, void *buffer, int buffer_size, int *position, MPI_Comm comm)
 
static Xt_idxlist idxlist_collection_copy (Xt_idxlist idxlist)
 
static void idxlist_collection_get_indices (Xt_idxlist idxlist, Xt_int *indices)
 
static const Xt_intidxlist_collection_get_indices_const (Xt_idxlist idxlist)
 
static void idxlist_collection_get_index_stripes (Xt_idxlist idxlist, struct Xt_stripe **stripes, int *num_stripes)
 
static int idxlist_collection_get_index_at_position (Xt_idxlist idxlist, int position, Xt_int *index)
 
static int idxlist_collection_get_position_of_index (Xt_idxlist idxlist, Xt_int index, int *position)
 
static int idxlist_collection_get_position_of_index_off (Xt_idxlist idxlist, Xt_int index, int *position, int offset)
 
static Xt_int idxlist_collection_get_min_index (Xt_idxlist idxlist)
 
static Xt_int idxlist_collection_get_max_index (Xt_idxlist idxlist)
 
Xt_idxlist xt_idxlist_collection_new (Xt_idxlist *idxlists, int num_idxlists)
 
Xt_idxlist xt_idxlist_collection_unpack (void *buffer, int buffer_size, int *position, MPI_Comm comm)
 
Xt_idxlist xt_idxlist_collection_get_intersection (Xt_idxlist XT_UNUSED(idxlist_src), Xt_idxlist XT_UNUSED(idxlist_dst))
 

Variables

static const struct xt_idxlist_vtable idxlist_collection_vtable
 

Detailed Description

Author
Jörg Behrens behre.nosp@m.ns@d.nosp@m.krz.d.nosp@m.e Moritz Hanke hanke.nosp@m.@dkr.nosp@m.z.de Thomas Jahns jahns.nosp@m.@dkr.nosp@m.z.de

Definition in file xt_idxlist_collection.c.

Typedef Documentation

◆ Xt_idxlist_collection

Definition at line 132 of file xt_idxlist_collection.c.

Function Documentation

◆ idxlist_collection_copy()

static Xt_idxlist idxlist_collection_copy ( Xt_idxlist  idxlist)
static

Definition at line 261 of file xt_idxlist_collection.c.

Here is the call graph for this function:

◆ idxlist_collection_delete()

static void idxlist_collection_delete ( Xt_idxlist  data)
static

Definition at line 180 of file xt_idxlist_collection.c.

Here is the call graph for this function:

◆ idxlist_collection_get_index_at_position()

static int idxlist_collection_get_index_at_position ( Xt_idxlist  idxlist,
int  position,
Xt_int index 
)
static

Definition at line 347 of file xt_idxlist_collection.c.

Here is the call graph for this function:

◆ idxlist_collection_get_index_stripes()

static void idxlist_collection_get_index_stripes ( Xt_idxlist  idxlist,
struct Xt_stripe **  stripes,
int *  num_stripes 
)
static

Definition at line 304 of file xt_idxlist_collection.c.

Here is the call graph for this function:

◆ idxlist_collection_get_indices()

static void idxlist_collection_get_indices ( Xt_idxlist  idxlist,
Xt_int indices 
)
static
Todo:
use memcpy with index_array_cache if available

Definition at line 270 of file xt_idxlist_collection.c.

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

◆ idxlist_collection_get_indices_const()

static const Xt_int * idxlist_collection_get_indices_const ( Xt_idxlist  idxlist)
static

Definition at line 284 of file xt_idxlist_collection.c.

Here is the call graph for this function:

◆ idxlist_collection_get_max_index()

static Xt_int idxlist_collection_get_max_index ( Xt_idxlist  idxlist)
static

Definition at line 427 of file xt_idxlist_collection.c.

◆ idxlist_collection_get_min_index()

static Xt_int idxlist_collection_get_min_index ( Xt_idxlist  idxlist)
static

Definition at line 410 of file xt_idxlist_collection.c.

Here is the call graph for this function:

◆ idxlist_collection_get_pack_size()

static size_t idxlist_collection_get_pack_size ( Xt_idxlist  data,
MPI_Comm  comm 
)
static

Definition at line 193 of file xt_idxlist_collection.c.

Here is the call graph for this function:

◆ idxlist_collection_get_position_of_index()

static int idxlist_collection_get_position_of_index ( Xt_idxlist  idxlist,
Xt_int  index,
int *  position 
)
static

Definition at line 402 of file xt_idxlist_collection.c.

Here is the call graph for this function:

◆ idxlist_collection_get_position_of_index_off()

static int idxlist_collection_get_position_of_index_off ( Xt_idxlist  idxlist,
Xt_int  index,
int *  position,
int  offset 
)
static

Definition at line 367 of file xt_idxlist_collection.c.

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

◆ idxlist_collection_pack()

static void idxlist_collection_pack ( Xt_idxlist  data,
void *  buffer,
int  buffer_size,
int *  position,
MPI_Comm  comm 
)
static

Definition at line 210 of file xt_idxlist_collection.c.

Here is the call graph for this function:

◆ xt_idxlist_collection_get_intersection()

Xt_idxlist xt_idxlist_collection_get_intersection ( Xt_idxlist   XT_UNUSEDidxlist_src,
Xt_idxlist   XT_UNUSEDidxlist_dst 
)

Definition at line 254 of file xt_idxlist_collection.c.

◆ xt_idxlist_collection_new()

Xt_idxlist xt_idxlist_collection_new ( Xt_idxlist idxlists,
int  num_idxlists 
)

generates a new index list based on a collection of index lists

Parameters
[in]idxlistsarray containing a number of index lists
[in]num_idxlistsnumber of index lists in idxlists
Returns
returns a Xt_idxlist$

Definition at line 145 of file xt_idxlist_collection.c.

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

◆ xt_idxlist_collection_unpack()

Xt_idxlist xt_idxlist_collection_unpack ( void *  buffer,
int  buffer_size,
int *  position,
MPI_Comm  comm 
)

Definition at line 226 of file xt_idxlist_collection.c.

Here is the call graph for this function:

Variable Documentation

◆ idxlist_collection_vtable

const struct xt_idxlist_vtable idxlist_collection_vtable
static
Initial value:
= {
.get_index_at_position = idxlist_collection_get_index_at_position,
.get_indices_at_positions = NULL,
.get_position_of_index = idxlist_collection_get_position_of_index,
.get_positions_of_indices = NULL,
.get_position_of_index_off = idxlist_collection_get_position_of_index_off,
.get_positions_of_indices_off = NULL,
.get_bounding_box = NULL,
.idxlist_pack_code = COLLECTION,
}
static void idxlist_collection_get_indices(Xt_idxlist idxlist, Xt_int *indices)
static int idxlist_collection_get_position_of_index_off(Xt_idxlist idxlist, Xt_int index, int *position, int offset)
static int idxlist_collection_get_position_of_index(Xt_idxlist idxlist, Xt_int index, int *position)
static void idxlist_collection_delete(Xt_idxlist data)
static Xt_idxlist idxlist_collection_copy(Xt_idxlist idxlist)
static Xt_int idxlist_collection_get_max_index(Xt_idxlist idxlist)
static size_t idxlist_collection_get_pack_size(Xt_idxlist data, MPI_Comm comm)
static Xt_int idxlist_collection_get_min_index(Xt_idxlist idxlist)
static int idxlist_collection_get_index_at_position(Xt_idxlist idxlist, int position, Xt_int *index)
static void idxlist_collection_get_index_stripes(Xt_idxlist idxlist, struct Xt_stripe **stripes, int *num_stripes)
static void idxlist_collection_pack(Xt_idxlist data, void *buffer, int buffer_size, int *position, MPI_Comm comm)
static const Xt_int * idxlist_collection_get_indices_const(Xt_idxlist idxlist)
@ COLLECTION

Definition at line 110 of file xt_idxlist_collection.c.