COMBINATORIAL_BLAS 1.6
 
Loading...
Searching...
No Matches
make_graph.h
Go to the documentation of this file.
1/* Copyright (C) 2009-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 MAKE_GRAPH_H
11#define MAKE_GRAPH_H
12
13#include <stdint.h>
14#include "graph_generator.h"
15
16#ifdef __cplusplus
17extern "C" {
18#endif
19
20/* Simplified interface for users; implemented in different ways on different
21 * platforms. */
23 /* in */ int log_numverts /* log_2 of vertex count */,
24 /* in */ int64_t desired_nedges /* Target number of edges */,
25 /* in */ uint64_t userseed1 /* Arbitrary 64-bit seed value */,
26 /* in */ uint64_t userseed2 /* Arbitrary 64-bit seed value */,
27 /* out */ int64_t* nedges /* Number of generated edges */,
28 /* out */ packed_edge** result /* Array of edges; allocated by
29 make_graph() but must be freed using
30 free() by user */
31 /* See functions in graph_generator.h for the definition of and how to
32 * manipulate packed_edge objects (functions are write_edge,
33 * get_v0_from_edge, get_v1_from_edge). */
34);
35
36/* PRNG interface for implementations; takes seed in same format as given by
37 * users, and creates a vector of doubles in a reproducible (and
38 * random-access) way. */
40 /* in */ int64_t nvalues /* Number of values to generate */,
41 /* in */ uint64_t userseed1 /* Arbitrary 64-bit seed value */,
42 /* in */ uint64_t userseed2 /* Arbitrary 64-bit seed value */,
43 /* in */ int64_t position /* Start index in random number stream */,
44 /* out */ double* result /* Returned array of values */
45);
46
47#ifdef __cplusplus
48}
49#endif
50
51#endif /* MAKE_GRAPH_H */
long int64_t
Definition compat.h:21
void make_graph(int log_numverts, int64_t desired_nedges, uint64_t userseed1, uint64_t userseed2, const double initiator[4], int64_t *nedges, int64_t **result)
void make_random_numbers(int64_t nvalues, uint64_t userseed1, uint64_t userseed2, int64_t position, double *result)
unsigned __int64 uint64_t
Definition stdint.h:90