Yet Another eXchange Tool 0.11.3
Loading...
Searching...
No Matches
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_config.h"
#include "xt_config_internal.h"
#include "xt_idxvec_internal.h"
#include "xt/xt_idxstripes.h"
#include "xt_idxstripes_internal.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_
 
struct  range_list_sort
 
struct  Xt_stripes
 

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 Xt_idxlist idxlist_collection_sorted_copy (Xt_idxlist idxlist, Xt_config config)
 
static void idxlist_collection_get_indices (Xt_idxlist idxlist, Xt_int *indices)
 
static const Xt_intidxlist_collection_get_indices_const (Xt_idxlist idxlist)
 
static int idxlist_collection_get_num_index_stripes (Xt_idxlist idxlist)
 
static void idxlist_collection_get_index_stripes (Xt_idxlist idxlist, struct Xt_stripe *restrict stripes, size_t num_stripes_alloc)
 
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)
 
static int idxlist_collection_get_sorting (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), Xt_config XT_UNUSED(config))
 
static int range_list_cmp (const void *a, const void *b)
 
static Xt_idxlist coll_get_sorted_stripes (Xt_idxlist_collection collectionlist, struct range_list_sort *list_sorter, Xt_config config)
 

Variables

static const char filename [] = "xt_idxlist_collection.c"
 
static const struct xt_idxlist_vtable idxlist_collection_vtable
 

Detailed Description

Typedef Documentation

◆ Xt_idxlist_collection

Definition at line 151 of file xt_idxlist_collection.c.

Function Documentation

◆ coll_get_sorted_stripes()

static Xt_idxlist coll_get_sorted_stripes ( Xt_idxlist_collection collectionlist,
struct range_list_sort * list_sorter,
Xt_config config )
static

Definition at line 392 of file xt_idxlist_collection.c.

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

◆ idxlist_collection_copy()

static Xt_idxlist idxlist_collection_copy ( Xt_idxlist idxlist)
static

Definition at line 359 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 277 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 613 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 *restrict stripes,
size_t num_stripes_alloc )
static

Definition at line 592 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 546 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 560 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 693 of file xt_idxlist_collection.c.

Here is the call graph for this function:

◆ idxlist_collection_get_min_index()

static Xt_int idxlist_collection_get_min_index ( Xt_idxlist idxlist)
static

Definition at line 676 of file xt_idxlist_collection.c.

Here is the call graph for this function:

◆ idxlist_collection_get_num_index_stripes()

static int idxlist_collection_get_num_index_stripes ( Xt_idxlist idxlist)
static

Definition at line 579 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 290 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 668 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 633 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_sorting()

static int idxlist_collection_get_sorting ( Xt_idxlist idxlist)
static

Definition at line 710 of file xt_idxlist_collection.c.

◆ 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 307 of file xt_idxlist_collection.c.

Here is the call graph for this function:

◆ idxlist_collection_sorted_copy()

static Xt_idxlist idxlist_collection_sorted_copy ( Xt_idxlist idxlist,
Xt_config config )
static

Definition at line 482 of file xt_idxlist_collection.c.

Here is the call graph for this function:

◆ range_list_cmp()

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

Definition at line 374 of file xt_idxlist_collection.c.

Here is the caller 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,
Xt_config XT_UNUSEDconfig )

Definition at line 351 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 165 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 323 of file xt_idxlist_collection.c.

Here is the call graph for this function:

Variable Documentation

◆ filename

const char filename[] = "xt_idxlist_collection.c"
static

Definition at line 75 of file xt_idxlist_collection.c.

◆ idxlist_collection_vtable

const struct xt_idxlist_vtable idxlist_collection_vtable
static
Initial value:
= {
.get_num_index_stripes = idxlist_collection_get_num_index_stripes,
.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_sorted_copy(Xt_idxlist idxlist, Xt_config config)
static Xt_idxlist idxlist_collection_copy(Xt_idxlist idxlist)
static int idxlist_collection_get_num_index_stripes(Xt_idxlist idxlist)
static int idxlist_collection_get_sorting(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_pack(Xt_idxlist data, void *buffer, int buffer_size, int *position, MPI_Comm comm)
static void idxlist_collection_get_index_stripes(Xt_idxlist idxlist, struct Xt_stripe *restrict stripes, size_t num_stripes_alloc)
static const Xt_int * idxlist_collection_get_indices_const(Xt_idxlist idxlist)
@ COLLECTION

Definition at line 128 of file xt_idxlist_collection.c.