COMBINATORIAL_BLAS  1.6
scramble_edges.h
Go to the documentation of this file.
1 /* Copyright (C) 2010 The Trustees of Indiana University. */
2 /* */
3 /* Use, modification and distribution is subject to the Boost Software */
4 /* License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at */
5 /* http://www.boost.org/LICENSE_1_0.txt) */
6 /* */
7 /* Authors: Jeremiah Willcock */
8 /* Andrew Lumsdaine */
9 
10 #ifndef SCRAMBLE_EDGES_H
11 #define SCRAMBLE_EDGES_H
12 
13 #include <stdint.h>
14 #include "splittable_mrg.h"
15 #include "graph_generator.h"
16 
17 #ifdef GRAPH_GENERATOR_MPI
18 #include <mpi.h>
19 #endif
20 
21 #ifdef __cplusplus
22 extern "C" {
23 #endif
24 
25 /* This version is for sequential machines, OpenMP, and the XMT. */
26 void scramble_edges_shared(uint64_t userseed1, uint64_t userseed2, int64_t nedges, int64_t* result /* Input and output array of edges (size = 2 * nedges) */);
27 
28 #ifdef GRAPH_GENERATOR_MPI
29 /* For MPI distributed memory. */
30 void scramble_edges_mpi(MPI_Comm comm,
31  const uint64_t userseed1, const uint64_t userseed2,
32  const int64_t local_nedges_in,
33  const int64_t* const local_edges_in,
34  int64_t* const local_nedges_out_ptr,
35  int64_t** const local_edges_out_ptr /* Allocated using xmalloc() by scramble_edges_mpi */);
36 #endif
37 
38 #ifdef __cplusplus
39 }
40 #endif
41 
42 #endif /* SCRAMBLE_EDGES_H */
void scramble_edges_shared(uint64_t userseed1, uint64_t userseed2, int64_t nedges, int64_t *result)
long int64_t
Definition: compat.h:21