Class IntervalsList
- java.lang.Object
-
- org.spaceroots.mantissa.utilities.IntervalsList
-
public class IntervalsList extends java.lang.ObjectThis class represents an intervals list.An interval list represent a list of contiguous regions on the real line. All intervals of the list are disjoints to each other, they are stored in ascending order.
The class supports the main set operations like union and intersection.
- See Also:
Interval
-
-
Constructor Summary
Constructors Constructor and Description IntervalsList()Build an empty intervals list.IntervalsList(double a, double b)Build an intervals list containing only one interval.IntervalsList(Interval i)Build an intervals list containing only one interval.IntervalsList(Interval i1, Interval i2)Build an intervals list containing two intervals.IntervalsList(IntervalsList list)Copy constructor.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method and Description static IntervalsListadd(IntervalsList list, Interval i)Add an intervals list and an interval.static IntervalsListadd(IntervalsList list1, IntervalsList list2)Add two intervals lists.voidaddToSelf(Interval i)Add an interval to the instance.voidaddToSelf(IntervalsList list)Add an intervals list to the instance.booleancontains(double x)Check if the list contains a point.booleancontains(Interval i)Check if the list contains an interval.doublegetInf()Get the lower bound of the list.IntervalgetInterval(int i)Get an interval from the list.java.util.ListgetIntervals()Get the ordered list of disjoints intervals.intgetSize()Get the number of intervals of the list.doublegetSup()Get the upper bound of the list.static IntervalsListintersection(IntervalsList list, Interval i)Intersect a list and an interval.static IntervalsListintersection(IntervalsList list1, IntervalsList list2)Intersect two intervals lists.booleanintersects(Interval i)Check if an interval intersects the instance.voidintersectSelf(Interval i)Intersects the instance and an interval.voidintersectSelf(IntervalsList list)Intersect the instance and another intervals list.booleanisConnex()Check if the instance is connected.booleanisEmpty()Check if the instance is empty.static IntervalsListsubtract(IntervalsList list, Interval i)Remove an interval from a list.static IntervalsListsubtract(IntervalsList list1, IntervalsList list2)Remove an intervals list from another one.voidsubtractFromSelf(Interval i)Remove an interval from the list.voidsubtractFromSelf(IntervalsList list)Remove an intervals list from the instance.
-
-
-
Constructor Detail
-
IntervalsList
public IntervalsList()
Build an empty intervals list.
-
IntervalsList
public IntervalsList(double a, double b)Build an intervals list containing only one interval.- Parameters:
a- first bound of the intervalb- second bound of the interval
-
IntervalsList
public IntervalsList(Interval i)
Build an intervals list containing only one interval.- Parameters:
i- interval
-
IntervalsList
public IntervalsList(Interval i1, Interval i2)
Build an intervals list containing two intervals.- Parameters:
i1- first intervali2- second interval
-
IntervalsList
public IntervalsList(IntervalsList list)
Copy constructor.The copy operation is a deep copy: the underlying intervals are independant of the instances of the copied list.
- Parameters:
list- intervals list to copy
-
-
Method Detail
-
isEmpty
public boolean isEmpty()
Check if the instance is empty.- Returns:
- true if the instance is empty
-
isConnex
public boolean isConnex()
Check if the instance is connected.An interval list is connected if it contains only one interval.
- Returns:
- true is the instance is connected
-
getInf
public double getInf()
Get the lower bound of the list.- Returns:
- lower bound of the list or Double.NaN if the list does not contain any interval
-
getSup
public double getSup()
Get the upper bound of the list.- Returns:
- upper bound of the list or Double.NaN if the list does not contain any interval
-
getSize
public int getSize()
Get the number of intervals of the list.- Returns:
- number of intervals in the list
-
getInterval
public Interval getInterval(int i)
Get an interval from the list.- Parameters:
i- index of the interval- Returns:
- interval at index i
-
getIntervals
public java.util.List getIntervals()
Get the ordered list of disjoints intervals.- Returns:
- list of disjoints intervals in ascending order
-
contains
public boolean contains(double x)
Check if the list contains a point.- Parameters:
x- point to check- Returns:
- true if the list contains x
-
contains
public boolean contains(Interval i)
Check if the list contains an interval.- Parameters:
i- interval to check- Returns:
- true if i is completely included in the instance
-
intersects
public boolean intersects(Interval i)
Check if an interval intersects the instance.- Parameters:
i- interval to check- Returns:
- true if i intersects the instance
-
addToSelf
public void addToSelf(Interval i)
Add an interval to the instance.This method expands the instance.
This operation is a union operation. The number of intervals in the list can decrease if the interval fills some holes between existing intervals in the list.
- Parameters:
i- interval to add to the instance
-
add
public static IntervalsList add(IntervalsList list, Interval i)
Add an intervals list and an interval.- Parameters:
list- intervals listi- interval- Returns:
- a new intervals list which is the union of list and i
-
subtractFromSelf
public void subtractFromSelf(Interval i)
Remove an interval from the list.This method reduces the instance. This operation is defined in terms of points set operation. As an example, if the [2, 3] interval is subtracted from the list containing only the [0, 10] interval, the result will be the [0, 2] U [3, 10] intervals list.
- Parameters:
i- interval to remove
-
subtract
public static IntervalsList subtract(IntervalsList list, Interval i)
Remove an interval from a list.- Parameters:
list- intervals listi- interval to remove- Returns:
- a new intervals list
-
intersectSelf
public void intersectSelf(Interval i)
Intersects the instance and an interval.- Parameters:
i- interval
-
intersection
public static IntervalsList intersection(IntervalsList list, Interval i)
Intersect a list and an interval.- Parameters:
list- intervals listi- interval- Returns:
- the intersection of list and i
-
addToSelf
public void addToSelf(IntervalsList list)
Add an intervals list to the instance.This method expands the instance.
This operation is a union operation. The number of intervals in the list can decrease if the list fills some holes between existing intervals in the instance.
- Parameters:
list- intervals list to add to the instance
-
add
public static IntervalsList add(IntervalsList list1, IntervalsList list2)
Add two intervals lists.- Parameters:
list1- first intervals listlist2- second intervals list- Returns:
- a new intervals list which is the union of list1 and list2
-
subtractFromSelf
public void subtractFromSelf(IntervalsList list)
Remove an intervals list from the instance.- Parameters:
list- intervals list to remove
-
subtract
public static IntervalsList subtract(IntervalsList list1, IntervalsList list2)
Remove an intervals list from another one.- Parameters:
list1- intervals listlist2- intervals list to remove- Returns:
- a new intervals list
-
intersectSelf
public void intersectSelf(IntervalsList list)
Intersect the instance and another intervals list.- Parameters:
list- list to intersect with the instance
-
intersection
public static IntervalsList intersection(IntervalsList list1, IntervalsList list2)
Intersect two intervals lists.- Parameters:
list1- first intervals listlist2- second intervals list- Returns:
- a new list which is the intersection of list1 and list2
-
-
DataMelt 3.0 © DataMelt by jWork.ORG