#include "config.h" #include #include #include #include #include #include "simple-graphr.h" const void *full_first_edge_r(const struct agar_graph *gr, const void *nr) { return int2ptr(1); } const void *full_next_edge_r(const struct agar_graph *gr, const void *nr, const void *e) { struct full_graphr *fgr = container_of(gr, struct full_graphr, gr); int ni = ptr2int(e); ni += 1; if (ni <= fgr->nnodes) return int2ptr(ni); else return NULL; } static int full_edge_info_r(const struct agar_graph *gr, const void *nr, const void *edge, struct agar_edge_info *eir) { eir->to = edge; return 0; } void full_graphr_init(struct full_graphr *fgr, int nnodes) { fgr->nnodes = nnodes; agar_init_graph(&fgr->gr, full_first_edge_r, full_next_edge_r, full_edge_info_r); }