Module interval::interval
[−]
[src]
Closed and bounded generic interval.
Let D
be an ordered set and {i,j} ∈ D
. The interval I
whose bounds are {i,j}
is defined as I = {x ∈ D | i <= x <= j}
and is denoted as [i..j]
. Only interval with bound types implementing Num
and Width
is currently available.
Most of the operations in gcollections::ops::*
are implemented. Intervals specific operations, proposed in ops::*
, are also implemented. There is no union
operation since this interval representation is not precise enough, and so an union could be over-approximated. For example, consider [1..2] U [5..6]
, the only possible representation is [1..6]
which is not exact by the definition of union of sets. However, this operation exists and is named hull
.
Examples
extern crate gcollections; extern crate interval; use interval::Interval; use interval::ops::*; use gcollections::ops::*; let a = Interval::new(0, 5); let b = Interval::singleton(10); let c = a.hull(&b); let d = c.difference(&a); assert_eq!(c, Interval::new(0,10)); assert_eq!(d, Interval::new(6,10));
See also
Structs
Interval |
Closed interval (endpoints included). |
Traits
ToInterval |