Ancestral Intervals

Moonshine.AncestralIntervalsType
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/runner/work/Moonshine.jl/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.isdisconnectedFunction
isdisconnected(A, B)

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

Internal

source