Yet Another eXchange Tool 0.11.2
|
#include <assert.h>
#include <limits.h>
#include <stdbool.h>
#include <stdint.h>
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
#include "xt/xt_core.h"
#include "xt/xt_idxlist.h"
#include "xt_idxlist_internal.h"
#include "xt/xt_idxempty.h"
#include "xt/xt_idxvec.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 "core/ppm_xfuncs.h"
#include "core/core.h"
#include "xt_stripe_util.h"
#include "xt/xt_sort.h"
#include "xt_config_internal.h"
#include "instr.h"
Go to the source code of this file.
Classes | |
struct | Xt_idxvec_ |
struct | flags_min_max |
Macros | |
#define | MAX(a, b) |
#define | MIN(a, b) |
Typedefs | |
typedef struct Xt_idxvec_ * | Xt_idxvec |
Enumerations | |
enum | { pack_header_size = 2 , unpack_header_size = pack_header_size-1 } |
Functions | |
static void | idxvec_delete (Xt_idxlist data) |
static size_t | idxvec_get_pack_size (Xt_idxlist data, MPI_Comm comm) |
static void | idxvec_pack (Xt_idxlist data, void *buffer, int buffer_size, int *position, MPI_Comm comm) |
static Xt_idxlist | idxvec_copy (Xt_idxlist idxlist) |
static Xt_idxlist | idxvec_sorted_copy (Xt_idxlist idxlist, Xt_config config) |
static void | idxvec_get_indices (Xt_idxlist idxlist, Xt_int *indices) |
static Xt_int const * | idxvec_get_indices_const (Xt_idxlist idxlist) |
static int | idxvec_get_num_index_stripes (Xt_idxlist idxlist) |
static void | idxvec_get_index_stripes (Xt_idxlist idxlist, struct Xt_stripe *stripes, size_t num_stripes_alloc) |
static int | idxvec_get_index_at_position (Xt_idxlist idxlist, int position, Xt_int *index) |
static int | idxvec_get_indices_at_positions (Xt_idxlist idxlist, const int *positions, int num, Xt_int *index, Xt_int undef_idx) |
static int | idxvec_get_position_of_index (Xt_idxlist idxlist, Xt_int index, int *position) |
static int | idxvec_get_position_of_index_off (Xt_idxlist idxlist, Xt_int index, int *position, int offset) |
static size_t | idxvec_get_positions_of_indices (Xt_idxlist idxlist, const Xt_int *indices, size_t num_indices, int *positions, int single_match_only) |
static Xt_int | idxvec_get_min_index (Xt_idxlist idxlist) |
static Xt_int | idxvec_get_max_index (Xt_idxlist idxlist) |
static int | idxvec_get_sorting (Xt_idxlist idxlist) |
static struct Xt_vec_alloc | idxvec_alloc_no_init (int num_indices) |
static struct Xt_vec_alloc | idxvec_alloc (int num_indices) |
struct Xt_vec_alloc | xt_idxvec_alloc (int num_indices) |
Xt_idxlist | xt_idxvec_new (const Xt_int *idxvec, int num_indices) |
static struct flags_min_max | get_sort_flags (size_t num_indices, const Xt_int vector[num_indices]) |
Xt_idxlist | xt_idxvec_congeal (struct Xt_vec_alloc vec_alloc) |
Xt_idxlist | xt_idxvec_prealloc_new (const Xt_int *idxvec, int num_indices) |
static size_t | decode_stripe (struct Xt_stripe stripe, Xt_int *sorted_vector, int *sorted_vec_pos, int pos_offset) |
static void | generate_sorted_vector_from_stripes (const struct Xt_stripe stripes[], int num_stripes_, Xt_idxvec idxvec, Xt_config config) |
Xt_idxlist | xt_idxvec_from_stripes_new (const struct Xt_stripe stripes[], int num_stripes) |
Xt_idxlist | xt_idxvec_unpack (void *buffer, int buffer_size, int *position, MPI_Comm comm) |
static const Xt_int * | get_sorted_vector (Xt_idxvec idxvec, Xt_config config) |
PPM_DSO_INTERNAL const Xt_int * | xt_idxvec_get_sorted_vector (Xt_idxlist idxvec, Xt_config config) |
Xt_idxlist | xt_idxvec_get_intersection (Xt_idxlist idxlist_src, Xt_idxlist idxlist_dst, Xt_config config) |
PPM_DSO_INTERNAL Xt_idxlist | xt_idxvec_get_idxstripes (Xt_idxlist idxlist) |
PPM_DSO_INTERNAL Xt_idxlist | xt_idxvec_get_idxstripes_intersection (Xt_idxlist idxlist_src, Xt_idxlist idxlist_dst, Xt_config config) |
static int | idxvec_get_indices_at_positions (Xt_idxlist idxlist, const int *restrict positions, int num_pos_, Xt_int *index, Xt_int undef_idx) |
static bool | idx_vec_is_sorted (Xt_int const *idx, size_t n) |
Variables | |
static const struct xt_idxlist_vtable | idxvec_vtable |
static const char | filename [] = "xt_idxvec.c" |
Definition in file xt_idxvec.c.
#define MAX | ( | a, | |
b ) |
Definition at line 75 of file xt_idxvec.c.
#define MIN | ( | a, | |
b ) |
Definition at line 76 of file xt_idxvec.c.
typedef struct Xt_idxvec_* Xt_idxvec |
Definition at line 161 of file xt_idxvec.c.
anonymous enum |
Enumerator | |
---|---|
pack_header_size | |
unpack_header_size |
Definition at line 506 of file xt_idxvec.c.
|
static |
Definition at line 347 of file xt_idxvec.c.
|
static |
Definition at line 258 of file xt_idxvec.c.
Definition at line 572 of file xt_idxvec.c.
|
static |
|
static |
Definition at line 206 of file xt_idxvec.c.
|
static |
Definition at line 184 of file xt_idxvec.c.
|
static |
|
static |
Definition at line 497 of file xt_idxvec.c.
|
static |
Definition at line 841 of file xt_idxvec.c.
|
static |
|
static |
Definition at line 807 of file xt_idxvec.c.
|
static |
|
static |
Definition at line 852 of file xt_idxvec.c.
|
static |
Definition at line 814 of file xt_idxvec.c.
|
static |
|
static |
|
static |
|
static |
Definition at line 511 of file xt_idxvec.c.
|
static |
|
static |
Definition at line 880 of file xt_idxvec.c.
|
static |
Definition at line 956 of file xt_idxvec.c.
|
static |
Definition at line 1091 of file xt_idxvec.c.
|
static |
Definition at line 522 of file xt_idxvec.c.
|
static |
struct Xt_vec_alloc xt_idxvec_alloc | ( | int | num_indices | ) |
Definition at line 200 of file xt_idxvec.c.
Xt_idxlist xt_idxvec_congeal | ( | struct Xt_vec_alloc | vec_alloc | ) |
Definition at line 284 of file xt_idxvec.c.
Xt_idxlist xt_idxvec_from_stripes_new | ( | const struct Xt_stripe | stripes[], |
int | num_stripes ) |
PPM_DSO_INTERNAL Xt_idxlist xt_idxvec_get_idxstripes | ( | Xt_idxlist | idxlist | ) |
Definition at line 664 of file xt_idxvec.c.
PPM_DSO_INTERNAL Xt_idxlist xt_idxvec_get_idxstripes_intersection | ( | Xt_idxlist | idxlist_src, |
Xt_idxlist | idxlist_dst, | ||
Xt_config | config ) |
Definition at line 683 of file xt_idxvec.c.
Xt_idxlist xt_idxvec_get_intersection | ( | Xt_idxlist | idxlist_src, |
Xt_idxlist | idxlist_dst, | ||
Xt_config | config ) |
Definition at line 605 of file xt_idxvec.c.
PPM_DSO_INTERNAL const Xt_int * xt_idxvec_get_sorted_vector | ( | Xt_idxlist | idxvec, |
Xt_config | config ) |
Definition at line 566 of file xt_idxvec.c.
Xt_idxlist xt_idxvec_new | ( | const Xt_int * | idxlist, |
int | num_indices ) |
generates a new index list based on an index vector
[in] | idxlist | array containing the global indices |
[in] | num_indices | number of indices in idxlist |
Definition at line 213 of file xt_idxvec.c.
Xt_idxlist xt_idxvec_prealloc_new | ( | const Xt_int * | idxvec, |
int | num_indices ) |
Definition at line 308 of file xt_idxvec.c.
Xt_idxlist xt_idxvec_unpack | ( | void * | buffer, |
int | buffer_size, | ||
int * | position, | ||
MPI_Comm | comm ) |
|
static |
Definition at line 158 of file xt_idxvec.c.
|
static |
Definition at line 135 of file xt_idxvec.c.