Yet Another eXchange Tool 0.11.1
Loading...
Searching...
No Matches
xt_core.h
Go to the documentation of this file.
1
16/*
17 * Keywords:
18 * Maintainer: Jörg Behrens <behrens@dkrz.de>
19 * Moritz Hanke <hanke@dkrz.de>
20 * Thomas Jahns <jahns@dkrz.de>
21 * URL: https://dkrz-sw.gitlab-pages.dkrz.de/yaxt/
22 *
23 * Redistribution and use in source and binary forms, with or without
24 * modification, are permitted provided that the following conditions are
25 * met:
26 *
27 * Redistributions of source code must retain the above copyright notice,
28 * this list of conditions and the following disclaimer.
29 *
30 * Redistributions in binary form must reproduce the above copyright
31 * notice, this list of conditions and the following disclaimer in the
32 * documentation and/or other materials provided with the distribution.
33 *
34 * Neither the name of the DKRZ GmbH nor the names of its contributors
35 * may be used to endorse or promote products derived from this software
36 * without specific prior written permission.
37 *
38 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS
39 * IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
40 * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
41 * PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER
42 * OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
43 * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
44 * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
45 * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
46 * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
47 * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
48 * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
49 */
50
51#ifndef XT_CORE_H
52#define XT_CORE_H
53
54#ifdef HAVE_CONFIG_H
55#include "config.h"
56#endif
57
58#include <inttypes.h>
59#include <limits.h>
60
61#include <mpi.h>
62
72typedef XT_INT Xt_int;
73#define Xt_int_dt (XT_INT_MPIDT)
74typedef unsigned XT_INT Xt_uint;
75#define Xt_uint_dt (XT_UINT_MPIDT)
76typedef uint64_t Xt_uid;
77#define XT_INT_MAX CONF_XT_INT_MAX
78#define XT_INT_MIN CONF_XT_INT_MIN
82#define XT_INT_FMT CONF_XT_INT_FMT
83
84typedef struct Xt_idxlist_ *Xt_idxlist;
85typedef struct Xt_xmap_ *Xt_xmap;
86typedef struct Xt_redist_ *Xt_redist;
87
96{
97 int start, size;
98};
99
105{
107};
108
117{
118 MPI_Aint start;
119 int size;
120 MPI_Aint stride;
121};
122
127void
128xt_initialize(MPI_Comm default_comm);
129
135void
136xt_finalize(void);
137
141int
142xt_initialized(void);
143
147int
148xt_finalized(void);
149
157
158
159#endif
160
161/*
162 * Local Variables:
163 * c-basic-offset: 2
164 * coding: utf-8
165 * indent-tabs-mode: nil
166 * show-trailing-whitespace: t
167 * require-trailing-newline: t
168 * End:
169 */
int MPI_Comm
Definition core.h:64
MPI_Aint stride
Definition xt_core.h:120
MPI_Aint start
Definition xt_core.h:118
Xt_idxlist list
Definition xt_core.h:154
int size
Definition xt_core.h:97
int start
Definition xt_core.h:97
int xt_finalized(void)
void xt_initialize(MPI_Comm default_comm)
Definition xt_init.c:70
int xt_initialized(void)
uint64_t Xt_uid
Definition xt_core.h:76
struct Xt_xmap_ * Xt_xmap
Definition xt_core.h:85
void xt_finalize(void)
Definition xt_init.c:92
XT_INT Xt_int
Definition xt_core.h:72
struct Xt_idxlist_ * Xt_idxlist
Definition xt_core.h:84
struct Xt_redist_ * Xt_redist
Definition xt_core.h:86
unsigned XT_INT Xt_uint
Definition xt_core.h:74