Yet Another eXchange Tool 0.11.3
Loading...
Searching...
No Matches
xt_xmap_dist_dir_bucket_gen2.h
Go to the documentation of this file.
1
12/*
13 * Keywords:
14 * Maintainer: Jörg Behrens <behrens@dkrz.de>
15 * Moritz Hanke <hanke@dkrz.de>
16 * Thomas Jahns <jahns@dkrz.de>
17 *
18 * URL: https://dkrz-sw.gitlab-pages.dkrz.de/yaxt/
19 *
20 * Redistribution and use in source and binary forms, with or without
21 * modification, are permitted provided that the following conditions are
22 * met:
23 *
24 * Redistributions of source code must retain the above copyright notice,
25 * this list of conditions and the following disclaimer.
26 *
27 * Redistributions in binary form must reproduce the above copyright
28 * notice, this list of conditions and the following disclaimer in the
29 * documentation and/or other materials provided with the distribution.
30 *
31 * Neither the name of the DKRZ GmbH nor the names of its contributors
32 * may be used to endorse or promote products derived from this software
33 * without specific prior written permission.
34 *
35 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS
36 * IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
37 * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
38 * PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER
39 * OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
40 * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
41 * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
42 * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
43 * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
44 * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
45 * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
46 */
47
48#ifndef XT_XMAP_DIST_DIR_BUCKET_GEN2_H
49#define XT_XMAP_DIST_DIR_BUCKET_GEN2_H
50
51#ifdef HAVE_CONFIG_H
52#include <config.h>
53#endif
54
55#include <stddef.h>
56
57#include <mpi.h>
58
60#include <xt/xt_idxlist.h>
61#include <xt/xt_config.h>
62
68
73
75 void *gen_state,
76 Xt_idxlist src_idxlist,
77 Xt_idxlist dst_idxlist,
78 Xt_config config,
79 const struct Xt_xmdd_bucket_gen_comms *comms,
80 void *init_params);
81
82typedef void (*Xt_xmdd_bucket_gen_destroy_state)(void *gen_state);
83
85 void *gen_state, int type);
86
87typedef struct Xt_com_list (*Xt_xmdd_bucket_gen_next)(
88 void *gen_state, int type);
89
90
116void
121 Xt_xmdd_bucket_gen_get_intersect_max_num get_intersect_max_num,
123 size_t gen_state_size,
124 void *init_params);
125
126#endif // XT_XMAP_DIST_DIR_BUCKET_GEN_H
127
128/*
129 * Local Variables:
130 * c-basic-offset: 2
131 * coding: utf-8
132 * indent-tabs-mode: nil
133 * show-trailing-whitespace: t
134 * require-trailing-newline: t
135 * End:
136 */
int MPI_Comm
Definition core.h:64
opaque configuration object for settings where the default needs to be overridden
index list declaration
int(* Xt_xmdd_bucket_gen_init_state)(void *gen_state, Xt_idxlist src_idxlist, Xt_idxlist dst_idxlist, Xt_config config, const struct Xt_xmdd_bucket_gen_comms *comms, void *init_params)
void xt_xmdd_bucket_gen_define_interface(Xt_xmdd_bucket_gen gen, Xt_xmdd_bucket_gen_init_state init, Xt_xmdd_bucket_gen_destroy_state destroy, Xt_xmdd_bucket_gen_get_intersect_max_num get_intersect_max_num, Xt_xmdd_bucket_gen_next next, size_t gen_state_size, void *init_params)
void(* Xt_xmdd_bucket_gen_destroy_state)(void *gen_state)
@ Xt_dist_dir_bucket_gen_type_send
@ Xt_dist_dir_bucket_gen_type_sendrecv
@ Xt_dist_dir_bucket_gen_type_recv
int(* Xt_xmdd_bucket_gen_get_intersect_max_num)(void *gen_state, int type)
struct Xt_com_list(* Xt_xmdd_bucket_gen_next)(void *gen_state, int type)