Yet Another eXchange Tool 0.11.2
Loading...
Searching...
No Matches
xt_idxempty.c File Reference
#include <assert.h>
#include <limits.h>
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
#include "xt/xt_core.h"
#include "xt/xt_idxlist.h"
#include "xt/xt_idxempty.h"
#include "xt_idxempty_internal.h"
#include "xt_idxlist_unpack.h"
#include "xt_idxlist_internal.h"
#include "xt/xt_mpi.h"
#include "core/ppm_xfuncs.h"
#include "core/core.h"
Include dependency graph for xt_idxempty.c:

Go to the source code of this file.

Classes

struct  xt_idxempty
 

Functions

static void idxempty_delete (Xt_idxlist data)
 
static size_t idxempty_get_pack_size (Xt_idxlist data, MPI_Comm comm)
 
static void idxempty_pack (Xt_idxlist data, void *buffer, int buffer_size, int *position, MPI_Comm comm)
 
static Xt_idxlist idxempty_copy (Xt_idxlist idxlist)
 
static Xt_idxlist idxempty_sorted_copy (Xt_idxlist idxlist, Xt_config config)
 
static void idxempty_get_indices (Xt_idxlist idxlist, Xt_int *indices)
 
static Xt_int const * idxempty_get_indices_const (Xt_idxlist idxlist)
 
static int idxempty_get_num_index_stripes (Xt_idxlist idxlist)
 
static void idxempty_get_index_stripes (Xt_idxlist idxlist, struct Xt_stripe *stripes, size_t num_stripes_alloc)
 
static int idxempty_get_index_at_position (Xt_idxlist idxlist, int position, Xt_int *index)
 
static int idxempty_get_indices_at_positions (Xt_idxlist idxlist, const int *positions, int num, Xt_int *index, Xt_int undef_idx)
 
static int idxempty_get_position_of_index (Xt_idxlist idxlist, Xt_int index, int *position)
 
static int idxempty_get_position_of_index_off (Xt_idxlist idxlist, Xt_int index, int *position, int offset)
 
static size_t idxempty_get_positions_of_indices (Xt_idxlist idxlist, Xt_int const *indices, size_t num_indices, int *positions, int single_match_only)
 
static int idxempty_get_pos_exts_of_index_stripes (Xt_idxlist idxlist, int num_stripes, const struct Xt_stripe *stripes, int *num_ext, struct Xt_pos_ext **pos_ext, int single_match_only, Xt_config config)
 
static int idxempty_get_positions_of_indices_off (Xt_idxlist idxlist, Xt_int const *indices, int num_indices, int *positions, int *offsets)
 
static Xt_int idxempty_get_min_index (Xt_idxlist idxlist)
 
static Xt_int idxempty_get_max_index (Xt_idxlist idxlist)
 
static int idxempty_get_sorting (Xt_idxlist idxlist)
 
void xt_idxempty_init (void)
 
void xt_idxempty_finalize (void)
 
Xt_idxlist xt_idxempty_new (void)
 
static void idxempty_delete (Xt_idxlist XT_UNUSED(data))
 
static size_t idxempty_get_pack_size (Xt_idxlist XT_UNUSED(data), MPI_Comm comm)
 
Xt_idxlist xt_idxempty_unpack (void *XT_UNUSED(buffer), int XT_UNUSED(buffer_size), int *XT_UNUSED(position), MPI_Comm XT_UNUSED(comm))
 
static Xt_idxlist idxempty_copy (Xt_idxlist XT_UNUSED(idxlist))
 
static Xt_idxlist idxempty_sorted_copy (Xt_idxlist XT_UNUSED(idxlist), Xt_config XT_UNUSED(config))
 
static void idxempty_get_indices (Xt_idxlist XT_UNUSED(idxlist), Xt_int *XT_UNUSED(indices))
 
static Xt_int const * idxempty_get_indices_const (Xt_idxlist XT_UNUSED(idxlist))
 
static void idxempty_get_index_stripes (Xt_idxlist XT_UNUSED(idxlist), struct Xt_stripe *stripes, size_t num_stripes_alloc)
 
static int idxempty_get_index_at_position (Xt_idxlist XT_UNUSED(idxlist), int XT_UNUSED(position), Xt_int *XT_UNUSED(index))
 
static int idxempty_get_indices_at_positions (Xt_idxlist XT_UNUSED(idxlist), const int *XT_UNUSED(positions), int num_pos, Xt_int *index, Xt_int undef_idx)
 
static int idxempty_get_position_of_index_off (Xt_idxlist XT_UNUSED(idxlist), Xt_int XT_UNUSED(index), int *XT_UNUSED(position), int XT_UNUSED(offset))
 
static int idxempty_get_position_of_index (Xt_idxlist XT_UNUSED(idxlist), Xt_int XT_UNUSED(index), int *XT_UNUSED(position))
 
size_t idxempty_get_positions_of_indices (Xt_idxlist XT_UNUSED(body_idxlist), const Xt_int *XT_UNUSED(selection_idx), size_t num_selection, int *XT_UNUSED(positions), int XT_UNUSED(single_match_only))
 
static int idxempty_get_pos_exts_of_index_stripes (Xt_idxlist XT_UNUSED(idxlist), int num_stripes, const struct Xt_stripe *stripes, int *num_ext, struct Xt_pos_ext **pos_ext, int XT_UNUSED(single_match_only), Xt_config XT_UNUSED(config))
 
static int idxempty_get_positions_of_indices_off (Xt_idxlist XT_UNUSED(idxlist), const Xt_int *XT_UNUSED(indices), int XT_UNUSED(num_indices), int *XT_UNUSED(positions), int *XT_UNUSED(offsets))
 
static Xt_int idxempty_get_min_index (Xt_idxlist XT_UNUSED(idxlist))
 
static Xt_int idxempty_get_max_index (Xt_idxlist XT_UNUSED(idxlist))
 
static int idxempty_get_sorting (Xt_idxlist XT_UNUSED(idxlist))
 

Variables

static const struct xt_idxlist_vtable idxempty_vtable
 
static struct xt_idxempty idxempty
 

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_idxempty.c.

Function Documentation

◆ idxempty_copy() [1/2]

static Xt_idxlist idxempty_copy ( Xt_idxlist idxlist)
static

◆ idxempty_copy() [2/2]

static Xt_idxlist idxempty_copy ( Xt_idxlist XT_UNUSEDidxlist)
static

Definition at line 217 of file xt_idxempty.c.

Here is the call graph for this function:

◆ idxempty_delete() [1/2]

static void idxempty_delete ( Xt_idxlist data)
static

◆ idxempty_delete() [2/2]

static void idxempty_delete ( Xt_idxlist XT_UNUSEDdata)
static

Definition at line 184 of file xt_idxempty.c.

◆ idxempty_get_index_at_position() [1/2]

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

◆ idxempty_get_index_at_position() [2/2]

static int idxempty_get_index_at_position ( Xt_idxlist XT_UNUSEDidxlist,
int XT_UNUSEDposition,
Xt_int * XT_UNUSEDindex )
static

Definition at line 255 of file xt_idxempty.c.

◆ idxempty_get_index_stripes() [1/2]

static void idxempty_get_index_stripes ( Xt_idxlist idxlist,
struct Xt_stripe * stripes,
size_t num_stripes_alloc )
static

◆ idxempty_get_index_stripes() [2/2]

static void idxempty_get_index_stripes ( Xt_idxlist XT_UNUSEDidxlist,
struct Xt_stripe * stripes,
size_t num_stripes_alloc )
static

Definition at line 247 of file xt_idxempty.c.

◆ idxempty_get_indices() [1/2]

static void idxempty_get_indices ( Xt_idxlist idxlist,
Xt_int * indices )
static

◆ idxempty_get_indices() [2/2]

static void idxempty_get_indices ( Xt_idxlist XT_UNUSEDidxlist,
Xt_int * XT_UNUSEDindices )
static

Definition at line 229 of file xt_idxempty.c.

◆ idxempty_get_indices_at_positions() [1/2]

static int idxempty_get_indices_at_positions ( Xt_idxlist idxlist,
const int * positions,
int num,
Xt_int * index,
Xt_int undef_idx )
static

◆ idxempty_get_indices_at_positions() [2/2]

static int idxempty_get_indices_at_positions ( Xt_idxlist XT_UNUSEDidxlist,
const int * XT_UNUSEDpositions,
int num_pos,
Xt_int * index,
Xt_int undef_idx )
static

Definition at line 263 of file xt_idxempty.c.

◆ idxempty_get_indices_const() [1/2]

static Xt_int const * idxempty_get_indices_const ( Xt_idxlist idxlist)
static

◆ idxempty_get_indices_const() [2/2]

static Xt_int const * idxempty_get_indices_const ( Xt_idxlist XT_UNUSEDidxlist)
static

Definition at line 234 of file xt_idxempty.c.

◆ idxempty_get_max_index() [1/2]

static Xt_int idxempty_get_max_index ( Xt_idxlist idxlist)
static

◆ idxempty_get_max_index() [2/2]

static Xt_int idxempty_get_max_index ( Xt_idxlist XT_UNUSEDidxlist)
static

Definition at line 339 of file xt_idxempty.c.

◆ idxempty_get_min_index() [1/2]

static Xt_int idxempty_get_min_index ( Xt_idxlist idxlist)
static

◆ idxempty_get_min_index() [2/2]

static Xt_int idxempty_get_min_index ( Xt_idxlist XT_UNUSEDidxlist)
static

Definition at line 330 of file xt_idxempty.c.

◆ idxempty_get_num_index_stripes()

static int idxempty_get_num_index_stripes ( Xt_idxlist idxlist)
static

Definition at line 240 of file xt_idxempty.c.

◆ idxempty_get_pack_size() [1/2]

static size_t idxempty_get_pack_size ( Xt_idxlist data,
MPI_Comm comm )
static

◆ idxempty_get_pack_size() [2/2]

static size_t idxempty_get_pack_size ( Xt_idxlist XT_UNUSEDdata,
MPI_Comm comm )
static

Definition at line 187 of file xt_idxempty.c.

◆ idxempty_get_pos_exts_of_index_stripes() [1/2]

static int idxempty_get_pos_exts_of_index_stripes ( Xt_idxlist idxlist,
int num_stripes,
const struct Xt_stripe * stripes,
int * num_ext,
struct Xt_pos_ext ** pos_ext,
int single_match_only,
Xt_config config )
static

◆ idxempty_get_pos_exts_of_index_stripes() [2/2]

static int idxempty_get_pos_exts_of_index_stripes ( Xt_idxlist XT_UNUSEDidxlist,
int num_stripes,
const struct Xt_stripe * stripes,
int * num_ext,
struct Xt_pos_ext ** pos_ext,
int XT_UNUSEDsingle_match_only,
Xt_config XT_UNUSEDconfig )
static

Definition at line 302 of file xt_idxempty.c.

◆ idxempty_get_position_of_index() [1/2]

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

◆ idxempty_get_position_of_index() [2/2]

static int idxempty_get_position_of_index ( Xt_idxlist XT_UNUSEDidxlist,
Xt_int XT_UNUSEDindex,
int * XT_UNUSEDposition )
static

Definition at line 285 of file xt_idxempty.c.

◆ idxempty_get_position_of_index_off() [1/2]

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

◆ idxempty_get_position_of_index_off() [2/2]

static int idxempty_get_position_of_index_off ( Xt_idxlist XT_UNUSEDidxlist,
Xt_int XT_UNUSEDindex,
int * XT_UNUSEDposition,
int XT_UNUSEDoffset )
static

Definition at line 277 of file xt_idxempty.c.

◆ idxempty_get_positions_of_indices() [1/2]

static size_t idxempty_get_positions_of_indices ( Xt_idxlist idxlist,
Xt_int const * indices,
size_t num_indices,
int * positions,
int single_match_only )
static

◆ idxempty_get_positions_of_indices() [2/2]

size_t idxempty_get_positions_of_indices ( Xt_idxlist XT_UNUSEDbody_idxlist,
const Xt_int * XT_UNUSEDselection_idx,
size_t num_selection,
int * XT_UNUSEDpositions,
int XT_UNUSEDsingle_match_only )

Definition at line 292 of file xt_idxempty.c.

◆ idxempty_get_positions_of_indices_off() [1/2]

static int idxempty_get_positions_of_indices_off ( Xt_idxlist idxlist,
Xt_int const * indices,
int num_indices,
int * positions,
int * offsets )
static

◆ idxempty_get_positions_of_indices_off() [2/2]

static int idxempty_get_positions_of_indices_off ( Xt_idxlist XT_UNUSEDidxlist,
const Xt_int * XT_UNUSEDindices,
int XT_UNUSEDnum_indices,
int * XT_UNUSEDpositions,
int * XT_UNUSEDoffsets )
static

Definition at line 320 of file xt_idxempty.c.

◆ idxempty_get_sorting() [1/2]

static int idxempty_get_sorting ( Xt_idxlist idxlist)
static

◆ idxempty_get_sorting() [2/2]

static int idxempty_get_sorting ( Xt_idxlist XT_UNUSEDidxlist)
static

Definition at line 348 of file xt_idxempty.c.

◆ idxempty_pack()

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

Definition at line 196 of file xt_idxempty.c.

◆ idxempty_sorted_copy() [1/2]

static Xt_idxlist idxempty_sorted_copy ( Xt_idxlist idxlist,
Xt_config config )
static

◆ idxempty_sorted_copy() [2/2]

static Xt_idxlist idxempty_sorted_copy ( Xt_idxlist XT_UNUSEDidxlist,
Xt_config XT_UNUSEDconfig )
static

Definition at line 223 of file xt_idxempty.c.

Here is the call graph for this function:

◆ xt_idxempty_finalize()

void xt_idxempty_finalize ( void )

Definition at line 174 of file xt_idxempty.c.

Here is the caller graph for this function:

◆ xt_idxempty_init()

void xt_idxempty_init ( void )

Definition at line 168 of file xt_idxempty.c.

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

◆ xt_idxempty_new()

Xt_idxlist xt_idxempty_new ( void )

generates a new index list that does not contain any indices

Returns
returns a Xt_idxlist

Definition at line 178 of file xt_idxempty.c.

Here is the caller graph for this function:

◆ xt_idxempty_unpack()

Xt_idxlist xt_idxempty_unpack ( void * XT_UNUSEDbuffer,
int XT_UNUSEDbuffer_size,
int * XT_UNUSEDposition,
MPI_Comm XT_UNUSEDcomm )

Definition at line 207 of file xt_idxempty.c.

Here is the call graph for this function:

Variable Documentation

◆ idxempty

struct xt_idxempty idxempty
static

◆ idxempty_vtable

const struct xt_idxlist_vtable idxempty_vtable
static
Initial value:
= {
.delete = idxempty_delete,
.get_pack_size = idxempty_get_pack_size,
.pack = idxempty_pack,
.copy = idxempty_copy,
.sorted_copy = idxempty_sorted_copy,
.get_indices = idxempty_get_indices,
.get_indices_const = idxempty_get_indices_const,
.get_num_index_stripes = idxempty_get_num_index_stripes,
.get_index_stripes = idxempty_get_index_stripes,
.get_index_at_position = idxempty_get_index_at_position,
.get_indices_at_positions = idxempty_get_indices_at_positions,
.get_position_of_index = idxempty_get_position_of_index,
.get_positions_of_indices = idxempty_get_positions_of_indices,
.get_pos_exts_of_index_stripes = idxempty_get_pos_exts_of_index_stripes,
.get_position_of_index_off = idxempty_get_position_of_index_off,
.get_positions_of_indices_off = idxempty_get_positions_of_indices_off,
.get_min_index = idxempty_get_min_index,
.get_max_index = idxempty_get_max_index,
.get_sorting = idxempty_get_sorting,
.get_bounding_box = NULL,
.idxlist_pack_code = EMPTY,
}
static int idxempty_get_sorting(Xt_idxlist idxlist)
static void idxempty_get_index_stripes(Xt_idxlist idxlist, struct Xt_stripe *stripes, size_t num_stripes_alloc)
static Xt_int const * idxempty_get_indices_const(Xt_idxlist idxlist)
static Xt_int idxempty_get_max_index(Xt_idxlist idxlist)
static size_t idxempty_get_positions_of_indices(Xt_idxlist idxlist, Xt_int const *indices, size_t num_indices, int *positions, int single_match_only)
static void idxempty_delete(Xt_idxlist data)
static int idxempty_get_pos_exts_of_index_stripes(Xt_idxlist idxlist, int num_stripes, const struct Xt_stripe *stripes, int *num_ext, struct Xt_pos_ext **pos_ext, int single_match_only, Xt_config config)
static int idxempty_get_position_of_index(Xt_idxlist idxlist, Xt_int index, int *position)
static int idxempty_get_position_of_index_off(Xt_idxlist idxlist, Xt_int index, int *position, int offset)
static size_t idxempty_get_pack_size(Xt_idxlist data, MPI_Comm comm)
static Xt_idxlist idxempty_sorted_copy(Xt_idxlist idxlist, Xt_config config)
static int idxempty_get_indices_at_positions(Xt_idxlist idxlist, const int *positions, int num, Xt_int *index, Xt_int undef_idx)
static Xt_int idxempty_get_min_index(Xt_idxlist idxlist)
static void idxempty_pack(Xt_idxlist data, void *buffer, int buffer_size, int *position, MPI_Comm comm)
static int idxempty_get_num_index_stripes(Xt_idxlist idxlist)
static Xt_idxlist idxempty_copy(Xt_idxlist idxlist)
static int idxempty_get_positions_of_indices_off(Xt_idxlist idxlist, Xt_int const *indices, int num_indices, int *positions, int *offsets)
static int idxempty_get_index_at_position(Xt_idxlist idxlist, int position, Xt_int *index)
static void idxempty_get_indices(Xt_idxlist idxlist, Xt_int *indices)
@ EMPTY

Definition at line 138 of file xt_idxempty.c.