1608{
1609 buffer o;
1610 int level;
1611 int maxlevel = reslevel.size() - 1;
1614 for (level = 0; level < reslevel.size(); level++)
1615 {
1616 for (res_pair *
p = reslevel[level];
p !=
nullptr;
p =
p->next)
1617 {
1619 d -= level;
1621 bettis[level + (maxlevel + 1) * d] += 1;
1622 }
1623 }
1624
1625
1627 int hi = maxdegree;
1628 int len = maxlevel;
1629 int totallen = 3 + (hi - lo + 1) * (len + 1);
1631
1632 betti->array[0] = lo;
1633 betti->array[1] = hi;
1634 betti->array[2] = len;
1635 int next = 3;
1636
1637 for (
int d = 0; d <= maxdegree -
lodegree; d++)
1638 for (level = 0; level <= maxlevel; level++)
1639 betti->array[next++] = bettis[level + (maxlevel + 1) * d];
1640
1643
1644 for (level = 0; level <= maxlevel; level++)
1645 {
1646 o <<
"---- level " << level <<
" ----" <<
newline;
1647 for (res_pair *
p = reslevel[level];
p !=
nullptr;
p =
p->next)
1648 {
1651 o << ' ';
1653 }
1654 }
1656}
static void betti_display(buffer &o, M2_arrayint a)
int degree(const res_pair *q) const
void text_out(const res_pair *p) const
int skeleton_maxdegree(const VECTOR(res_pair *)&reslevel)
M2_arrayint M2_makearrayint(int n)
#define newarray_atomic_clear(T, len)