Opened 8 months ago

Closed 7 months ago

#30443 closed enhancement (fixed)

Simplify setting and getting "edges" of edges, ridges, incidences in `CombinatorialPolyhedron`

Reported by: gh-kliem Owned by:
Priority: minor Milestone: sage-9.2
Component: geometry Keywords: code duplication, combinatorial polyhedron
Cc: tscrim Merged in:
Authors: Jonathan Kliem Reviewers: Travis Scrimshaw
Report Upstream: N/A Work issues:
Branch: bde0945 (Commits, GitHub, GitLab) Commit: bde0945bb556f9b68944e9d6f8fb8f178659fbc3
Dependencies: Stopgaps:

Status badges

Description

In CombinatorialPolyhedron the same very basic DiGraph data structure is used for three different purposes:

  • edges,
  • ridges,
  • incidences.

We collect setting and getting of edges in two methods to reduce code duplication.

Background:

The idea is to collect edges of a graph almost without overhead. Currently up to 16348 edges are saved in a list of length 2*16348*sizeof(size_t). To allow more edges (while avoiding large chunks of continuous memory), we keep the edges in a lists of lists.

Change History (5)

comment:1 Changed 8 months ago by gh-kliem

  • Status changed from new to needs_review

comment:2 Changed 8 months ago by mkoeppe

  • Cc tscrim added

comment:3 Changed 7 months ago by tscrim

  • Reviewers set to Travis Scrimshaw
  • Status changed from needs_review to positive_review

LGTM.

comment:4 Changed 7 months ago by gh-kliem

Thanks.

comment:5 Changed 7 months ago by vbraun

  • Branch changed from u/gh-kliem/simplify_edges_ridges to bde0945bb556f9b68944e9d6f8fb8f178659fbc3
  • Resolution set to fixed
  • Status changed from positive_review to closed
Note: See TracTickets for help on using tickets.