Ancestral Intervals

Moonshine.AncestralIntervals — Type
struct AncestralIntervals{T<:(AbstractVector{<:IntervalSets.AbstractInterval})} <: AbstractVector{IntervalSets.AbstractInterval}

Collection of intervals.

Meant to represent the set of intervals an edge/vertex is ancestral for. You might want to use the convenient shorthand AIs instead.

Implements the iteration interface and the array interface.

See also AI and Ω.

Fields

  • data::AbstractVector{<:IntervalSets.AbstractInterval}

Constructors

AncestralIntervals(data; simplify)

defined at /home/pfournier/Documents/Softwares/Moonshine.jl/src/AncestralIntervals.jl:78.

Arguments

If simplify = true, intervals contained in data are simplified: see simplify! for details.

Warning

Many methods assume AIs to be simplified. You might want to disable simplification to optimize a sequence of operation, but you should probably simplify the final result.

source
Moonshine.simplify! — Function
simplify!(ωs)

Simplify an AIs.

Two operations are performed:

  • connected intervals are merged together (see isdisconnected);
  • intervals are sorted by left endpoint.

–Internal–

source
Moonshine.isdisconnected — Function
isdisconnected(A, B)

True if intervals are disconnected, that is their intersection is empty and they do not share an endpoint.

–Internal–

source