An extensible data structure for massive streaming graphs
|
#include "stinger-deprecated.h"
Data Structures | |
struct | stinger_edge |
A single edge in STINGER. More... | |
struct | stinger_eb |
An edge block in STINGER. More... | |
struct | stinger_vb |
A vertex block in STINGER. More... | |
struct | stinger_etype_array |
The edge type array. More... | |
struct | stinger |
The STINGER data structure. More... | |
struct | stinger_fragmentation_t |
struct | curs |
struct | stinger_iterator_internal |
Macros | |
#define | EBPOOL_SIZE (STINGER_MAX_LVERTICES*4) |
#define | STINGER_FORALL_EB_BEGIN(STINGER_, STINGER_SRCVTX_, STINGER_EBNM_) |
#define | STINGER_FORALL_EB_END() |
#define | STINGER_FORALL_EB_MODIFY_BEGIN(STINGER_, STINGER_SRCVTX_, STINGER_EBNM_) |
#define | STINGER_FORALL_EB_MODIFY_END() |
Typedefs | |
typedef uint64_t | eb_index_t |
Functions | |
int | stinger_eb_high (const struct stinger_eb *) |
int | stinger_eb_is_blank (const struct stinger_eb *, int) |
int64_t | stinger_eb_adjvtx (const struct stinger_eb *, int) |
int64_t | stinger_eb_weight (const struct stinger_eb *, int) |
int64_t | stinger_eb_ts (const struct stinger_eb *, int) |
int64_t | stinger_eb_first_ts (const struct stinger_eb *, int) |
int64_t | stinger_count_outdeg (struct stinger *G, int64_t v) |
struct curs | etype_begin (struct stinger_vb *v, int etype) |
void | update_edge_data (struct stinger *S, struct stinger_eb *eb, uint64_t index, int64_t neighbor, int64_t weight, int64_t ts) |
void | remove_edge (struct stinger *S, struct stinger_eb *eb, uint64_t index) |
void | new_ebs (eb_index_t *out, size_t neb, int64_t etype, int64_t from) |
void | push_ebs (struct stinger *G, size_t neb, eb_index_t *restrict eb) |
void | stinger_fragmentation (struct stinger *S, uint64_t NV, struct stinger_fragmentation_t *frag) |
Calculate statistics on edge block fragmentation in the graph. |
Variables | |
uint64_t | ebpool_tail |
struct stinger_eb * | ebpool |
#define EBPOOL_SIZE (STINGER_MAX_LVERTICES*4) |
Referenced by stinger_new().
#define STINGER_FORALL_EB_BEGIN | ( | STINGER_, | |
STINGER_SRCVTX_, | |||
STINGER_EBNM_ | |||
) |
#define STINGER_FORALL_EB_END | ( | ) |
#define STINGER_FORALL_EB_MODIFY_BEGIN | ( | STINGER_, | |
STINGER_SRCVTX_, | |||
STINGER_EBNM_ | |||
) |
#define STINGER_FORALL_EB_MODIFY_END | ( | ) |
typedef uint64_t eb_index_t |
|
read |
References curs::eb, stinger_eb::etype, curs::loc, stinger_eb::next, and readff().
Referenced by stinger_incr_edge().
void new_ebs | ( | eb_index_t * | out, |
size_t | neb, | ||
int64_t | etype, | ||
int64_t | from | ||
) |
References stinger_eb::etype, stinger_eb::largeStamp, MTASTREAMS, stinger_eb::smallStamp, stinger_eb::vertexID, and xzero().
void push_ebs | ( | struct stinger * | G, |
size_t | neb, | ||
eb_index_t *restrict | eb | ||
) |
References stinger_eb::etype, and STINGER_NUMETYPES.
Referenced by stinger_incr_edge(), and stinger_set_initial_edges().
void remove_edge | ( | struct stinger * | S, |
struct stinger_eb * | eb, | ||
uint64_t | index | ||
) |
int64_t stinger_count_outdeg | ( | struct stinger * | G, |
int64_t | v | ||
) |
int64_t stinger_eb_adjvtx | ( | const struct stinger_eb * | , |
int | |||
) |
References stinger_eb::edges, and stinger_edge::neighbor.
Referenced by stinger_consistency_check(), and stinger_save_to_file().
int64_t stinger_eb_first_ts | ( | const struct stinger_eb * | , |
int | |||
) |
References stinger_eb::edges, and stinger_edge::timeFirst.
Referenced by stinger_consistency_check(), and stinger_save_to_file().
int stinger_eb_high | ( | const struct stinger_eb * | ) |
References stinger_eb::high.
Referenced by stinger_save_to_file().
int stinger_eb_is_blank | ( | const struct stinger_eb * | , |
int | |||
) |
References stinger_eb::edges, and stinger_edge::neighbor.
Referenced by stinger_consistency_check(), stinger_fragmentation(), stinger_iterator_next(), stinger_save_to_file(), and stinger_sort_edge_list().
int64_t stinger_eb_ts | ( | const struct stinger_eb * | , |
int | |||
) |
References stinger_eb::edges, and stinger_edge::timeRecent.
Referenced by stinger_consistency_check(), and stinger_save_to_file().
int64_t stinger_eb_weight | ( | const struct stinger_eb * | , |
int | |||
) |
References stinger_eb::edges, and stinger_edge::weight.
Referenced by stinger_consistency_check(), and stinger_save_to_file().
void stinger_fragmentation | ( | struct stinger * | S, |
uint64_t | NV, | ||
struct stinger_fragmentation_t * | stats | ||
) |
Calculate statistics on edge block fragmentation in the graph.
S | The STINGER data structure |
NV | The total number of vertices |
References stinger_fragmentation_t::edge_blocks_in_use, stinger::ETA, stinger_fragmentation_t::fill_percent, stinger_eb::high, stinger_etype_array::high, stinger_eb::next, stinger_fragmentation_t::num_edges, stinger_fragmentation_t::num_empty_edges, stinger_fragmentation_t::num_fragmented_blocks, stinger_eb::numEdges, stinger_eb_is_blank(), stinger_edgeblocks(), and STINGER_EDGEBLOCKSIZE.
void update_edge_data | ( | struct stinger * | S, |
struct stinger_eb * | eb, | ||
uint64_t | index, | ||
int64_t | neighbor, | ||
int64_t | weight, | ||
int64_t | ts | ||
) |
References stinger_edge::neighbor, readfe(), readff(), stinger_edge::timeFirst, stinger_edge::timeRecent, stinger_edge::weight, writeef(), and writexf().
Referenced by stinger_incr_edge().
struct stinger_eb* ebpool |
uint64_t ebpool_tail |
comments powered by Disqus