18 SEXP O, On, Name, Color, Deme;
20 PROTECT(O = NEW_LIST(size));
21 PROTECT(On = NEW_CHARACTER(size));
22 PROTECT(Name = NEW_INTEGER(1));
23 *INTEGER(Name) = int(
uniq);
24 PROTECT(Color = NEW_CHARACTER(1));
29 PROTECT(Deme = NEW_INTEGER(1));
30 *INTEGER(Deme) = int(
deme());
44 PROTECT(o = NEW_LIST(size()));
46 for (
ball_rev_it i = crbegin(); i != crend(); i++) {
47 SET_ELEMENT(o,k++,(*i)->structure());
58 PROTECT(O = NEW_LIST(4));
59 PROTECT(On = NEW_CHARACTER(4));
74 PROTECT(Nodes = NEW_LIST(size()));
87 SEXP O, On, T0, Time, Nodes, Ndeme;
88 PROTECT(O = NEW_LIST(4));
89 PROTECT(On = NEW_CHARACTER(4));
90 PROTECT(Time = NEW_NUMERIC(1));
91 *REAL(Time) = double(
time());
92 PROTECT(T0 = NEW_NUMERIC(1));
94 PROTECT(Ndeme = NEW_INTEGER(1));
95 *INTEGER(Ndeme) = int(
ndeme());
name_t deme(void) const
view deme
SEXP structure(void) const
R list description.
bool is(color_t c) const
is a given ball of the given color?
string_t color_symbol(void) const
machine-readable color symbols
SEXP structure(void) const
R list description.
size_t ndeme(void) const
number of demes
slate_t & timezero(void)
view/set zero time.
slate_t & time(void)
view/set current time.
Encodes a genealogical node.
SEXP structure(void) const
R list description.
name_t deme(void) const
view deme
SEXP structure(void) const
R list description.
SEXP structure(void) const
R list description.
static int set_list_elem(SEXP list, SEXP names, SEXP element, const char *name, int pos)
std::set< ball_t *, ball_order >::const_reverse_iterator ball_rev_it