Module org.chocosolver
Class IntIterableSetUtils
- java.lang.Object
-
- org.chocosolver.util.objects.setDataStructures.iterable.IntIterableSetUtils
-
public class IntIterableSetUtils extends Object
Project: choco.
- Since:
- 25/01/2016.
- Author:
- Charles Prud'homme
-
-
Constructor Summary
Constructors Constructor Description IntIterableSetUtils()
-
Method Summary
-
-
-
Method Detail
-
extract
public static IntIterableRangeSet extract(IntVar var)
Copy the domain of var into anIntIterableRangeSet
.- Parameters:
var
- an integer variable- Returns:
- set to transfer values to
-
copyIn
public static void copyIn(IntVar var, IntIterableRangeSet set)
Copy the domain of var in set. First, it clears set, then it fills it with the value in var.- Parameters:
var
- an integer variableset
- set to transfer values to
-
complement
public static IntIterableRangeSet complement(IntIterableRangeSet set, int lbu, int ubu)
- Parameters:
set
- on which the complement is basedlbu
- lower bound (inclusive) of the universeubu
- upper bound (inclusive) of the universe- Returns:
- the complement of this set wrt to universe set [lbu, ubu]. Values smaller than lbu and greater than ubu are ignored.
-
plus
public static IntIterableRangeSet plus(IntIterableRangeSet set1, IntIterableRangeSet set2)
- Parameters:
set1
- a set of intsset2
- a set of ints- Returns:
- return a set {a + b | a in set1, b in set2}
-
plus
public static void plus(IntIterableRangeSet setr, IntIterableRangeSet set1, IntIterableRangeSet set2)
Set setr to {a + b | a in set1, b in set2}- Parameters:
setr
- set of intsset1
- a set of intsset2
- a set of ints
-
plus
public static void plus(IntIterableRangeSet setr, IntIterableRangeSet set1, int l, int u)
Set setr to {a + b | a in set1, b in [l..u]}- Parameters:
setr
- set of intsset1
- a set of intsl
- an intu
- an int
-
minus
public static IntIterableRangeSet minus(IntIterableRangeSet set1, IntIterableRangeSet set2)
- Parameters:
set1
- a set of intsset2
- a set of ints- Returns:
- return a set {a - b | a in set1, b in set2}
-
minus
public static void minus(IntIterableRangeSet setr, IntIterableRangeSet set1, IntIterableRangeSet set2)
Set setr to {a - b | a in set1, b in set2}- Parameters:
setr
- set of intsset1
- a set of intsset2
- a set of ints
-
minus
public static void minus(IntIterableRangeSet setr, IntIterableRangeSet set1, int l, int u)
Set setr to {a - b | a in set1, b in [l..u]}- Parameters:
setr
- set of intsset1
- a set of intsl
- an intu
- an int
-
intersection
public static IntIterableRangeSet intersection(IntIterableRangeSet set1, IntIterableRangeSet set2)
- Parameters:
set1
- a set of intsset2
- a set of ints- Returns:
- return a set = set1 ∩ set2
-
intersection
public static void intersection(IntIterableRangeSet setr, IntIterableRangeSet set1, IntIterableRangeSet set2)
Set setr to set1 ∩ set2- Parameters:
setr
- set of intsset1
- a set of intsset2
- a set of ints
-
intersection
public static void intersection(IntIterableRangeSet setr, IntIterableRangeSet set1, int from, int to)
Set setr to set1 ∩ [from,to]- Parameters:
setr
- set of intsset1
- a set of intsfrom
- lower bound of an intervalto
- upper bound of an interval
-
intersectionOf
public static boolean intersectionOf(IntIterableRangeSet set1, IntIterableRangeSet set2)
Set set1 to set1 ∩ set2- Parameters:
set1
- a set of intsset2
- a set of ints- Returns:
- true if set1 has changed
-
union
public static IntIterableRangeSet union(IntIterableRangeSet set1, IntIterableRangeSet set2)
- Parameters:
set1
- a set of intsset2
- a set of ints- Returns:
- return a set = set1 ∪ set2
-
union
public static void union(IntIterableRangeSet setr, IntIterableRangeSet set1, IntIterableRangeSet set2)
Set setr to set1 ∪ set2- Parameters:
setr
- set of intsset1
- a set of intsset2
- a set of ints
-
unionOf
public static boolean unionOf(IntIterableRangeSet set1, IntIterableRangeSet set2)
Set set1 to set1 ∩ set2- Parameters:
set1
- a set of intsset2
- a set of ints- Returns:
- true if set1 has changed
-
union
public static void union(IntIterableRangeSet set, IntVar var)
Put all value of var into set. TODO: more efficient operation- Parameters:
set
- a set of intsvar
- a integer variable
-
includedIn
public static boolean includedIn(IntVar var, IntIterableRangeSet set)
- Parameters:
var
- a variableset
- a set- Returns:
- true if var is included into set, false otherwise.
-
includedIn
public static boolean includedIn(IntIterableRangeSet set1, IntIterableRangeSet set2)
- Parameters:
set1
- a setset2
- a set- Returns:
- true if set1 is included into set2, false otherwise.
-
notIncludedIn
public static boolean notIncludedIn(IntVar var, IntIterableRangeSet set)
- Parameters:
var
- a variableset
- a set- Returns:
- true if var is not included into set, false otherwise.
-
intersect
public static boolean intersect(IntVar var, IntIterableRangeSet set)
- Parameters:
var
- a variableset
- a set- Returns:
- true if intersection of var and set is not empty, false otherwise.
-
intersect
public static boolean intersect(IntIterableRangeSet set1, IntIterableRangeSet set2)
- Parameters:
set1
- a setset2
- a set- Returns:
- true if intersection of set1 and set2 is not empty, false otherwise.
-
-